从不同的Cocos2d类添加子层到图层?

时间:2011-05-21 18:19:13

标签: iphone xcode cocos2d-iphone layer

我正在制作游戏。我在同一场景中成功使用了多个图层,但我想要进行碰撞检测。最简单的方法是拥有一层。我不知道如何将子项添加到来自不同类的图层。帮助!

2 个答案:

答案 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或者花栗鼠为你做碰撞检查