0

我有一个带有 HTML5 模板的 Windows Phone 8 解决方案。我的游戏在一个 game.js 文件中,我在 webbrowser 的 body 标签中有一个脚本来实现我的游戏。游戏正常运行。

但是,Windows Phone 中的硬件后退按钮存在一些问题。它关闭了我的应用程序,我尝试过覆盖它,但我需要检测用户何时真正在玩游戏或已经在菜单屏幕中,所以我可以让应用程序决定是返回菜单还是关闭应用程序。

我正在考虑在我的 javascript/HTML5 游戏中使用全局变量:

    var IsPlaying = false

当用户单击主菜单上的开始按钮时,IsPlaying 变为 true。当用户单击硬件后退按钮时,我想在我的覆盖方法上评估 IsPlaying 的值:

        protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
    {
        bool IsPlaying = //Get value from game
        if (IsPlaying == true)
        {
            Browser.Navigate(new Uri(MainUri, UriKind.Relative)); //Restarts the game, thus bringing the user to the main menu
            e.Cancel = true;  //Cancels the default behavior.
        }
    }

所以我的问题是,如何从游戏中检索 IsPlaying 的值?谢谢

4

1 回答 1

1

您可以使用该WebBrowser.InvokeScript方法从 C# 代码中执行 Javascript 函数并检索返回值。因此,您可以在 Javascript 中编写一个函数来返回IsPlaying变量的值,然后在 C# 端使用InvokeScript.

于 2013-05-06T16:01:32.693 回答