我有一个小鸟精灵,我想在屏幕上弹来弹去。因此,当它到达屏幕的边界时,这只鸟会来回移动。这是有效的,但我不能每次都翻转精灵。它在第一次向右移动并击中屏幕的右边缘时工作,当它返回并击中左侧时,精灵不会翻转。以下是我尝试做的
- (void)update:(ccTime)dt
{
if (bird_x > 1550 || bird_x < 0)
{
flip *= -1;
self.bird.flipX = YES;
}
bird_x = bird_x + 10 * flip;
_bird.position = ccp(bird_x, 1000);
}
我做错了什么?提前谢谢。
这是因为翻转只是一种打开/关闭状态。将self.bird.flipX = YES;
行替换为self.bird.flipX = !self.bird.flipX;
,然后重试。