注:关于Unity与Webgl的传参交互如这篇博客中介绍:https://blog.csdn.net/weixin_43779625/article/details/90316258
项目所用Unity版本:2018.2.10。语言:C#。运行结果:打包Webgl后,在电脑端运行网址场景中出现Cube,在手机端运行网址场景中出现Sphere。
场景布置如下图所示:
ShowManager脚本如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ShowManager : MonoBehaviour
{
public GameObject Cube;
public GameObject Sphere;
private void Awake()
{
Cube.SetActive(false);
Sphere.SetActive(false);
Application.ExternalCall("ShowObj");//唤起打包之后Html中的ShowObj方法。
}
public void GetInformation(string s)//打包后的Html中的SendMessage()里面的第二个参数
{
if(s=="true_1")
{
Cube.SetActive(true);
Sphere.SetActive(false);
}
else
{
Sphere.SetActive(true);
Cube.SetActive(false);
}
}
}
打包后的Html代码如下:
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Unity WebGL Player | TestConnection</title>
<link rel="shortcut icon" href="TemplateData/favicon.ico">
<link rel="stylesheet" href="TemplateData/style.css">
<script src="TemplateData/UnityProgress.js"></script>
<script src="Build/UnityLoader.js"></script>
<script>
var gameInstance = UnityLoader.instantiate("gameContainer", "Build/JudagePCorAndroid.json", {onProgress: UnityProgress});
function Reset()
{
var canvas = document.getElementById("#canvas");
canvas.height= document.documentElement.clientHeight;
canvas.width = document.documentElement.clientWidth;
}
function ShowObj() //承接Unity
{
var PC = IsPC();
gameInstance.SendMessage("ShowManager", "GetInformation",PC+'_'+1); //参数依次是:场景中挂载脚本的物体,脚本中与html交互的方法,需要传入的参数.
}
function IsPC() // 判断目前运行平台的方法
{
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++)
{
if (userAgentInfo.indexOf(Agents[v]) > 0)
{
flag = false;
break;
}
}
return flag;
}
</script>
</head>
<body onload="Reset()" onresize="Reset()">
<div class="webgl-content"style="width: 100%; height: 100%" >
<div id="gameContainer" style="width: 100%; height: 100%"></div>
</div>
</body>
</html>
项目工程及打包好的Html如下:
链接:https://pan.baidu.com/s/1rVDIQhxc-NScYbAUhBmKTQ
提取码:m2ed