1、使用插件 Embedded Browser(3.1.0)
(1)使用方法
將預制體Browser (GUI)
放到Canvas
下面飞主,在Url
中輸入網址即可狮惜。
image.png
(2)監(jiān)聽前端網頁的方法。在Unity中監(jiān)聽前端代碼中同名方法Fun1()
碌识、Fun2()
void Start()
{
Init();
}
//監(jiān)聽前端的方法
void Init()
{
//無參數
browser.RegisterFunction("Fun1", args =>
{
UnityFun1(); //Unity中的方法
});
//帶參數
browser.RegisterFunction("Fun2", (JSONNode jk) =>
{
UnityFun2(jk[0].Value.ToString());
});
}
void UnityFun1()
{
Debug.Log("調用了方法1");
}
void UnityFun2(string str)
{
Debug.Log("調用了方法2" + str);
}
(3)Unity調用前端碾篡,給前端發(fā)消息。
browser.CallFunction("Fun3", str).Done();//Fun3為前端同名方法筏餐,str為參數
(4)注意事項
在客戶端中嵌入的前端網頁會遮擋整個UI面板拔疚,影響后面的物體點擊龙优,如果需要點擊后面的物體需要將RawImage
中的Raycast Target
取消勾選怎囚。
然后判斷鼠標位置,如果在前端網頁的位置上時惠呼,將RawImage
中的Raycast Target
勾選上。(若不勾選則點擊不了網頁上的按鈕等控件)峦耘。
Vector3 v3
void Update()
{
v3 = Input.mousePosition;
if (v3.x <= 480f && v3.y <= 1000f)
{
browser.GetComponent<RawImage>().raycastTarget = true;
}
else
{
browser.GetComponent<RawImage>().raycastTarget = false;
}
}
通過檢測前端網頁的像素點來檢測
Unity檢測UI上的像素 判斷像素的透明度