2012-11-21 55 views
2

我已經成功地做出了一個非常簡單的LevelHelper/Box2D/Cocos2D項目。 我現在試圖按文檔here中所述註冊衝突。LevelHelper和Box2D Collions:如何獲得「標籤」?

我使用的示例代碼如下:

[lh registerBeginOrEndColisionCallbackBetweenTagA:COIN 
              andTagB:MARIO 
             idListener:self 
             selListener:@selector(beginEndCollisionBetweenMarioAndCoin:)]; 

我的問題是:如何獲取標籤?我在「常規屬性」窗格中將其設置在LevelHelper中是否正確? (如下圖)

LevelHelper Tag is set to CHARACTER_TAG?

在LevelHelper的自定義屬性窗口中的「變量值」爲「CHARACTER_TAG」是1,但如果我試圖把這個到上面的代碼,而不是「馬里奧」的XCode得到不高興,因爲它「不能用'int'類型的右值初始化'enum LevelHelper_TAG'類型的參數(足夠公平)。

謝謝!

回答

3

我已經想通了!

在LevelHelper中將標記設置爲CHARACTER_TAG後,我需要使用Box2D的File \ Generate Code \ Cocos2D重新生成我的代碼。然後,我可以在我的問題中簡單地輸入CHARACTER_TAG來代替MARIO。

我希望這可以幫助別人!