cocos2d-x 2.2.3
想做一个带有hp、id和ap的精灵,于是创建了类BulletSprite ,他继承自CCSprite
class BulletSprite : public CCSprite
但是在使用的时候,却无法使用父类的构造函数。
BulletSprite* pBullet=CCSprite::createWithSpriteFrameName(“bullet0.png”);
或
BulletSprite* pBullet=BulletSprite::createWithSpriteFrameName(“bullet0.png”);
都不行,报错说:
rror C2440: “=”: 无法从“cocos2d::CCSprite ”转换为“BulletSprite ”
1> 从基类型到派生类型的强制转换需要 dynamic_cast 或 static_cast
我继承父类就是想要在父类的基础上添加属性,并使用父类的函数啊!如果我不能使用父类的函数,我还继承他干什么!愁!但是既然报错说要使用dynamic_cast 或 static_cast
好吧,于是我这样写:
BulletSprite pBullet = dynamic_cast<BulletSprite>(CCSprite::createWithSpriteFrameName(“bullet0.png”));
生成时不报错了,但是运行时报错,我BulletSprite类里新加的属性直接不能使用!这样完全失去子类的意义了啊!愁!求问,如何继承一个类同时,我的子类可以使用父类的构造函数进行构造,子类又可以有自己的属性?