カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

『Select10』(勝手に)模写する4

f:id:yjkym:20190103183938p:plain
select10 | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

序文

「Select10」模写4日目。

少しずつバイタリティが落ちてきていい感じです。

進捗

  • クラス設計見直し
  • スタートボタン表示・SE

コード実装部分(一部)

Select10Copy\Assets\Scripts\TitleDisplayer.cs

using System.Collections;
using UnityEngine;

namespace Title
{
    public class TitleDisplayer : MonoBehaviour
    {
        public TitleLogoFader titleLogoFader;
        public Title10ButtonSound title10ButtonSound;
        public Title10ButtonAnimator title10ButtonAnimator;

        public GameObject title10Button;


        // Start is called before the first frame update
        void Start()
        {
            StartCoroutine(_TitleDisplayer());
        }

        private IEnumerator _TitleDisplayer()
        {
            float fadeInTime = 1.0f;
            titleLogoFader.FadeIn(fadeInTime);
            yield return new WaitForSeconds(fadeInTime);
            title10Button.SetActive(true);
            title10ButtonSound.SoundSE();

            float animationTime = 1.0f;
            title10ButtonAnimator.Animate(animationTime);
        }
    }
}

実行結果

www.youtube.com

感想

SOLID原則を意識しながらクラス設計を見直してみました。 しかし単一責任原則を守ろうとするとクラスが大幅に増えるんだよなぁ。
どう管理したらいいんだろう。
とりあえず異なる名前空間のオブジェクトを操作するときは必ず専用のクラスを通じて操作するというルールでやってみようかなと思う。
これがFacadeパターンってことでいいんだろうか。

15.Facadeパターン | TECHSCORE(テックスコア)

実装面ではロゴが表示されてから「10」のボタンがアニメーションで表示されるようにした。
コルーチンを使ってやると割と見やすく実装できた。
見よう見まねで書いたので仕組みはあまりわかっていない。

やっぱりちゃんとアニメーションさせてやると見栄えしますね。大事。

カロリーメイトください。

今日のunityroom

ふらいとビリヤード | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com 結構うまくできた