【1日1本アプリ開発】世界の愛してる!【13本目】

どうもozaniです。

開発13本目のアプリです。

【1日1本アプリ開発】世界の愛してる辞典!【13本目】

世界中の女性とお近づきになりたいと思ったこと、ありませんか。
そんな思いを込めて作成したアプリとなります。

 

・今日のちょっとソース。

シーン間の値の受け渡し

	
   // ラベル文言管理クラス
   class LabelWords
   {
       public static string ILoveYou { get; set; }
       public static string ILoveYouKana { get; set; }
   }
   // ドロップダウン変更イベント
   public class LanguageDropDown : MonoBehaviour
    {
        public void OnValueChanged(Dropdown dropdown)
        {
            switch (dropdown.value)
            {
                case 0:
                    LabelWords.ILoveYou = "愛してるよ";
                    LabelWords.ILoveYouKana = "アイシテルヨ";
                    break;
                case 1:
                    LabelWords.ILoveYou = "I love you";
                    LabelWords.ILoveYouKana = "アイラブユー";
                    break;
                    ……(略)
            }

        }
    }

上記のソースコードは、ドロップダウンを変更したときに動くプログラムです。

Unityでシーン間で値を共有する場合、最も簡単な方法は静的(static)な変数に値を入れてしまうことです。
上記のソースコードの様に、変数にstatic キーワードをつけることでその変数は静的な変数となります。

静的な変数の特徴は、プログラムの開始から終了まで値が保持され続けることです。
普通のstaticではない変数というのは、使い終わった後その値と領域は破棄されます。
今回リリースしたアプリを例にすると、最初のトップのシーンで言語を「英語」と選んでも、普通の変数だとシーンが切り替わるタイミングで破棄され、次の愛してるよのシーンでは何が選択されているのか、わからくなってしまいます。

staticな変数は乱立すると、「え、今これ何入ってるんだっけ?」と複雑怪奇なプログラムになり、思わぬバグの元となりますので、ご利用は控えめに!

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【知り合いに実際にプレイしてもらった感想】

グラフィック :

ボリューム  :

操作性    :

ゲームバランス:

独創性    :

クリアタイム :00分

コメントする

CAPTCHA