【转】Unity 3D 引擎中数据交互问题

第一节:必备的基础知识

       在做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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值