Unity5あれこれ

Sceneに配置したTextの中身をスクリプトで変更する(uGUI対応)

1. 空のGameObjectを追加
2. 以下のような内容のスクリプトを作成し、UnityのEditor上で1のGameObjectにアタッチする

    public Text hogeText;
    void Start() {
        debugText.text = "hage";
    }

3. UnityのEditorのHierarchy上で右クリックからUI→Textと選択
f:id:hchuno:20150407165124j:plain
4. 1のGameObjectを選択して、3のTextをhogeTextにドラッグアンドドロップして関連付ける
f:id:hchuno:20150407165309j:plain
5. UnityのEditorでプレイボタンを押すとTextの表記がhageに変わる

WebViewプラグインを用いて表示したHTMLから送られてきた値を取得する

    WebViewObject wvo;
    string htmlFilePath;

    void Start() {
        htmlFilePath = Path.Combine(Application.persistentDataPath, "sample.html");
        WriteHTML();

        wvo = (new GameObject("WebViewObject")).AddComponent<WebViewObject>();
        wvo.Init((msg) => {
            hogeText.text = msg;
            if (msg == “hoge”) {
		// Nextという名前のSceneに遷移
                Application.LoadLevel("Push");
            }

        });
        wvo.LoadURL("file://" + htmlFilePath);
        wvo.SetMargins(15, 150, 15, 20);
        wvo.SetVisibility(true);
    }
	

    void WriteHTML() {
        using (var writer = new StreamWriter(htmlFilePath, false)) {
            writer.Write(
                @"<html>
<body>
<ul>
  <li><a href='unity:hage'>callback 'hage'</a></li>
  <li><a href='unity:hoge’>callback ‘hoge’</a></li>
</ul>
</body>
</html>
");
            writer.Close();
        }
    }
}

AndroidManifest.xml

  • Androidのネイティブプラグイン作成等で必要。
  • プラットフォームをAndroidにセットした後、ビルドすると以下の場所に生成される
{プロジェクトルート}/Temp/StagingArea/