0

我有一个想要在屏幕上弹跳的小鸟精灵。所以当它到达屏幕的边界时,这只鸟会来回移动。这是有效的,但我不能每次都翻转精灵。它第一次向右移动并撞到屏幕的右边缘时起作用,当它返回并撞到左侧时,精灵不会翻转。这就是我想要做的

- (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);
}

我究竟做错了什么?提前致谢。

4

1 回答 1

1

这是因为翻转只是一个开/关状态。将您的self.bird.flipX = YES;线路替换为并重self.bird.flipX = !self.bird.flipX;试。

于 2012-09-03T09:20:11.460 回答