cocos2dx吧 关注:11,008贴子:33,691
  • 18回复贴,共1

关于实例化继承ccsprite的类

只看楼主收藏回复

class A extend ccsprite{}
A类就是继承精灵类的,怎么初始化精灵,我猜在A类构造函数中应该有个属性可以this.?=ccsprite.sprite(),然后在其他调用的地方new A就好了,但是找了就一个parent_很有可能,用了没效果,求解


IP属地:福建来自Android客户端1楼2014-12-27 11:20回复
    直接重写Sprite 的create()


    IP属地:湖南4楼2014-12-29 11:04
    收起回复
      2025-12-29 07:14:13
      广告
      不感兴趣
      开通SVIP免广告
      具体参数 和函数里的处理根据你自己的需求来改。


      IP属地:湖南5楼2014-12-29 11:04
      收起回复
        复写父类的init()方法可以进行初始化,不过不能传参。如果想在创建并初始化时传参数进去,可以仿效源码的静态create方法自己写一个带参数的create方法,在内部调用自己写的init方法。


        IP属地:河北来自Android客户端7楼2015-01-04 22:44
        回复
          class MySprite : public Sprite
          {
          public:
          static MySprite* create(const std::string& filename)
          {
          MySprite* sp = new MySprite;
          if (sp && sp->initWithFile(filename))
          {
          sp->autorelease();
          return sp;
          }
          delete sp;
          return nullptr;
          }
          bool initWithFile(const std::string& filename)
          {
          if (!Sprite::initWithFile(filename))
          {
          return false;
          }
          _playerHp = 100;// just a test
          return true;
          }
          void setHp(int num)
          {
          _playerHp = num;
          }
          private:
          int _playerHp;
          };


          8楼2015-01-13 19:23
          收起回复