- 最后登录
- 2013-6-5
- 注册时间
- 2011-12-3
- 阅读权限
- 90
- 积分
- 6206
 
- 纳金币
- 6206
- 精华
- 0
|
由于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 );
|
|