我正在創建基於級別的遊戲。很難覆蓋不同級別的SVG文件。覆蓋cocos2dx中的函數
這裏是編碼,
HelloWorld.cpp
const char* HelloWorld::SVGFileName() //virtual function
{
return NULL;
}
CCScene* HelloWorld::scene()
{
CCScene *scene = CCScene::create();
HelloWorld *game = HelloWorld::create();
GameHUD *hud = GameHUD::HUDWithGameNode(game);
game->hud_ = hud;
scene->addChild(game);
scene->addChild(hud, 10);
return scene;
}
level1.h
class CC_DLL level1: public HelloWorld
{
public:
level1();
~level1();
const char* SVGFileName();
void addBodyNode(BodyNode* node,int zOrder);
void initGraphics();
};
level1.cpp
const char* level1::SVGFileName()
{
CCLog("LevelSVG: level: override me");
return ("test3.svg");
}
SelectLevelScene.cpp
void SelectLevelScene::level0()
{
CCDirector::sharedDirector()->replaceScene(level1::scene());
}
我的問題是,
我不能夠在level1.cpp覆蓋功能SVGFileName()。我的代碼有問題嗎?
任何想法解決它?
是什麼意思,你不能?編譯器拋出錯誤或函數沒有調用? –
@WezSieTato:編譯器拋出的是「CCAssert(pszRelativePath!= NULL,」CCFileUtils:Invalid path「);」。該功能沒有打電話。 – Vanarajan