繼承CCSprite類,初始化就報錯

2021-07-25 18:23:04 字數 774 閱讀 9009

最近用pop cap的寶石迷陣資源練練cocos2d-x。不想遇到個問題,本人才疏學淺,實在不知道咋解決,求大夥幫忙看看。

寫寶石類,繼承ccsprite,如下

class ccblock : public cocos2d::ccsprite

public:

jeweltype gettype() 

void settype(int value) 

bool getwillremove()

void setwillremove(bool b) 

int getmovestep() 

void setmovestep(int step) 

};

然後在遊戲層中初始化它:

void gamelayer::initblocks()

}

這裡就出現問題了。

如果在除錯模式下(f5執行),程式可以正常執行。

但是如果直接(ctrl+f5)的話,就「停止執行」,除錯的話說的「堆已損壞」,但偶然也能執行。

把debug或者release資料夾加上資源檔案拷出去的話,執行一定是「停止執行」。

把上面的「block->setwillremove(false)」 和 「block->setmovestep(0)」去掉的話能執行。

block->settype(type)這句 卻對程式沒什麼影響,詭異啊。

整了2、3天,也沒找到什麼原因。

求大神指點一下。感激不盡!

版本用的2.1.4 和2.1.4f均有這個問題。

繼承CCSprite類,初始化就報錯

最近用pop cap的寶石迷陣資源練練cocos2d x。不想遇到個問題,本人才疏學淺,實在不知道咋解決,求大夥幫忙看看。寫寶石類,繼承ccsprite,如下 class ccblock public cocos2d ccsprite public jeweltype gettype void se...

繼承類的初始化

執行時,先訪問main函式。載入器開始啟動並找出該類的編譯 載入時,由於extends知道有乙個基類,於是載入基類。如果基類仍舊有基類,那麼再載入。直到所有的基類載入完畢。很重要的一點是static方法是在載入類的時候就被執行了,而static域也在此時也會在此時進行初始化。所有的類載入完畢。開始建...

c 中成員物件初始化和類繼承初始化

對於繼承的物件,建構函式在成員初始化列表中使用類名來呼叫特定的基類建構函式。對於成員物件,建構函式則使用成員名。例如 ifndef h frabjous define h frabjous include class frabjous virtual void tell gloam gloam in...