查看: 11596|回复: 6
打印 上一主题 下一主题

如何在Unity3d中实现和网页数据的交互

[复制链接]

130

主题

1

听众

6206

积分

高级设计师

Rank: 6Rank: 6

纳金币
6206
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-3-21 07:43:48 |只看该作者 |倒序浏览




由于unity3d的游戏引擎是和编辑器集成在一起的,所以它也是一个制作/开发平台。Unity3d是使用Javascript C#作为核心脚本语言来驱动整个游戏引擎,可以发布Exe执行文件或者打包为可供网页调用的一个独立的包文件。用Unity3d制作的工程具有高度的可移植性,可以在ps xbox360,android和 iphone mac 等系统上运行。









用Unity3d实现嵌入网页和Flash插入网页原理完全一致,也是使用ActiveX控件嵌入在网页中。所以和Flash一样,需要安装一个播放器插件(小于3M)。                       察看页面源代码,则可以看到如下嵌入部分









<objectid="UnityObject"

classid="clsid:444785F1-DE89-4295-863A-D46C3A781394"width="600"

height="450"codebase="http://webplayer.unity3d.com/download_webplayer/UnityWebPlayer.cab#version=2,0,0,0">




<param

name="src" value="MyDataFile.unity3d" />




<embed

id="UnityEmbed" src="MyDataFile.unity3d"

width="600"

height="450"type="application/vnd.unity"

pluginspage="http://www.unity3d.com/unity-web-player-2.x" />




</object>









在unity3d中和网络进行数据交互可以调用网页js函数,比如:




[pre]Application.ExternalCall(

"SayHello", "The game says hello!" );[/pre]









或者在unity3d中直接执行一段脚本代码如:




[pre]Application.ExternalEval([/pre][pre]

"if(document.location.host != 'unity3d.com') {

document.location='http://unity3d.com'; }"









如果在Unity3d中有一段用js写的功能函数:









function

MyFunction(param : String




    {




Debug.Log(param);




    }









需要在js中呼叫这个函数则可以这样写:




<script

type="text/javascript" language="javascript">




<!--function SaySomethingToUnity(document.getElementById("UnityContent").SendMessage("MyObject",

"MyFunction", "Hello from a web page!");-->




</script>









这里要注意的是MyObject代表Unity3d中的一个场景名称为MyObject ,MyFunction是调用的函数,最后一个字符为传递的参数。









与php,jsp等的表单数据交互很可能会是今后用到的主要方式,下面以php为例来进行说明。Unity3d可以实现向某个指定页面发送表单数据然后在php中使用_POST获取传递回来的表单数据。比如:









<?php




$action=$_POST["myform_action"];




if ($action!=””){echo$action;}




?>









在unity3d中我们发送数据的代码如下:









varform = newWWWForm();




form.AddField(

"myform_action", "Action1" );




vardownload =

newWWW( “www.XXXX.com/index.php”, form );



分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏1 支持支持0 反对反对0
回复

使用道具 举报

1

主题

1

听众

637

积分

初级设计师

Rank: 3Rank: 3

纳金币
637
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-3-21 09:08:07 |只看该作者
gd
回复

使用道具 举报

22

主题

1

听众

1465

积分

助理设计师

Rank: 4

纳金币
1465
精华
0
板凳
发表于 2012-3-21 13:12:38 |只看该作者
hd
回复

使用道具 举报

337

主题

1

听众

7332

积分

高级设计师

Rank: 6Rank: 6

纳金币
7331
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-3-21 20:52:44 |只看该作者
交互式
回复

使用道具 举报

337

主题

1

听众

7332

积分

高级设计师

Rank: 6Rank: 6

纳金币
7331
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-3-27 11:56:12 |只看该作者
回复

使用道具 举报

330

主题

1

听众

1450

积分

助理设计师

Rank: 4

纳金币
1448
精华
0
6#
发表于 2012-3-29 19:53:56 |只看该作者
  
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-11-25 03:41:55 |只看该作者
学习了。谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-21 09:12 , Processed in 0.089560 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部