今天在写cocos2dx-js代码时发现一个问题
就是在onTouchBegan(touch,event)
{
}里面使用this.removeChild()时发生错误
//原因是cocosjs与c++ cocos之间存在差异
//触摸开始 onTouchBegan:function (touch,event) { var _size =cc.director.getWinSize(); var point=touch.getLocation(); var rect=cc.rect(_size.width/2-30,_size.height/2-30,60,60); if (cc.rectContainsPoint(rect,point)) { //this.removeChild(this.tip,true); var asd = cc.director.getRunningScene().getChildByTag(1000); asd.removeChild(asd.tip); asd.removeChild(asd.clip); //this.removeChild(clip); //this.removeChild(this.tip); //this.removeChild(this.clip); //removeAllChildren(); return true; } return false; },
//我们无法再onTouchBegan中使用this引用。所以我们需要使用总管来获取我们当前场景中的当前层
cc.director.getRunningScene().getChildByTag(); 来获取当前层,得到当前层以后我们就可以获取当前层的属性了
原文链接:https://www.f2er.com/cocos2dx/345338.html