Unity 发布的 WebGL 使用SendMessage传递多个参数
如果要实现Unity与浏览器的数据交互一般都会采用两种方式
方法一:
Application.ExternalCall("SayHello","helloworld");
这种方式可以在Unity中调用伊尔迷案中的JS函数
方法二:
SendMessage("Main Camera", "FunctionName", “参数”);
这种方式可以在网页中用JS代码往Unity中传递参数,调用对应的函数
但我在平时使用的过程中法闲了一个问题就是SendMessage只接受一个参数,这就非常尴尬了,万一我们预留的函数需要多个参数呢,这个问题困惑了我好几天

不论你怎么尝试着传递参数都会出现这种错误
我试过这样
SendMessage("Main Camera", "SetWenDu", 33,22);
还有这样
SendMessage("Main Camera", "SetWenDu", “33”+“22”);
但时候都会出现这种错误
直到我有一天看到了一个国外的博客
尊重版权我把原链接粘贴上
http://www.feedingedge.co.uk/blog/2011/03/09/browser-to-unity3d-communication-and-back-again/
我发现Unity的SendMessage本来就只支持一个参数,难怪我一直不成功
博客中使用了一种自定义分隔符的方式实现了多个参数的传递
unity中:
void inboundfunction(string indata)
{
string[] words = indata.Split('~');
data1 = words[0];
moredata2 = words[1];
anotherpiece3 = words[2];
}
JS中:
<script type=”text/javascript”>
<!–
function callbackunity(arg)
{
alert(arg);
var unity = unityObject.getObjectById(“unityPlayer”);
unity.SendMessage(“Rezzer”, “inboundfunction”, “item1~item2~item3”);
}
–>
</script>
这种方法把多个参数合并成一个参数在C#中使用split吧参数分割开这样就巧妙地实现了多个参数的传递
Unity 发布的 WebGL 使用SendMessage传递多个参数的更多相关文章
- Unity 发布的 WenGL 使用SendMessage传递多个参数
如果要实现Unity与浏览器的数据交互一般都会采用两种方式 方法一: Application.ExternalCall("SayHello","helloworld&qu ...
- unity发布的WebGL部署到IIS
一.创建WebGL代码 在win7下,Unity3D中发布WebGL,然后部署到IIS,只要代码是对,关键是添加mime类型 二.为网站添加mime类型 .json text/json .unity3 ...
- Unity发布WebGL时如何修改默认的载入进度条
Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...
- Unity 发布到IOS,Android的各种坑
Unity 发布到IOS的注意事项1.开发环境MAC环境:Xcode环境 7.2.1Unity环境:Unity5.32.基本说明首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的 ...
- 在Android Studio上测试运行,Unity发布成Android包的环境搭建步骤
我用的是unity5.4.3版本,jdk是1.8.0_131版本,Android-SDK是r24.4.1版本,Android-NDK是r13b版本,作者是刚开始写博客,希望对在unity摸索的人有 ...
- Unity发布至IOS的流程(踩坑记录)
这篇文章主要用于记录本人亲身经历过的Unity发布到IOS平台所遇到的所有坑(其实也就是一些自己并不明白的强制设定),以便于后续再有类似需求时少走些弯路. 我的环境: Unity 5.2.2 个人版( ...
- WebGl 多缓冲区传递颜色和坐标(矩形)
效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- WebGl 一个缓冲区传递颜色和坐标(矩形)
效果: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- Unity发布安卓Splash Image适应手机、平板
问题描述: Unity发布安卓应用时,遇到只能添加一张SplashImage而需要适配手机及平板不同分辨率处理 解决方法: http://blog.csdn.net/aiyan1111111/arti ...
随机推荐
- 日常API之百度翻译
百度翻译是什么,可以吃吗?相信很多人都熟悉,它是我们生活中必不可少的一只东东. 但是,百度翻译开发平台只有每月只能翻译200万个字符,多出的要按照49.00/百万字符来算.对于我酱紫的乞丐程序员来说, ...
- JAVAEE——SSH三大框架整合(spring+struts2+hibernate)
一.整合原理 二.导包(41个) 1.hibernate (1)hibernate/lib/required (2)hibernate/lib/jpa | java persist api java的 ...
- 多表链接 Left join
select * from( select U_User.LinkMan, SP_Approval.* ,SP_Approval_Msg.ApprovalUserID,ROW_NUMBER() ...
- 深度学习:Keras入门(一)之基础篇
1.关于Keras 1)简介 Keras是由纯python编写的基于theano/tensorflow的深度学习框架. Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结 ...
- (转载)Sybase:bcp命令参考
参考文档: http://blog.csdn.net/wwp1026/article/details/6900569
- Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法
当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为, ...
- PhysicsBasedAnimation学习记录
一.前言 1.概述 Google I/O'17推出了许多新的特性,在动画这一块又有新的API供开发者使用,在动画API中引入了DynamicAnimation,开发者可以使用新的API创建更加动态化的 ...
- java 关键字final
一.最终的意思,可以修饰类,方法,变量.特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量.二.面试相关: 1.局部变量基本类型 值不能发生改变 例如: ...
- MySQL oracle 分页
(1)MySql的Limit m,n语句 Limit后的两个参数中,参数m是起始下标,它从0开始:参数n是返回的记录数.我们需要分页的话指定这两个值即可. 比如:查询10行记录,起始行从3开始 SEL ...
- 理解Linux文件系统之inode
很少转发别人的文章,但是这篇写的太好了. 理解inode 作者: 阮一峰 inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础. 我觉得,理解inode,不仅有助于提高系统 ...