Javascript this.addChild不是cocos2d js函数
我是cocos2djs新手,我想简化我的代码,但我在代码方面遇到了问题Javascript this.addChild不是cocos2d js函数,javascript,cocos2d-js,Javascript,Cocos2d Js,我是cocos2djs新手,我想简化我的代码,但我在代码方面遇到了问题 var GameLayerEasy = cc.Layer.extend({ ctor:function () { // 1. super init first this._super(); this.addBG4(); }, addBG4: function(){ var size = cc.director.getWinSize(); var sprite = new cc.S
var GameLayerEasy = cc.Layer.extend({
ctor:function () {
// 1. super init first
this._super();
this.addBG4();
},
addBG4: function(){
var size = cc.director.getWinSize();
var sprite = new cc.Sprite.create(res.BG4_png);
sprite.setPosition(size.width / 2, size.height / 2);
this.addChild(sprite, 0);
}
});
这段代码没问题,但我有很多游戏层实例,使用相同的addBG4,如果我在每个游戏层中都再次键入addBG4函数,则效率不高,因此我尝试像这样更改代码
var GameLayerEasy = cc.Layer.extend({
ctor:function () {
// 1. super init first
this._super();
addBG4();
},
});
function addBG4(){
var size = cc.director.getWinSize();
var sprite = new cc.Sprite.create(res.BG4_png);
sprite.setPosition(size.width / 2, size.height / 2);
this.addChild(sprite,0);
}
但是我得到了这个错误。addChild不是一个函数
有人能帮我写代码吗?请告诉我这有什么问题,谢谢
function addBG4(){
var size = cc.director.getWinSize();
var sprite = new cc.Sprite(res.BG4_png);
sprite.setPosition(size.width / 2, size.height / 2);
this.addChild(sprite,0);
}
我想现在,
我正在这样尝试,我的代码正在运行
var GameLayerEasy = cc.Layer.extend({
ctor:function () {
this._super();
addBG4(this);
},
});
function addBG4(that){
var size = cc.director.getWinSize();
var sprite = new cc.Sprite.create(res.BG4_png);
sprite.setPosition(size.width / 2, size.height / 2);
that.addChild(sprite,0);
}
这只是一个JavaScript问题。没什么关系。在第一个示例中,“this”代表GameLayerEasy实例,而在第二个示例中,它是全局的,即窗口对象。@ПаааааГааааа感谢您的解释。但我仍然对此感到困惑谢谢你的帮助,我正试图根据你的建议修改我的代码,但我仍然有错误,因为sprite不是构造函数,因为它要么是新的cc.Spriteres.BG4\u png;或抄送。精灵。创建。。。我已经提交了一个编辑。另外,不需要addChild调用中的“新”部分,以及最后一部分-这不会解决范围问题。@ММаааГааааааааааааа。