2017-09-03 1 views
1

Im Animator habe ich einen Zielzustand mit Übergang in den Bewegungszustand und von der Bewegung zurück zum Ziel. Und ein Zielparameter Typ bool.Wenn Transition verwendet wird, damit der Soldat die Waffe anvisiert, wie soll er weiter zielen?

Wenn ich die rechte Maustaste klicke, zielt es, aber schaltet dann sofort zurück, ohne zu zielen.

Im Übergang von der Bewegung zum Zielen wird das Ziel auf "falsch" und von "Zielen auf Bewegung" auf "wahr" gesetzt.

Aiming

Und das Skript:

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); 
     } 
    } 
} 

ich zur Zeit Ziel GetMouseButton und solange ich halte die rechte Maustaste gedrückt wird es halten bin mit.

Aber ich möchte GetMouseButtonDown verwenden und es so machen, dass ein Klick auf den rechten Mausknopf das Ziel hält und ein erneutes Klicken wird das Zielen falsch machen.

Ich habe versucht, GetMouseButtonDown zu verwenden, aber dann zielte es nur, dann ging gleich wieder auf false zurück.

Antwort

2

Sie diesen Code in Ihrer Update-Funktion versuchen:

if (Input.GetMouseButtonDown(1)) 
{ 
    anim.SetBool("Aiming", !anim.GetBool("Aiming")); 
} 
Verwandte Themen