Unity 2d 平台游戏

问题描述 投票:0回答:1

我正在使用 Unity 创建 2D 平台游戏,但我遇到了一些问题。 问题是我有 2 个路点,我也想在脚本中使用,因为我想在到达路点时翻转敌人精灵。

我试过:

if (transform.position.x <= -2)
{
    Vector3 oposcale = transform.localScale;
    oposcale.x *= -1;
    transform.localScale = oposcale;
}

但我想我的敌人精灵永远不会达到那个点。

visual-studio unity3d unityscript
1个回答
0
投票

如果你只想翻转,最好使用

SpriteRenderer
组件本身而不是
localScale
。以下代码显示了如何访问组件并翻转它。

private SpriteRenderer spriteRenderer;
private void Start()
{
    spriteRenderer = GetComponent<SpriteRenderer>();
}

void FlipSprite() => spriteRenderer.flipX = !spriteRenderer.flipX;

此外,要完成您的工作,只需运行上述方法即可。

if (transform.position.x <= -2) FlipSprite();
© www.soinside.com 2019 - 2024. All rights reserved.