New cc.sprite()时的问题

var EnemySprite=cc.Sprite.extend({
    init : function(type){
        
            this.pEnemySprite = new cc.Sprite(cc.spriteFrameCache.getSpriteFrame(enemyModel.pic));

            this.pEnemySprite.setScale(enemyModel.scale);
                       var enemySize = this.pEnemySprite.getContentSize();
        }
    },
});

```


首先是在debug的时候,查看变量一栏中,一点开this.pEnemySprite就会报错程序崩溃。
然后var enemySize = this.pEnemySprite.getContentSize();取不到值
最后,一run程序,也同样是崩溃。

不知道哪里出了问题?求指导

楼主this._super没有调用。
另外如果继承的话,最好初始化写在ctor中,init是引擎内部自己调用的,不建议重写。

请问你这个是在IDE中调试的时候出的问题吗?

是的~~~~~~~~~~~~~~~ 不过 应该是cc.spriteFrameCache在addframes时候的问题

ctor应该不能传递参数type吧, 对js这个继承不是很了解。
然后 发现问题主要是出在cc.spriteFrameCache.addSpriteFrames(“res/pig.plist”);上
里面pig.plist命名有有一个key为n1.png
但是getSpriteFrame(“n1.png”)就报错。
不知道 是什么情况?

ctor是可以传递参数的。

“但是getSpriteFrame(“n1.png”)就报错”

能否将错误信息打印出来?

传参数的方法可以参考这个帖子
http://www.cocoachina.com/bbs/read.php?tid=226627&page=e&fpage=1#a

感谢 问题已经解决了 是我spriteFrameCache没有用对。

谢谢,问题已解决。