Javascript未捕获错误undefined不是监听器中的函数

时间:2014-09-28 19:22:06

标签: javascript function appendchild addchild

 var HelloWorldLayer = cc.Layer.extend({
sprite:null,
ctor:function(){
    var myWorld;
    this._super();
            var winsize = cc.director.getWinSize();
    myWorld = new cc.Sprite(res.HelloWorld_png);
    myWorld.attr({
        x: winsize.width / 2,
        y: winsize.height / 2,
        scale: 1,
        rotation: 180
    });
    this.addChild(myWorld, 0);
    var centerpos = cc.p(winsize.width / 2, winsize.height / 2);
    cc.eventManager.addListener(cc.EventListener.create({
        event: cc.EventListener.TOUCH_ALL_AT_ONCE,
        onTouchesBegan: function(touches, event) {
            console.log("onTouchesBegan!");
            var spritebg;
            for(var i = 0; i < 10; i++){
                spritebg = cc.Sprite.create(res.Hat_png);
                spritebg.setPosition(
                     (Math.floor(Math.random() * 600) + 100),
                     (Math.floor(Math.random() * 600) + 100));              
                //this.addChild(spritebg);
                myWorld.appendChild(spritebg);
            }   
        }
    }), this);

 }  
 });

无论我做什么,当我点击屏幕时尝试添加孩子时,我都会遇到同样的错误。我是javascript的新手,并没有真正掌握这门语言。当我尝试在函数中添加子项时,我收到了相同的错误消息。

1 个答案:

答案 0 :(得分:0)

看了Cocos2D reference for cc.Sprite后,似乎appendChild对象上没有方法Sprite。你得到的错误是因为你试图调用一个不存在的方法。

也许你想要myWorld.addChild(spritebg);而不是?