您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-js获得其它Layer层对象

2016-01-28 14:54 387 查看
cocos2d-js当中有时候一个scene由好几个Layer组成、为了逻辑更为清晰、经常要在不同的Layer处理不同的事情。比如说控制层ControlLayer要控制MainLayer当中添加一个精灵

代码如下:

var MainScene = cc.Scene.extend({
onEnter: function () {
this._super();
mainLayer = new MainLayer();
this.addChild(mainLayer, 1, 1); //参数三是为了后面找到mainlayer对象
});


<pre name="code" class="java">var MainLayer = cc.Layer.extend({
ctor: function () {
this._super();
var sprite = new cc.Sprite(res.sprite);
this.addChild(sprite);
},
addSprite: function(){   //用ControlLayer层调用这个函数来添加精灵
var cover = new cc.Sprite(res.coverCard); //覆盖在column牌组上的牌 有三个位置
cover.attr({
x: 100,
y: 100,
scaleX: scaleXY,
scaleY: scaleXY
});
//因为此刻this为ControlLayer对象 用this.addchild(cover,2);显示不出来精灵
self = cc.director.getRunningScene().getChildByTag(1);//通过获取scene然后用getChildByTag来得到MainLayer对象
self.addChild(cover,2);
});








然后新建一个ControlLayer作为控制MainLayer层

<pre name="code" class="java">var ControlLayer = cc.Layer.extend({
ctor: function(){
this._super();
var layer = new MainLayer();
layer.addSprite();
}
});





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: