【发布时间】:2011-05-21 18:19:12
【问题描述】:
我正在制作游戏。我在同一个场景上成功使用了不止一层,但我希望有碰撞检测。最简单的方法是拥有一层。我不知道如何将孩子添加到不同班级的图层中。帮助!
【问题讨论】:
-
尝试将此问题移至 gamedev.stackexchange.com
标签: iphone xcode cocos2d-iphone layer
我正在制作游戏。我在同一个场景上成功使用了不止一层,但我希望有碰撞检测。最简单的方法是拥有一层。我不知道如何将孩子添加到不同班级的图层中。帮助!
【问题讨论】:
标签: iphone xcode cocos2d-iphone layer
您可以在函数中传递您希望孩子添加到的层。 像这样:
这是在你的班级:
-(void)makeChild:(CCLayer*)layer {
CCSprite *sprite =..**** //Create sprite
[layer addChild:sprite];
}
这是在主层:
-(void)init {
[classInstance makeChild:self];
}
希望对您有所帮助..
【讨论】:
如果你想添加一些 CCSprite 实例作为两个不同层的孩子,这是不可能的,因为 cocos2d 总是检查你作为孩子添加的对象是否没有附加到另一个对象。但是如果你的问题是一些精灵之间的碰撞检测,它不需要它们是同一个对象的孩子,你可以计算它们每个的绝对位置(我猜[sprite boundingbox]这样做)然后检查这两个是否碰撞,您可以使用 box2d 或 chimunk 为您进行碰撞检查
【讨论】: