当使用 Transition 让士兵瞄准枪支时,如何让它保持瞄准?
When using Transition to make the soldier aiming the gun how to make that it will keep aiming?
在 Animator 中,我有一个 Aiming 状态,可以过渡到 Movement 状态,然后从 Movement 回到 Aiming。和一个 Aiming 参数类型 bool.
当我单击鼠标右键时,它正在瞄准,但随后立即切换回移动状态,但没有瞄准。
在从运动到瞄准的过渡中,瞄准设置为假,从瞄准到运动瞄准设置为真。
和脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Soldier : MonoBehaviour
{
private Animator anim;
private void Start()
{
anim = GetComponent<Animator>();
}
void Update()
{
var inputVelx = Input.GetAxis("Horizontal");
var inputVely = Input.GetAxis("Vertical");
transform.Rotate(0, inputVelx, 0);
anim.SetFloat("VelX", inputVelx);
anim.SetFloat("VelY", inputVely);
if (Input.GetMouseButton(1))
{
anim.SetBool("Aiming", false);
}
else
{
anim.SetBool("Aiming", true);
}
}
}
我目前正在使用 GetMouseButton,只要我按住鼠标右键,它就会一直瞄准。
但我想使用 GetMouseButtonDown 并使其单击鼠标右键将保持瞄准,再次单击将使瞄准错误。
我尝试使用 GetMouseButtonDown,但它只是瞄准,然后立即返回 false。
您可以在更新函数中尝试此代码:
if (Input.GetMouseButtonDown(1))
{
anim.SetBool("Aiming", !anim.GetBool("Aiming"));
}
在 Animator 中,我有一个 Aiming 状态,可以过渡到 Movement 状态,然后从 Movement 回到 Aiming。和一个 Aiming 参数类型 bool.
当我单击鼠标右键时,它正在瞄准,但随后立即切换回移动状态,但没有瞄准。
在从运动到瞄准的过渡中,瞄准设置为假,从瞄准到运动瞄准设置为真。
和脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Soldier : MonoBehaviour
{
private Animator anim;
private void Start()
{
anim = GetComponent<Animator>();
}
void Update()
{
var inputVelx = Input.GetAxis("Horizontal");
var inputVely = Input.GetAxis("Vertical");
transform.Rotate(0, inputVelx, 0);
anim.SetFloat("VelX", inputVelx);
anim.SetFloat("VelY", inputVely);
if (Input.GetMouseButton(1))
{
anim.SetBool("Aiming", false);
}
else
{
anim.SetBool("Aiming", true);
}
}
}
我目前正在使用 GetMouseButton,只要我按住鼠标右键,它就会一直瞄准。
但我想使用 GetMouseButtonDown 并使其单击鼠标右键将保持瞄准,再次单击将使瞄准错误。
我尝试使用 GetMouseButtonDown,但它只是瞄准,然后立即返回 false。
您可以在更新函数中尝试此代码:
if (Input.GetMouseButtonDown(1))
{
anim.SetBool("Aiming", !anim.GetBool("Aiming"));
}