永发信息网

cocos2d-x 将继承了sprite的自定义sprite类addchild到layer中的问题

答案:1  悬赏:10  手机版
解决时间 2021-03-17 15:14
  • 提问者网友:沉默的哀伤
  • 2021-03-16 18:05
cocos2d-x 将继承了sprite的自定义sprite类addchild到layer中的问题
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-03-16 19:00
你的类方法定义的方式很难看,而且也有问题,没有在类方法中调对bool init()方法。
MarioHeroSprite* MarioHeroSprite::createMarioHeroSprite(){

    //利用缓存创建显示部分的精灵
    MarioHeroSprite* tmp = new MarioHeroSprite();
    if(tmp)
    {
    tmp->autorealse();

    tmp->init();

    }else{
    return NULL;    
    }
}init方法也写有问题。
bool MarioHeroSprite::init(){
    //在这里加一句调用Sprite的的初始化方法

    if(cocos2d::Sprite::init() == false)

    {
        return;

    }

    moveRightCache = cocos2d::Director::getInstance()->getTextureCache()->addImage("Mario_move_right.png");
    this->setTexture(moveRightCache);
   this->setTextureRect(cocos2d::Rect(356, 2, 146, 256));
    //.....下边是你的代码,

return true;

}因为你没有调用Sprite的初始化方法.


具体的怎么使用一个图片创建精灵,你可以参考一下Sprite::create("filename");这个精灵原来的方法。你这种创建精灵的方法看起来很别扭,也很凌乱。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯