从浏览器发送消息到Unity3D

Mar*_*yLu 1 javascript unity-game-engine unity-webgl

我正在尝试向Unity3D WebGl应用发送消息.

我的GameObject"Player"的控制器看起来基本上是这样的:

public class color : MonoBehaviour {

    void Start ()
    {
        gameObject.GetComponent<Renderer>().material.color = Color.red;
    }

    public void green(string s)
    {
        gameObject.GetComponent<Renderer>().material.color = Color.green;
    }
} 
Run Code Online (Sandbox Code Playgroud)

和我的Javascript方法如下:

function SaySomethingToUnity() {
    SendMessage("Player", "green", "teeeext");
}
Run Code Online (Sandbox Code Playgroud)

但是,当我称之为没有任何反应时.我究竟做错了什么?

Pro*_*mer 5

决定发表评论答案作为将来会遇到此问题的人的答案.

页面必须在从Unity调用任何函数之前完成加载,否则它将无法工作.当Unity尚未加载时,Objects您要发送消息的内容存在.因此会引发错误,否则如果Exception禁用则会无提示失败.因此,在从Unity调用Unity函数之前,您必须等待一段时间.