IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity脚本与HTML网页互相传递参数 -> 正文阅读

[游戏开发]Unity脚本与HTML网页互相传递参数

?小白一个,如有错误,还请斧正.

????????最近学Unity发布成Webgl后如何与HTML网页进行交互的问题.(不知道生成EXE文件是否可行,有兴趣的可以试试 手动狗头)

????????我使用是Unity2019,其他版本会有不同,我也没试其他版本,仅供参考吧

Unity中:? ? ??

????????在Unity中创建一个脚本,编辑脚本

? 发送信息:

????????在需要向外部传递信息的地方添加下面代码(第一次写的话就加在start()里吧)

 Application.ExternalCall("HelloWorld", "Hello World!");

????????这段代码会调用HTML中编写好的脚本HelloWorld(上面代码的第一个参数)并向外部传递信息"Hello World!"(上面代码的第二个参数

(HTML脚本怎么写在下面解释)

? 接收信息:

? ? ? ? 加一个用于显示信息的文本,写一个带参数的方法,比如

public Text myText;
public void GetMessage(string str)
{
      myText.Text=str;
}

????????将脚本挂在一个GameObject上,在Hierarchy(中文名叫层级)中右键,添加一个Text组件(在UI选项中,中文名叫文本),并将脚本的myText选择为刚添加的Text

????????这样,Unity脚本部分就准备好了,左上角点击文件>生成设置>Webgl>切换平台,等待平台切换完成后点击生成,选择一个合适的文件夹等待生成.

HTML中:

? ? ? ? 打开上面生成的文件夹,找到一个后缀为.html的文件,右键选择合适的工具打开(一定要选择能编写代码的软件打开,比如VS,不要用浏览器打开,浏览器打开就直接运行了),打开之后会有

var unityInstance = UnityLoader.instantiate("unityContainer", "Build/WEBTest.json", {onProgress: UnityProgress});?

这么一段话,其中"Build/WEBTest.json"会不一样,你项目叫啥,这个.json文件就叫啥,没有影响.

在这么一段话下面添加如下代码

function HelloWorld(arge)//在unity中调用的方法
		{
			unityInstance.SendMessage("Main Camera", "GetMessage", "aaa");//(拥有方法的组件,方法,参数)
			alert(arge);
		}

?接收信息:

????????function SayHello(arge)是在unity中通过Application.ExternalCall("HelloWorld", "Hello World!");调用了HelloWorld方法,接收了参数Hello World!

????????alert(arge);弹出一个窗口,将数据显示出来(Debug用的,看看传没传过来数据)
?发送信息:

????????unityInstance.SendMessage("Main Camera", "GetMessage", "aaa");//(拥有方法的组件,方法,参数)实现了向Unity传输数据,此处可见它共有三个参数:

? ? ? ? 第一个参数是挂载脚本的物体的名字(我放在了摄像机上,所以为Main Camera)

????????第二个参数是脚本中接收信息的方法名,和上面所述的Unity中的接收信息的方法名一致,

? ? ? ? 第三个参数是你要传回的信息,和脚本中接收信息的方法的参数的数据类型要一致

做完之后别忘记保存,ctrl+s,然后关闭编写脚本的工具,用浏览器打开你生成的.html的文件试试效果吧

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-07-07 11:54:15  更:2021-07-07 11:54:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 0:53:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码