あなたのできることは、Javascriptコードの中でUnityにメッセージを送信することですが、ユニティにオブジェクトのインスタンス化についての汚い作業をさせることになります。
これは私がちょうど作った例です。
まずあなたはこのように、プレハブ/あなたのオブジェクトを生成しますC#のスクリプトを作成します。
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MyObjectSpawner : MonoBehaviour {
public Transform Prefab;
public void Spawn(string data) {
var instance = Instantiate(Prefab);
// do what you like with your instantiated object and the data from the javascript here
}
}
を今、あなたはシーン内のオブジェクトを作成し、添付しこのスクリプトはそれに。作成したゲームオブジェクトに付けた名前に注意してください。これは次のステップで重要になります。今のところ、名前を "MyGameObject"としましょう。
最後のステップは、ゲームページのコンテナ内のJavaScriptです。この例では、ボタンを作成し、クリックするとspawnUnityObject()
メソッドが呼び出されます。
HTML::
<button type="button" onclick="spawnUnityObject()">Press me</button>
Javascriptを:
function spawnUnityObject() {
// game object in the scene, method name, method parameter
SendMessage('MyGameObject', 'Spawn', 'Super string');
}
結果は次のようになります。あなたは、HTML内の "私を押してください" ボタンをクリックすると、ゲームが出現します。このようオブジェクトであり、Spawn()
メソッド内のデータとして「スーパー文字列」を使用できます。
私はこれがあなたを助けてくれることを願っています。詳細が必要な場合はお知らせください。
これは私が必要とするように聞こえる、私はそれを試してみよう、おかげで、ありがとう。 –
私はこのコードを変更しようとしていますが、私が取り除くことができないものは、sendMessage( "MyGameObject"、 "Spawn")、sendMessageは未定義です)に表示されるこのメッセージです。 だから私はこの "gameInstance.SendMessage()"を使用しようとしていると私はまだ同じエラーを取得し、私は本当に理由を知らない。 –
'SendMessage'を呼び出すためにインスタンスを取得する必要はありません。ケースが重要であることに注意してください。したがって、 'sendMessage'は' SendMessage'とは異なります。 – Kleber