在网页中交互unity3d

来源:互联网 发布:阿里云公司 编辑:程序博客网 时间:2024/06/04 19:34

1、在unity3d中调用网页js函数

       如果在html中有脚本函数,则在unity3d中我们可以使用Application.ExternalCall调用js函数,改方法只适合在web3D环境下使用。

该方法支持基本类型的传递和数组传递,任何类型都会转换成字符串类型使用。


例子代码

        Application.ExternalCall("SayHello","hello world");    //调用SayHello,传递一个字符串


2、在网页脚本中调用unity3d函数

        <script type="text/javascript">
        <!--
             var unityObjectUrl = "http://wp-china.unity3d.com/download_webplayer-3.x/3.0/uo/UnityObject2.js";
             if (document.location.protocol == 'https:')
             unityObjectUrl = unityObjectUrl.replace("http://", "https://ssl-");
             document.write('<script type="text\/javascript" src="' + unityObjectUrl + '"><\/script>');
        -->
        </script>


<script type="text/javascript">
        <!--
            var config = {
                width: 960,
                height: 600,
                params: { enableDebugging:"0", disableContextMenu: true,            
                logoimage: "__ROOT__/3D/3D_Login.png",
             progressbarimage: "__ROOT__/3D/front.png",
             progressframeimage: "__ROOT__/3D/black.png",
         baseDownloadUrl: "http://wp-china.unity3d.com/download_webplayer-3.x/",
         autoupdateURL : "http://wp-china.unity3d.com/autodownload_webplugin-3.x",
         autoupdateURLSignature : "02a5f78b3066d7d31fb063186a2eec36fdf1205d49c6b0808eb37ef85ed9902e2e1904d87f599238a802ba0abbfe4f18aa82dd2eb5171e99ba839a5cea9e6ea9c1be9eae505937b56fe4a5fd254cffe08958d961f42d970136b5eab9e6c2cd08b81bc8a11e5ade57dc63dcfef2248d89689e4d4feed3cdfe7374c848fd57ebd4"
                }
                
            };
            var u = new UnityObject2(config);

            jQuery(function() {

                var $missingScreen = jQuery("#unityPlayer").find(".missing");
                var $brokenScreen = jQuery("#unityPlayer").find(".broken");
                $missingScreen.hide();
                $brokenScreen.hide();
                
                u.observeProgress(function (progress) {
                    switch(progress.pluginStatus) {
                        case "broken":
                            $brokenScreen.find("a").click(function (e) {
                                e.stopPropagation();
                                e.preventDefault();
                                u.installPlugin();
                                return false;
                            });
                            $brokenScreen.show();
                        break;
                        case "missing":
                            $missingScreen.find("a").click(function (e) {
                                e.stopPropagation();
                                e.preventDefault();
                                u.installPlugin();
                                return false;
                            });
                            $missingScreen.show();
                        break;
                        case "installed":
                            $missingScreen.remove();
                        break;
                        case "first":
                        break;
                    }
                });
                u.initPlugin(jQuery("#unityPlayer")[0], "__ROOT__/3D/myUnity.unity3d");
            });
        -->


function State(msg) {
            
                if (msg == "ok") {
                    
                    var result;
                    
                    if(username==""||userpass=="")
                        result = "";
                    else
                        result = username + "|" + userpass;
                    var senceresult = oldSenceName + "|" + SenceName;
                    var page = myPage;

                    //alert("用户名密码:" + result + "场景:" + senceresult + "来源" +page)
                    u.getUnity().SendMessage("Login", "LoginSenceFromWebpage", senceresult);
                    u.getUnity().SendMessage("Login", "LoginFromWebpage", result);
                    u.getUnity().SendMessage("Login", "LoginYesOrNoFromWebpage", page);
                }
            }
        </script>


<div id="unityPlayer">
            <div class="missing"> <a href="http://unity3d.com/webplayer/" title="Unity Web Player. Install now!"> <img alt="Unity Web Player. Install now!" src="http://wp-china.unity3d.com/installation/getunity.png" width="193" height="63" /> </a>
            </div>
            <div class="broken"> <a href="http://unity3d.com/webplayer/" title="Unity Web Player. Install now! Restart your browser after install."> <img alt="Unity Web Player. Install now! Restart your browser after install." src="http://wp-china.unity3d.com/installation/getunityrestart.png" width="193" height="63" /> </a>
            </div>
      </div>

原创粉丝点击