0

所以在我的游戏中,我试图让角色能够根据玩家按下的按钮向左或向右移动。

我想翻转精灵,使其在前进的任何方向上都朝向正确的方向。

我有一个 bool 作为名为 isGoingLeft 的播放器类的属性,这就是我检查播放器何时面向左侧的方式。

我翻转播放器的方式是这样的

//在右键的方法中
if (player.isGoingLeft) { player.flipX = 180; NSLog(@"Flip Right"); player.isGoingLeft = FALSE; }

//在左键的方法中

if (!player.isGoingLeft) {
           player.flipX = 180;
            player.isGoingLeft = TRUE;
            NSLog(@"Flip Left");
        }

当我开始向右走,然后向左转(精灵正确翻转)时,这很有效。但是当我再次尝试向右移动时,玩家向右移动,它只是不再翻转。NSLog 说它翻转回面向右侧运行并且布尔值已更改。我不知道发生了什么

4

1 回答 1

1

flipX是 BOOL 类型,因此任何大于 0 的值都会使精灵翻转。

改用这个:

player.flipX = YES;
player.flipX = NO;
于 2013-06-05T23:58:58.290 回答