【发布时间】:2012-03-04 07:13:16
【问题描述】:
好的,所以我有两个精灵碰撞,“玩家”和“摇滚”这就是我想要的,当发生碰撞时,我希望 (INT) 生命值增加 +1 所以生命值++
然而,每一帧都会发生碰撞!所以 (int) 生命等于 100 以上的数字!
每次精灵碰撞时,我怎样才能使 (int) 生命值增加 +1?不是他们碰撞的每一帧?
这是我使用的代码
- (void)update:(ccTime)dt {
[livesLabel setString:[NSString stringWithFormat:@"%i", lives]];
CGRect playerRect = CGRectMake(
player.position.x - (player.contentSize.width),
player.position.y - (player.contentSize.height),
player.contentSize.width,
player.contentSize.height);
for (CCSprite *rock in rockArray)
{
CGRect rockRect = CGRectMake(
rock.position.x - (rock.contentSize.width),
rock.position.y - (rock.contentSize.height),
rock.contentSize.width,
rock.contentSize.height);
if (CGRectIntersectsRect(playerRect, rockRect))
{
lives++;
}
}
}
上面的代码是当'rock'和玩家碰撞时,生命值增加1
【问题讨论】:
标签: objective-c cocos2d-iphone