2016-04-22 1 views
0

Nun, ich hatte den Eindruck, dass Animationstriggerparameter sollen automatisch nach zurückgesetzt gesetzt wurde.Unity-Animation Parameter Trigger Zurücksetzen Nicht

using UnityEngine; 
using System.Collections; 

public class Script : MonoBehaviour { 
    public GameObject go; 
    public bool mouseDown = false; 
    Vector2 mousePoint = new Vector2(); 
    Animator anim; 

    void Start() { 
     go = GameObject.Find ("SquareParent"); 
     anim = GameObject.Find("Square").GetComponent<Animator>(); 
    } 


    void Update() { 
     if (Input.GetMouseButton (0)) { 
      mouseDown = true; 
     } else { 
      mouseDown = false; 
      anim.ResetTrigger ("Trigger");// <----------- 
     } 
    } 

    void FixedUpdate(){ 
     mousePoint = new Vector2 (Input.mousePosition.x, Input.mousePosition.y); 
     mousePoint = Camera.main.ScreenToWorldPoint(mousePoint); 
     go.transform.position = new Vector2 (mousePoint.x,go.transform.position.y); 

     if (mouseDown) { 
      anim.SetTrigger ("Trigger"); 

     } 
    } 
} 

Aber der Auslöser nicht „verbrauchen“ selbst, bis die gesamte Animation gespielt hat, und danach die Animation selbst noch einmal zu spielen entscheidet, bevor es aufhört! Die einzige Art, wie ich dies verhindern könnte von vorging durch den Trigger manuell Zurücksetzen (Zeile oben erwähnt), aber das ist jetzt wie ein Boolean handeln .... so was ist der Punkt? Was mache ich falsch?

+2

Ich denke, der Grund, dass die Animation erneut spielt, bevor wegen der Länge der Übergänge im 'Animator' Fenster in der editor.I der Grund denken, ist zu stoppen, dass die Animation erneut spielt, bevor wegen stoppen ist die Länge der Übergänge im Fenster "Animator" im Editor. Ich habe keine vollständige Antwort, aber ich hatte vorher ein ähnliches Problem. –

+0

@ gjttt1 Ausgezeichnet! Die Dinge funktionieren jetzt wieder richtig, aber ich habe ehrlich gesagt keine Ahnung warum. Ich tat alles, war die Reset-Leitung löschen und ich mit dem Übergang geschraubt herum, aber ich habe ehrlich gesagt nicht einmal seine Länge oder etwas ändern. Ziemlich Bizarr. Schreibe dies als Antwort und ich gebe dir den verdienten Kredit. – DrakeTruber

+0

Ich war ein bisschen viel los, als ich dies kommentiert. Ich werde einen kurzen Blick darauf werfen und später versuchen, meine Antwort zu aktualisieren. Froh, dass ich helfen konnte. Stellen Sie sicher, dass Sie alle offiziellen Tutorials zur Animation in der Einheit lesen. Sie sind unglaublich hilfreich! –

Antwort

0

Ich denke, der Grund, dass die Animation noch einmal vor dem Anhalten spielt, ist wegen der Länge der Übergänge im Animator-Fenster im Editor.