【问题标题】:Animation is stopping script动画正在停止脚本
【发布时间】:2019-10-07 10:35:54
【问题描述】:

我有一个制作沼泽轨道并跟随玩家的脚本。它工作正常。但是当我向敌人添加动画(沼泽向玩家跳跃)时,它不会移动。

我已经尝试移除动画下的位置,但是沼泽并没有跳跃。它只是缩放。这确实解决了不跟随玩家的问题。所以我认为问题在于位置上的动画。

public class EnemyAI : MonoBehaviour
{
    public float speed;

    private Transform playerPos;

void Update()

    {
        transform.position = Vector2.MoveTowards(transform.position, playerPos.position, speed * Time.deltaTime);

    }

}

【问题讨论】:

  • 游戏对象沼泽和敌人是一样的吗?如果没有,请尝试将动画控制器添加到 Swamp 而不是敌人。
  • 是的,沼泽就是敌人。并且添加了一个动画控制器
  • 这就是它接管位置并且脚本变得无用的原因。正如您所提到的,它会跳跃(Y 轴)并且此处的位置会接管。我建议尝试向这个沼泽游戏对象添加一个父级并添加动画以跳转到这个父级。所以跳跃的动画在父母身上,而 moveTowards 在孩子身上。
  • 我会添加它作为答案:)

标签: c# unity3d animation 2d


【解决方案1】:

动画是占据位置的原因,脚本变得无用。正如您所提到的,它会跳跃(Y 轴)并且动画控制器中的位置会接管。我建议尝试做两件事: (a) 为这个沼泽游戏对象添加一个父对象并添加动画以跳转到这个父对象 (b) 为 Swamp 游戏对象添加 MoveTowards() 函数。

通过这个,父gameObject只会执行跳跃动画,子gameObject会执行MoveTowards()函数。

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多