3

我正在使用 NodeJS 和 EaselJS 构建一个小游戏,该游戏在本地托管的浏览器中运行良好。我下载了 Visual Studio 并开始使用它创建 UWP,这样我就可以在我的 Xbox One 上玩了。Visual Studio 基本上只是中间人,因为我使用“起始页”并将其指向我本地托管的 Web 服务器来创建应用程序,而不是尝试重新发明轮子。

仅当它作为 Window/Xbox 应用程序运行时,我想利用某些 Windows.UI 功能,特别是在电视上显示的 Overscan 功能。到目前为止,我一直无法让 JS 检测执行类型。我已经添加

if (Windows)
{
    Windows.UI.ViewManagement.ApplicationView.getForCurrentView() ...
}

但是当我在常规的 ol 浏览器中运行它时,我得到一个 Windows 未定义的参考错误。我也试过

if(typeof Windows !== 'undefined'){....

这使得浏览器版本工作正常,但 Visual Studio 中的部署测试也看不到它(我放置了一个调试控制台输出以确保)。

是否有可能拥有两全其美的执行力,还是我需要全力以赴并在 VS 中开发特定版本的游戏以获得我想要的?

4

2 回答 2

1

弄清楚了。if(typeof) 解决方案是部分正确的,所以指向那里 Shawn。我没有做的是在 Visual Studio 的 appxmanifest 中包含对 URI 的 WinRT 访问。一旦我告诉它在应用程序端实际查找 Windows,我就会得到我的调试输出并且屏幕正在适当地缩放。无论如何,谢谢你看看!

于 2017-05-18T23:47:51.697 回答
0

我可以想到两种可能的选择。首先检查对象的类型:

if(typeof Windows != 'undefined')
{
}

Windows其次,在检查之前声明一个变量。在javascript中重新声明一个变量是可以的。它不会覆盖原来的。

var Windows;
if(Windows)
{
}
于 2017-05-18T23:07:52.240 回答