unity ボタンを押した時にアニメーションを動かす方法 初心者備忘録
やっぱり細かいアニメーションでも動くのと動かないのでは雲泥の差だ。
ボタンを押しても色が変わるだけでなく、少し大きくなったり小さくなったりしたらそれだけでなんだか違うと思う。
アニメーションで動かす
参考記事:簡単に作成できる!Unityでアニメーションを作る方法 | TechAcademyマガジン
プロジェクトビューのAnimationタブを出して、
アニメーションを作りたいObjectをクリックした後、AnimationタブからCreateをクリックでアニメーションを作ることができる。
大きくしたり、小さくしたりするにはscaleをいじれば良い。
再生すると何もしてなくてもずっと大きくなったり小さくなったりするアニメーションを作れた。
ボタンを押したらアニメーションが動くように
参考記事:Unity - ボタンを押したらアニメーションを動かす(116289)|teratail
参考記事:Animator.Play - Unity スクリプトリファレンス
アニメーションを作るのは対象のGameObjectのAnimatorを取得して
hogehoge.Play ("作ったアニメーションの名前", 0, 0f);
を入れるだけ。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class GameManager06 : MonoBehaviour { Animator btn3Anim; // Use this for initialization void Start () {
GameObject btn3 = GameObject.Find ("Button3"); btn3.GetComponent<Button> ().onClick.AddListener (Btn3Tap); btn3Anim = btn3.GetComponent<Animator> (); } void Btn3Tap () { btn3Anim.Play ("Button3", 0, 0f); } }
これでタップでボタン自体のアニメーションを動かすことができた。
次はボタンで他のゲームオブジェクトを動かしてみる。
ボタンで他のオブジェクトを動かす
『ボタンを押したらアニメーションが動くように』とほとんど変わらない。
Button btn4 = GameObject.Find ("Button4").GetComponent<Button> (); btn4.onClick.AddListener (Btn4Tap); GameObject image = GameObject.Find ("Image"); imageAnim = image.GetComponent<Animator> (); } } void Btn4Tap () { imageAnim.Play ("Image", 0, 0f); }