UnityWebGl--Unity和Web的通信

最近走網頁存檔功能,需要獲取網頁登陸的用戶名,就收集整理了Unity和Web通信的一些知識。

使用的Unity 2017.3.0的版本,提示方法過時,但是還可以用。

新建一個項目,搭建一個簡單的場景:

創建一個Canvas,添加一個Test腳本。腳本里面內容:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour {

    public InputField input;//輸入
    public Text text;//顯示Web傳送過來得輸出

    /// <summary>
    /// 從Unity向Web發送數據
    /// </summary>
    public void UnityToWeb()
    {
        //參數一:Web裏面接收數據的方法,參數二:Unity傳遞的數據(我這裏是輸入就傳遞)
        Application.ExternalCall("GetFromUnity", input.text);
    }

    /// <summary>
    /// 接收Web發送過來得數據
    /// </summary>
    /// <param name="s"></param>
    public void WebToUnity(string s)
    {
        text.text = s;       
    }
   
}

我們把項目打包發佈,部署到服務器,

打開Index.html,在裏面添加對應的接收方法:

     

這個方法就是獲取從Unity傳遞的數據。注意方法名       需要和Unity裏面對應,方法裏面是修改id的顯示功能。在HTML裏面添加一個ID:

 

傳遞方法:

關鍵點就在SendMessage(),方法裏面的參數:Unity裏面有個叫做Canvas的物體。這個物體掛載的腳本里面有個WebToUnity的方法。把s傳遞給這個方法裏。

添加一個按鈕方法,點擊調用WebToUnity,並傳一個HelloWorld。看看效果:

Over

歡迎加羣:4364930討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章