2012-11-21 56 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。

我希望这可以帮助别人!