我正在制作游戏。我在同一场景中成功使用了多个图层,但我想要进行碰撞检测。最简单的方法是拥有一层。我不知道如何将子项添加到来自不同类的图层。帮助!
答案 0 :(得分:4)
您可以在功能中传递您希望子项添加到的图层。 像这样:
这是你班上的:
-(void)makeChild:(CCLayer*)layer {
CCSprite *sprite =..**** //Create sprite
[layer addChild:sprite];
}
这是在主要层:
-(void)init {
[classInstance makeChild:self];
}
希望有所帮助..
答案 1 :(得分:0)
如果你想将一些CCSprite实例添加为两个不同层的子节点,那是不可能的,因为cocos2d总是检查你作为子节点添加的对象是否没有附加到另一个对象。但如果你的问题是某些精灵之间的碰撞检测,它不需要它们是同一个对象的孩子,你可以计算每个精灵的绝对位置(我猜[sprite boundingbox]
这样做)然后检查那两个碰撞,你可以使用box2d或者花栗鼠为你做碰撞检查