Cinema4Dメモ

Cinema4Dという3DCGソフトに関するメモ書きです。

NGUIによるゲーム画面の日本語化

2014-05-15 13:44:18 | Unity&Cinema4D

そういうわけで、NGUI2.7を使ってGUIを刷新できました。日本語フォントはOsakaフォントをなぞって切り文字風にしました。

次は最初に開くスタートメニューの画面もNGUIで作り直す予定。

難易度の表示は、下記のようなスクリプトを「かんたんモード」、「ふつうモード」、「むずかしいモード」の画像を貼ったNGUIの各スプライトに適用し、ゲームのスタート画面で難易度を選択する時に指定されるグローバル変数(varHolderスクリプトのstatic変数difficulty)の持っている値(0が簡単、1がふつう、2がむずかしい)から、そのスプライト自体の表示/非表示を判断します。enabled = trueでそのコンポーネントにチェックが入り、enabled = falseでチェックが外されます。

「.」は「の」と考えるといいです。つまり○○市の△△町の・・・みたいな感じです。データの区切りです。

GetComponent<UISprite>().enabled = true;

と書かれていた場合、UISpriteという名前のスクリプトの使用可能(enable)かどうかを設定します。「true」なので「使う」です。こういう感じで3つのモードのどれかが表示されるようになってます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

using UnityEngine;
using System.Collections;

public class MenuModeSelectEasy : MonoBehaviour {
    
    // Use this for initialization
    void Awake () {
        if(varHolder.difficulty == 0){
            GetComponent<UISprite>().enabled = true;
        }
        else if(varHolder.difficulty == 1){
            GetComponent<UISprite>().enabled = false;
        }
        else if(varHolder.difficulty == 2){
            GetComponent<UISprite>().enabled = false;
        }
    }
}

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

そのVarHolderスクリプトというのは、下記な感じです。staticで宣言された変数はそのシーンが破棄されて、別のシーンが呼び出された時も存在し続けますので、新しく呼び出されたシーンからアクセス可能なンです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

using UnityEngine;
using System.Collections;

public class varHolder : MonoBehaviour {
    //テクスチャ番号を保持するstatic変数:carTexture
    public static int carTexture;
    //難易度情報を保持するstatic変数:difficulty
    public static int difficulty;
    //その動作確認
//    void Update(){
//        Debug.Log("car Texture is "+ carTexture);
//        Debug.Log("difficulty is "+ difficulty);
//    }
}

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー