1

問題: 別の scene.unity ファイルに切り替えるときに、controller.html を myNewController.html に変更したいと考えています。

例: 同じプロジェクトに 2 つのミニゲームがあります。controller.html を使用して GAME_1 をプレイしていますが、GAME_1 の目標を達成し、GAME_2 に切り替えると、別のコントローラー レイアウト (myNewController.html) を使用する必要があります。

私が知っていること: シーンが切り替わると、すぐに GAME_1 の Airconsole オブジェクトが GAME_2 にスローされ、GAME_1 の controller.html ファイルが引き続き使用されます。

コードのスニペット: このスクリプトは、私が作成した AirConsole オブジェクトに添付されています。

public class What_Level : MonoBehaviour { AirConsole コンソール;

// Use this for initialization
void Start () {
    console = GetComponent<AirConsole> ();

}

// Update is called once per frame
void Update () {
    whatScene (Application.loadedLevel);
}

void whatScene(int levelNumber){
    if (levelNumber == 1) {
        Debug.Log ("Were in the GAME_1);
        //use some code to change the HTML file for GAME_1
    } else if (levelNumber == 2) {
        Debug.Log("We're in GAME_2");
        //use some code to change the HTML file for GAME_2
    }
} 

}

変数 "console" が意味をなす唯一の機能は、console.controllerHtml です。「public Object controllerHtml」に記載されている説明

ヒントやヒントをいただければ幸いです。また、AirConsole 変数「console」で使用するオプションの参照ページも大歓迎です。

ありがとう!

4

1 に答える 1

0

コントローラーのレイアウト変更について。ファイルを変更する代わりに、controller.html の表示内容を変更するだけです。

たとえば、表示したいゲームパッドごとにコンテナ要素を作成できます。そして、コンテナーの可視性を変更する必要があるときに、すべてのコントローラーにメッセージをブロードキャストします。

たとえば、controller.html では次のようになります。

<div id="gamepad-1">Controller 1 stuff here ...</div>
<div id="gamepad-2">Controller 2 stuff here ...</div>

JavaScript で (controller.html も)

var container_1 = document.getElementById('gamepad-1');
var container_2 = document.getElementById('gamepad-2');
// Show or hide containers like (general function would be better :)
container_2.style.display = 'none';
container_1.style.display = 'block';

あとは、どのコンテナーをいつ表示/非表示にするかをコントローラーに知らせるだけです。これは、onDeviceStateChange イベントをリッスンすることで実行できます。

于 2015-11-15T12:58:15.047 に答える