ぼくの息抜き

ぼくの息抜き

気ままな二人が記事を書くことで息抜きしていくブログ

CSS MenuMaker

unity ボタンを押した時にアニメーションを動かす方法 初心者備忘録

やっぱり細かいアニメーションでも動くのと動かないのでは雲泥の差だ。

ボタンを押しても色が変わるだけでなく、少し大きくなったり小さくなったりしたらそれだけでなんだか違うと思う。

アニメーションで動かす

f:id:bokunoikinuki:20180804103847g:plain

参考記事:簡単に作成できる!Unityでアニメーションを作る方法 | TechAcademyマガジン

 

プロジェクトビューのAnimationタブを出して、

f:id:bokunoikinuki:20180804112811p:plain

アニメーションを作りたいObjectをクリックした後、AnimationタブからCreateをクリックでアニメーションを作ることができる。

f:id:bokunoikinuki:20180804113003p:plain

大きくしたり、小さくしたりするにはscaleをいじれば良い。

f:id:bokunoikinuki:20180804121631g:plain

再生すると何もしてなくてもずっと大きくなったり小さくなったりするアニメーションを作れた。

 

ボタンを押したらアニメーションが動くように

参考記事:Unity - ボタンを押したらアニメーションを動かす(116289)|teratail

参考記事:Animator.Play - Unity スクリプトリファレンス

f:id:bokunoikinuki:20180804112048g:plain

アニメーションを作るのは対象の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); } }

 

これでタップでボタン自体のアニメーションを動かすことができた。

次はボタンで他のゲームオブジェクトを動かしてみる。

ボタンで他のオブジェクトを動かす

f:id:bokunoikinuki:20180804120114g:plain

 

『ボタンを押したらアニメーションが動くように』とほとんど変わらない。

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