第一节:必备的基础知识
在做Unity 3D引擎数据交互问题之前,需要必备以下知识。
1,您对Unity 3D要进行有针对性的了解,不要求您对Unity 3D有更深入的了解,在网上找些相关的介绍资料。比如:Unity 3D的脚本手册,一些Unity 3D图形界面的基本操作常识,本教程,假设您对Unity 3D用户界面相关对象有一些了解,对javascript和php有些了解。
2,先来认识下面一段代码,是不是同flash有相似性。其实Unity 3D的实现原理同flash差不多。
document.write('<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="800" height="500"> \n');
document.write(' <param name="src" value="game.unity3d" /> \n');
document.write('<embed id="UnityEmbed" src="game.unity3d" width="800" height="500" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /> \n');
document.write('</object>');
3.数据交互的Unity 3d函数 ,要实现同后台的交互您需要了解以下的一些知识.无论后台是用php,perl,c#,jsp都可以实现交互。
1>在Unity 3D中可以通过以下方式调用HTML中的函数.
在Unity 3D中写如下代码:Application.ExternalCall( "SayHello", "The game says hello!" );
在Html中编写一段Javascript代码:
<script type="text/javascript" language="javascript">
<!--
function SayHello( arg )
{
//将弹出Unity3d中传递的消息。
alert( arg );
}
-->
</script>
2>在Unity 3D中可以通过以下方式直接执行一段Javascript代码。
在Unity 3D中编写以下代码:
Application.ExternalEval(
"if(document.location.host != 'google.com') { document.location='http://google.com.com'; }"
);
3>在Html页面中用Javascript函数调用Unity 3D中的函数。
*Html页面中的Javascript函数如下:
<script language="javascript1.1" type="text/javaScript">
<!--
function SaySomethingToUnity(){
document.getElementById("UnityObject").SendMessage("First Person Controller", "ShowName", "<?=$name?>");
}
-->
</script>
其中UnityObject是Unity 3D 生成的Object对象的ID, First Person Controller是Unity 3D中的一个物体,ShowName是作用于该物体上的Javascript函数名,<?=$name?>是传递的消息,是一个字符串,可以是php语句,也可以是jsp语句.
还可以在Html页面中写以下的相同功能的函数.
<script type="text/javascript" language="javascript">
<!--
function SaySomethingToUnity()
{
GetUnity().SendMessage("First Person Controller ", " ShowName ", "<?=$name?>");
}
-->
</script>
*在Unity 3D中编写以下代码:
function ShowName(param:String){//外部调用函数
showName="Username: "+param;
}
同时在相关位置编写如下调用Html中的javascript代码。
Application.ExternalCall ("SaySomethingToUnity");
转载于:http://hi.baidu.com/skyhaiwei/blog/item/497639de18a83d69d1164e43.html