嘿,伙计们, 我正在用cocos2d创建一个游戏,(我对它很新,并试图解决这个问题)
在我正在制作的游戏中我创建了一个“Bomb”类和一个“Player”类, 如果发现碰撞,我希望炸弹检查与玩家的碰撞,爆炸。
我的问题是我不知道如何从炸弹类中获得玩家的位置, 如果你们能帮助我,我会很高兴, 谢谢!
答案 0 :(得分:0)
你确实将CCSprites添加到了CCLayer,不是吗?然后CCLayer应该可以访问它们。因此,您可以使用CCLayer的tick
函数来跟踪CCSprites的位置,并在其边界框重叠时触发操作。
一些示例代码来说明:
@interface MyLayer : CCLayer {
BombSprite *bomb;
PlayerSprite *player;
}
...
@end
@implementation MyLayer
- (id)init {
if ((self = [super init])) {
bomb = ...
player = ...
[self schedule:@selector(tick:)];
}
return self;
}
- (id)tick:(ccTime)dt {
if (CGRectContainsRect([bomb boundingBox], [player boundingBox])) {
NSLog(@"Collision!");
// call [player didCollideWith:bomb] or something
...
}
}
@end