[英]Unity Animations
我試圖基於腳本輸入,使用腳本來更改角色動畫,但是Unity似乎只播放默認的“站立閑置”動畫,偶爾切換到“蹲下閑置”,是否有其他處理動畫的方法?只是在做腳本錯誤? 這是我目前的腳本
using UnityEngine;
using System.Collections;
public class CharacterControl : MonoBehaviour {
private Animator animator;
public bool crouched;
private string sc;
// Use this for initialization
void Start () {
animator = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
if (crouched == true) {
sc = "crouch";
} else {
sc = "standing";
}
animator.Play (sc + "_idle");
if (Input.GetButton ("Fire3")) {
if (crouched == false) {
crouched = true;
} else {
crouched = false;
}
}
}
}
嘗試更換
if (Input.GetButton ("Fire3")) {
if (crouched == false) {
crouched = true;
} else {
crouched = false;
}
}
與
if (Input.GetButton ("Fire3")) {
crouched = true;
} else {
crouched = false;
}
現在,當您按住“ Fire3”按鈕時,角色應該蹲下,放開時,他/她應該再次站立
還有一個建議:將其他代碼放入函數中( if (crouched == true) ... animator.Play (sc + "idle");
在此代碼之后( Input.GetButton
檢查)。這樣,您的角色應該立即開始蹲下與按下按鈕相同的框架;否則,他/她將在
在每幀按下(在單擊或觸摸的中間)按鈕時, Input.GetButton
將返回true。 每次調用Update
(約1/60秒),您的代碼都會檢查您是否按下了,並切換crouched
。 單擊/點擊按鈕時,您可能會按下幾幀,因此crouched
幾次會從true
切換到false
。 在某些情況下(當您按下奇數個幀時), crouched
將被切換,但在其他情況下(當您按下奇數個幀時), crouched
將保持在您單擊按鈕之前的狀態。您的角色蹲下,或者如果他以前蹲過則站着。
來源:來自官方API: Input.GetButton
我強烈建議您使用動畫狀態,並在收到輸入時從一個狀態過渡到另一個狀態。 在以下位置查看我的答案: Unity 2D動畫部分運行
是的,您可以像這樣進行切換操作
void Update()
{
if(Input.MouseButtonDown(2))
{
crouched = true;
}
if(Input.MouseButtonUp(2))
{
crouched = false;
}
}
您可以嘗試以下代碼:
crouched = Input.GetButtonDown("Fire3") ? true : false;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.