我正在使用 cocos2d 在objective-c 中制作一个iphone 应用程序,在下面的代码中我尝试检测碰撞然后运行动画。(box1被触摸移动)
当“[self getChildByTag:d]”和“box1”碰撞并重叠时,我得到“JUMP NOW!” 显示,但我没有得到跳跃本身,但是当 box1 从“[self getChildByTag:d]”移开时,就会发生跳跃。
我知道这可能与多次调用该操作有关,但请向我解释到底发生了什么,并请帮助我解决问题!
- (void)update:(ccTime)dt {
for (int d = lowestAvailableTag; d <= highestAvailableTag; d++) {
if ([self getChildByTag:d].position.y < (box1.position.y+45)&&
[self getChildByTag:d].position.x > (box1.position.x-45) &&
[self getChildByTag:d].position.x < (box1.position.x+45) ) {
NSLog(@"JUMP NOW!");
if ([self getChildByTag:d].position.x < 150) {
[[self getChildByTag:d] runAction:
[CCJumpTo actionWithDuration:1.5
position:ccp(240, 140) height:110 jumps:1]];
}
}
}
}
//albar