Question by
Davidello3 · Nov 06, 2018 at 09:57 PM ·
2d2d game
I need to deactivate an animation trigger
I need to deactivate an animation trigger to my little game, this is the script:
using UnityEngine;
public class Goten_Movements : MonoBehaviour {
private Rigidbody2D rb; //Per far muovere il personaggio//
private int Speed = 20; //Velocità a cui il personaggio si muove//
private float JumpForce = 15; //Forza del salto del personaggio//
private bool facingRight = true; //Per far girare il personaggio//
private bool isGrounded; //Per rilevare se il personaggio si trova su un piano//
public Transform feetPos; //Per rilevare se il personaggio si trova su un piano//
public float checkRadius; //Per rilevare se il personaggio si trova su un piano//
public LayerMask WhatIsGround; //Per rilevare se il personaggio si trova su un piano//
public Animator animator; //Per dare le animazione al personaggio//
float lockPos = 0; //Per bloccare la rotazione del personaggio//
void Start () {
rb = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
}
void Update()
{
transform.rotation = Quaternion.Euler(lockPos, lockPos, lockPos); //Per bloccare la rotazione del personaggio//
float horizontal = Input.GetAxis("Horizontal"); //Per rilevare l'asse su cui il personaggio si muoverà//
orizzontale(horizontal);
isGrounded = Physics2D.OverlapCircle(feetPos.position, checkRadius, WhatIsGround); //Per rilevare se il personaggio si trova su un piano//
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.D)) //Assegnare i tasti che una volta premuti faranno partire le animazioni del personaggio//
{
animator.SetBool("isRunning", true);
}
else
{
animator.SetBool("isRunning", false);
}
if (Input.GetKeyDown(KeyCode.Space))
{
animator.SetTrigger("Jump");
}
if (Input.GetKeyDown(KeyCode.Space) && isGrounded == true)
{
rb.velocity = Vector2.up * JumpForce;
}
if (Input.GetKey(KeyCode.C))
{
animator.SetBool("IsCharging", true);
animator.SetBool("IsRunning", false);
JumpForce = 0;
Speed = 0; //Per non far muovere il personaggio//
}
else
{
animator.SetBool("IsCharging", false);
Speed = 20;
JumpForce = 15;
}
if(facingRight == false && horizontal > 0) //Per far voltare il personaggio//
{
Flip();
}
else if(facingRight == true && horizontal < 0)
{
Flip();
}
}
private void orizzontale(float horizontal) //Per far muovere il personaggio sull'asse prestabilito//
{
rb.velocity = new Vector2(horizontal * Speed, rb.velocity.y);
}
void Flip() //Per far voltare il personaggio//
{
facingRight = !facingRight;
Vector3 Scaler = transform.localScale;
Scaler.x *= -1;
transform.localScale = Scaler;
}
}
Comment