cocos2d-js获得其它Layer层对象

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();
    }
});


 

 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值