【问题标题】:Cocos2d-js EditBox zOrder not workingCocos2d-js EditBox zOrder 不工作
【发布时间】:2014-08-01 12:44:02
【问题描述】:

我的图层上有一个编辑框。

var ebox = new cc.EditBox(cc.p(200, 30));
ebox.setPosition(size.width / 2 - 50, size.height / 2);
ebox.setPlaceHolder("Password");
ebox.setInputFlag(cc.EDITBOX_INPUT_FLAG_PASSWORD);
ebox.setDelegate(this);
ebox.setFontColor({"r": 0, "g": 0, "b": 0});
ebox.setFontSize(20);
ebox.initWithBackgroundColor(cc.size(200, 30), {"r": 0, "g": 255, "b": 0});
ebox.init();

this.addChild(ebox, 1); //this - is a main layer

然后我必须在主层上显示某种叠加层

this.getParent().addChild(overlayLayer, 100);

overlayLayer - 填充颜色的图层

问题是编辑框始终位于叠加层之上。为什么 zOrder 不能与 EditBox 一起使用??

【问题讨论】:

  • 为什么不把它和盒子加到同一层呢? this.addChild(overlayLayer, 100);
  • 迈克尔,也一样。我什么都试过了。

标签: javascript cocos2d-html5 cocos2d-js


【解决方案1】:

你的代码也有同样的问题。我的解决方案是一种解决方法。您可以使用精灵作为背景。然后就可以了。

    var ebox = cc.EditBox.create(cc.size(170, 50), cc.Scale9Sprite.create("res/extensions/green_edit.png"), cc.Scale9Sprite.create("res/extensions/orange_edit.png"));
    ebox.setPlaceHolder("Password");
    ebox.setInputFlag(cc.EDITBOX_INPUT_FLAG_PASSWORD);
    ebox.setPosition(cc.p(size.width/2,size.height/2));
    ebox.setFontColor({"r": 0, "g": 0, "b": 0});
    ebox.setDelegate(this);
    this.addChild(ebox,1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多