c# - 动画正在停止脚本
问题描述
我有一个制作沼泽轨道并跟随玩家的脚本。它工作正常。但是当我向敌人添加动画(沼泽向玩家跳跃)时,它不会移动。
我试过删除动画下的位置,但是沼泽不会跳。它只是缩放。这确实解决了不跟随玩家的问题。所以我认为问题在于位置上的动画。
public class EnemyAI : MonoBehaviour
{
public float speed;
private Transform playerPos;
void Update()
{
transform.position = Vector2.MoveTowards(transform.position, playerPos.position, speed * Time.deltaTime);
}
}
解决方案
动画是占据位置的原因,脚本变得无用。正如您所提到的,它会跳跃(Y 轴)并且动画控制器中的位置会接管。我建议尝试做两件事:(a)将父级添加到这个沼泽游戏对象并添加动画以跳转到这个父级(b)将 MoveTowards()函数添加到沼泽游戏对象。
这样,父游戏对象将只执行跳跃动画,子游戏对象将执行 MoveTowards() 函数。
推荐阅读
- visual-studio - Visual Studio 2019 - 注释/取消注释选择不适用于 qml 代码
- apache-nifi - 从 apache nifi 中删除流文件
- r - 格式化data.frame:小数点后3位
- java - 在使用 axon 的微服务和不使用 axon 的微服务之间管理 sagas?
- azure - 在 Azure 容器注册表实例上运行 Spring Boot 应用程序
- android - Qt 和 Android - 如何使用 Qandroidjniobject 启动相机
- r - renv 和 git 交互 R
- docker - 在 Docker 连接中访问 Python WebApp 被拒绝
- identityserver4 - IdentityServer4 从 v3 升级到 v4 - 范围验证错误
- flutter - Flutter:在具有私有依赖项的 github 操作中运行 flutter pub get