我正在使用 Unity 创建 2D 平台游戏,但我遇到了一些问题。 问题是我有 2 个路点,我也想在脚本中使用,因为我想在到达路点时翻转敌人精灵。
我试过:
if (transform.position.x <= -2)
{
Vector3 oposcale = transform.localScale;
oposcale.x *= -1;
transform.localScale = oposcale;
}
但我想我的敌人精灵永远不会达到那个点。
如果你只想翻转,最好使用
SpriteRenderer
组件本身而不是localScale
。以下代码显示了如何访问组件并翻转它。
private SpriteRenderer spriteRenderer;
private void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
void FlipSprite() => spriteRenderer.flipX = !spriteRenderer.flipX;
此外,要完成您的工作,只需运行上述方法即可。
if (transform.position.x <= -2) FlipSprite();