unity3d - 通过脚本循环动画?统一二维
问题描述
这可能不像标题所说的那样。
但我基本上是在尝试通过脚本播放动画。一切顺利,有错误
ArgumentException:不能在 Playables 中使用旧剪辑。
你也能帮我解决这个问题吗?它正在播放,但我已将循环设置为 true,由于某种原因,它不会循环。有没有办法通过脚本循环动画?
到目前为止,这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class playerMovement : MonoBehaviour
{
public Rigidbody2D rb;
public float moveSpeed = 1f;
public Animation idleAnim;
public void Start () {
idleAnim.Play();
}
public void FixedUpdate()
{
if( Input.GetKey("a")) {
rb.AddForce(Vector2.left * moveSpeed);
}
if ( Input.GetKey("d")) {
rb.AddForce(Vector2.right * moveSpeed);
}
}
}
谢谢你的帮助!
(如果你没有注意到,我正在创建一个空闲动画)
解决方案
您应该将动画标记为循环播放,选择动画资产并在检查器中将标志设置为 true。另外,你应该使用Animtor组件,添加空闲动画,添加另一个空状态,做一些布尔参数来触发空闲动画和空动画状态之间的转换,例如称之为“isIdle”,(你可能会添加未来更多的动画状态,比如移动动画),在你的代码中你可以改变Animator的“isIdle”参数,移动时设置为false,停止移动时设置为true。总的来说,我强烈建议你看一些关于 Unity 中动画最终状态机的教程,这样你就可以更好地理解这一切。
推荐阅读
- php - 如何检查日期是否在一周的两天之间?
- java - 将接口类型的集合注入到使用 @Bean 注释的方法中
- git - 将父分支更改为功能分支
- javascript - 错误:AADSTS500011:在租户中找不到名为“URL”的资源主体
- scala - Spark 任务挂在 [GC (Allocation Failure) ]
- azure - 使用 gMSA 从 ADO 部署到本地 Azure Service Fabric 群集的正确方法是什么?
- android - Android 从 Service 到 Client 的通信
- r - 计算网格纬度/经度坐标区域上的斜率,并在 r 中具有相应的深度
- java - PGP 加密 - 编译时间问题
- html - HTML 输入标签:如何为标题属性添加大量文本?