【问题标题】:Javascript uncaught error undefined is not a function in listenerJavascript未捕获的错误未定义不是侦听器中的函数
【发布时间】:2014-11-23 04:25:42
【问题描述】:
 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 新手,并没有真正了解该语言。当我尝试在函数中添加子项时,我收到了相同的错误消息。

【问题讨论】:

  • 错误出现在哪一行?
  • myWorld.appendChild(spritebg);

标签: javascript function appendchild addchild


【解决方案1】:

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

也许您想要myWorld.addChild(spritebg); 代替?

【讨论】:

  • 试过但失败了。也试过 this.addChild(spritebg)
猜你喜欢
  • 1970-01-01
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2014-12-13
相关资源
最近更新 更多