box2d中的SetUserData

时间:2012-10-06 12:05:18

标签: iphone objective-c cocos2d-iphone box2d

我在box2d / cocos2d中写了一个游戏,当它们触及地板或玩家应该从场景中移除时,它们会从天空落下。我已根据Ray Wenderlich's tutorial实施了ContactListener,但问题在于,任何时候任何东西都会触及它被删除的任何内容。

我需要的是某种方式来了解哪些是可以删除的对象。我看到Box2d中有一个SetUserData函数,我可以在其中设置数据,但它不会接受int并且似​​乎只接受一个类似乎会增加不必要的复杂性。

实现我想要的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

试试这个:

int yourInt = 2012;
body->SetUserData(@(yourInt)); 

它使用新的Objective-C文字语法将基本类型int包装在对象中。该对象包含在NSNumber

@(yourInt)[NSNumber numberWithInt:yourInt]

相同