using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityStandardAssets.CrossPlatformInput; public class Butterfly_Move : MonoBehaviour { [SerializeField] Transform[] Positions; [SerializeField] float moveSpeed = 5f; int NextPosIndex; Transform NextPos; private Animator anim; Rigidbody2D rb; public ParticleSystem Peri; void Start() { NextPos = Positions[0]; rb = GetComponent(); anim = GetComponent(); } void Update() { MoveGameObjectUp(); MoveGameObjectDown(); Animations(); } void MoveGameObjectUp() { if (CrossPlatformInputManager.GetButtonDown("Jump")) { NextPosIndex++; if (NextPosIndex > 5) { NextPosIndex = 0; } NextPos = Positions[NextPosIndex]; } else { StopDust(); transform.position = Vector3.MoveTowards(transform.position, NextPos.position, moveSpeed * Time.deltaTime); transform.parent = NextPos; } } void MoveGameObjectDown() { if (CrossPlatformInputManager.GetButtonDown("Down")) { NextPosIndex--; if (NextPosIndex < 0) { NextPosIndex = 5; } NextPos = Positions[NextPosIndex]; } else { StopDust(); transform.position = Vector3.MoveTowards(transform.position, NextPos.position, moveSpeed * Time.deltaTime); transform.parent = NextPos; } } void CreateDust(){ Peri.Play(); } void StopDust() { Peri.Stop(); } void Animations() { if (rb.transform.position.y != NextPos.transform.position.y) { CreateDust(); anim.SetBool("Idle", true); anim.SetBool("IsFlying", false); } else { anim.SetBool("IsFlying", true); anim.SetBool("Idle", false); } } }