您可以做的是在您的 Javascript 代码中向 Unity 发送消息,但您会让 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 中的“Press me”按钮时,游戏将生成一个对象,您可以在 Spawn() 方法中使用“超级字符串”作为数据。
我希望这对你有帮助。如果您需要更多详细信息,请告诉我。