Web Player是Unity3d自带的一个Web端插件。它可以作为普通的网站来用也可以与Unity3d进行交互。

现在先讲unity传向Web player的方法。非常简单只有一句代码: Application.ExternalCall();注意这个方法只用于Web Player。

调用一个包含在网页中的函数(只用于Web Player)。

调用包含在网页中名为functionNameJavaScript函数,并传递给定的参数。支持原始的数据类型(string, int, float, char)和这些类型的数字。如何其他的对象被转化为字符串(使用ToString方法)并作为字符串传递。

这个函数调用时不会被阻塞,即ExternalCall立即返回的功能而不必等待被完成。传递的参数数量是可变的。

// Calls MyFunction1 in web page with no arguments
// 调用网页上的MyFunction1并不使用参数。
Application.ExternalCall ("MyFunction1");// Calls MyFunction2 in web page with a string
//调用网页上的MyFunction2并使用字符串参数。
Application.ExternalCall ("MyFunction2", "Hello from Unity!");// Calls MyFunction3 in web page with several arguments of different types
//调用网页上的MyFunction3并使用几个不同类型的参数。
Application.ExternalCall ("MyFunction3", "one", 2, 3.0);

被调用的在HTML中的函数只需要使用标准的语法即可,例如:

<script language="JavaScript" type="text/javascript">
<!--
// Using the above call from Unity, this will   receive
// 使用来自Unity的调用,这将接受
// "Hello from Unity!" as the argument.
// "Hello from Unity!" 做为参数
function MyFunction2( arg ){alert( arg );}
-->
</script>

这个方法的理论已经讲完了,下面进行实例讲解:

这是我在unity3D里写的一段代码。实现功能是点击鼠标左键就会执行传向Web Player的方法。

下面是在Web Player中打开的代码。只写了一个方法(黄色线框中的方法)。这个方法用来接收unity传入的一个参数并且把这个参数显示在弹出的警告框中。

下面就是运行结果了:当点击鼠标左键时就会弹出这个框,并且把Unity里的数据传过来。这是在IE浏览器里看到的,有些浏览器会自动屏蔽弹框等等。大家最好找个适合开发测试的浏览器。

上面讲的是Unity如何向Web Player进行传输数据。下面讲一下Web Player如何向Unity传输。

首先我们要知道Web Player是unity打包出来的一个网页。打包出来的包里有两个文件,一个是网页文件.html,另个是unity文件。

例如我们刚才那个网页,如下:

当我们打开这个网页文件后在里面添加一句代码就可以传值给Unity.这个方法是:u.getUnity().SendMessage();

具体方法如下图:

下面详细解释一下,图中的var u = new UnityObject2(config);这句是打包出来的网页自带的语句。而黄色线框内的东西是我们自己写的方法。这句功能是当这个网页运行时候就会触发大括号里面的方法。而大括号里面首先有个警告框方法(上面已经讲过),另个方法就是传值给Unity的方法。具体参数类型是String:Plane是unity中必须存在而且可以找到的物体。SS是绑定给这个Plane物体的方法。而我是WEB Player这句是我们要发送给unity的消息。

通过以上的描述可以知道unity里必须要有东西去接收和显示这个传来的信息。那么在unity里如下:首先要存在一个Plane,而且有个脚本绑定在上面,还需要给一个Text来显示传来的信息。

再看这个脚本里的方法;方法名必须和WEB palyer里的那个一样即为SS,要有个参数而且是String类型的。

这样一切都准备完毕了。运行一下:

首先是弹出警告框:

然后点击之后就会看到,消息已经传到了unity的text里面:

这样就把Unity和web player之间的传输功能实现了。

Unity3D之Web Player与unity的互相传值交互相关推荐

  1. 【Unity3D自学记录】failed to update unity web player解决办法。

    相信很多人都遇到过"failed to update unity web player" 这个解决的方法只针对开发者哦~ 需要改生成的html 对照着修改一下~就可以了. < ...

  2. unity 程序win7在进程里运行_Win7系统中unity web player是什么程序

    unity web player是什么程序,可不可以卸载?下面教程给大家详细讲解"unity web player"程序.以及可以不可以卸载!一起去看看吧! 如果你安装好Win7没 ...

  3. “failed to update unity web player”失败的问题:

    我们使用浏览器加载unity 3d 文件,不同的网络可能会产生failed to update unity  web player的错误,详细信息为: unity web player update ...

  4. unity 程序win7在进程里运行_win7系统中出现的unity web player是什么程序?

    当我们使用不纯净的win7系统安装包重新安装win7系统的时候,就会有一些不知名的程序运行在系统中,最近就有一位小伙伴问小编,说他的电脑有一个叫做"Unity Web Player" ...

  5. Offline Web Player installers(unity web play 离线版 webplayer)

    原文地址:https://forum.unity.com/threads/offline-web-player-installers.367715/ With the recent announcem ...

  6. 适用于64位Windows的Unity 3.4 Web Player

    Update Dec. 4 2012: The unsupported 64-bit Windows web player is not currently in working state in U ...

  7. 【Unity3D学习记录#2】Android调用Unity界面 与 信息交互

    [Unity3D学习记录#2]Android调用Unity界面 与 信息交互 Android 调用 Unity Unity项目构建 Android项目构建 Android 与 Unity 的信息交互 ...

  8. Web Player TcPlayer

    Web Player TcPlayer 详细请参考:https://cloud.tencent.com/document/product/881/44876 概述 tcplayer lite主要用于在 ...

  9. Unity 开发总结之VLC Player for Unity插件的使用

    Unity项目开发过程中, 视频播放这块是避免不了的重要组成部分,网上也有很多资料做了详细的介绍,但基本都是基于Unity的MovieTexture对象,即要求视频源必须是导入的本地视频文件,如果视频 ...

最新文章

  1. fsum函数测试以及分析
  2. 『并发包入坑指北』之阻塞队列
  3. Linux下用iptables做端口映射
  4. JAVA中的通配符的符号_Linux下的通配符和特殊符号用法详解
  5. IDA无法反编译 and 提示错误
  6. wxWidgets:wxDataObject类用法
  7. sqlserver游标概念与实例
  8. 1057 数零壹 (20 分)
  9. web中hasmoreelements_Web开发模式【Mode I 和Mode II的介绍、应用案例】
  10. C#委托和事件的应用Observer模式实例
  11. SharePoint Windows Workflow Foundation
  12. 旷视发布3D感知全栈解决方案!现在,AI+3D只差杀手级应用了
  13. 如何把握软件产品的质量
  14. apiDoc之api接口文档生成
  15. 如何选择机器人的电机
  16. 解锁system分区
  17. iOS开发:Protocol协议以及委托代理传值
  18. redis如何设置密码
  19. 敬业签手机便签App怎么解绑微信互联设置?
  20. 苹果拍照怎么显示地点和时间_2020年康复理疗师证报名时间怎么报考考试地点...

热门文章

  1. xlnx qemu 参数记录 (机器自动生成)
  2. delta并联机器人/delta机械手工作空间模型相关程序源码
  3. 六轴机器人直角坐标系建立_详解|六轴机器人,SCARA机器人,直角坐标机器人和 Delta机器人...
  4. java获取环境变量路径_Java读取系统环境变量的方法
  5. java 界面编程_JAVA图形界面编程
  6. 建筑中人行为模拟研究现状和展望(2015)
  7. python启动应用程序 mac_如何使用Python在Mac OS X上的前台启动应用程序?
  8. 虚拟机中通过docker创建docker run -itd -p 8080:8080 -p 8088:8088 镜像ID /bin/bash创建后无法访问
  9. 基于椭球 磁补偿 matlab,基于椭球曲面拟合的三维磁罗盘误差补偿算法
  10. 无线传输最远可以传输距离_无线电源传输的梦想可能很快成为现实