
- 作者: いたのくまんぼう,大槻有一郎
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2017/08/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
序文
先程終わったばかりの勉強会を残業しながらまとめています。
進捗
- Chapter03 放置ゲームに演出を加えよう
- 3-1 サウンドを追加する
- 3-2 アニメーションを作成しよう
- 3-3 アニメーションをスクリプトと連動させる
- 3-4 DOTweenを使ってアニメーションをつくる
- 3-5 スコアデータを保存する
コード実装部分(一部)
180715TheTemple\Assets\Scripts\OrbManager.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using DG.Tweening; public class OrbManager : MonoBehaviour { //オブジェクト参照 private GameObject gameManager; // ゲームマネージャー void Start() { gameManager = GameObject.Find("GameManager"); } public Sprite[] orbPicture = new Sprite[3]; //オーブの絵 public enum ORB_KIND { //オーブの種類を定義 BLUE, GREEN, PURPLE, } private ORB_KIND orbKind; //オーブの種類 //オーブ取得 public void TouchOrb() { if (Input.GetMouseButton(0) == false) { return; } // RectTransformコンポーネントを取得 RectTransform rect = GetComponent<RectTransform>(); //オーブの軌跡 Vector3[] path = { new Vector3(rect.localPosition.x * 1.5f, 300f, 0f), //中間点 new Vector3(0f, 150f, 0f), //終点 }; //DOTweenを使ったアニメ作成 // DOLocalPath // 第一引数:軌跡 // 第二引数:時間 // 第三引数:パスタイプCatmullRom→曲線軌道 Linear→直線軌道 rect.DOLocalPath(path, 0.5f, PathType.CatmullRom) // イージング(アニメーションの速度の変化具合?)の設定 .SetEase(Ease.OutQuad) // アニメーションが終了したらAddOrbPoint()を実行する .OnComplete(AddOrbPoint); //同時にサイズ変更 rect.DOScale( // 目標サイズ new Vector3(0.5f, 0.5f, 0f), // 変化する時間 0.5f ); } //オーブアニメ終了後にポイント加算処理をする void AddOrbPoint() { switch (orbKind) { case ORB_KIND.BLUE: gameManager.GetComponent<GameManager>().GetOrb(1); break; case ORB_KIND.GREEN: gameManager.GetComponent<GameManager>().GetOrb(5); break; case ORB_KIND.PURPLE: gameManager.GetComponent<GameManager>().GetOrb(10); break; } Destroy(this.gameObject); } // オーブの種類を設定 public void SetKind(ORB_KIND kind) { orbKind = kind; switch (orbKind) { case ORB_KIND.BLUE: GetComponent<Image>().sprite = orbPicture[0]; break; case ORB_KIND.GREEN: GetComponent<Image>().sprite = orbPicture[1]; break; case ORB_KIND.PURPLE: GetComponent<Image>().sprite = orbPicture[2]; break; } } }
実行結果
感想
さっき終わったばかりです。
DOTweenというアセットを使ってアニメーションを実装するという内容はUnity本でもなかなか画期的なのでは。
また学習する内容が増えるのか…とうんざりしたりはするけど、まぁ今回ぐらいの内容ならそんなに学習コストもいらずに使えそうな感じ
正直、自分のプロジェクトのほうで大分煮詰まっていた(誤用)感じがあるので、いい気分転換になった気がします。
来週は帰省する予定なのでお休みになるんですが。
カロリーメイトください。
BGM
Night Camel feat. FBI / chelmico