查看: 1789|回复: 0
打印 上一主题 下一主题

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

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

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

跳转到指定楼层
楼主
发表于 2012-3-22 14:44:08 |只看该作者 |倒序浏览
    第一节:必备的基础知识
       在做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">
');
document.write(' <param name="src" value="game.unity3d" />
');
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" />
');
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
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

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

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-6 01:42 , Processed in 0.083602 second(s), 29 queries .

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

© 2008-2019 Narkii Inc.

回顶部