钥匙要点
- gamepad API是W3C的拟议标准,在浏览器之间提供了一个一致的API,用于连接游戏输入设备,例如Xbox Controller,以用于基于浏览器的体验的计算机。 >
- gamepad API提供了灵活性,并提供了对具有归一化值的按钮和轴的访问权限,并且GamePad对象提供了有关连接的GamePad的制造商和型号的详细信息。 >
- pxgamepad是一个辅助类,可提供更高级别的标准游戏板,例如Xbox One Controller,将按钮和轴索引映射到Xbox Controller上标记的熟悉名称。 > GamePad API能够通过自己的游戏板为多个玩家提供支持,但未来的改进可能会使用户可以在其游戏板上重新映射或自定义按钮功能,并且API为操纵和导航3D模型等非游戏场景提供了潜在的潜力。
本文是Microsoft的Web Dev系列的一部分。感谢您支持使SitietPoint成为可能的合作伙伴。 网络上的游戏已经有了HTML5技术(例如Canvas,webGL和Webaudio)的很长一段路。现在可以在浏览器中产生高保真图形和声音。但是,要提供真正的游戏体验,您需要为游戏设计的输入设备。 GamePad API是W3C的建议标准,旨在在浏览器之间提供一致的API。 > GamePad API允许用户将Xbox Controller(例如Xbox Controller)等设备连接到计算机,并将其用于基于浏览器的体验!如果您有游戏板,请尝试将其插入计算机,然后按下按钮。您会在下面看到Xbox控制器,以镜像您制作的每个动作!
>在这里进行交互尝试。>
本教程是Flight Arcade系列中的第三个教程 - 构建,以演示Web平台以及新的Microsoft Edge浏览器和EdgeHTML渲染引擎中的可能性。您可以在FlightArcade.com上找到有关WebGL和Web API的前两篇文章,以及本文的交互式代码和示例。 [YouTube XYAQ9TPMXRA]灵活的API

。
标准控制器映射有两个棍子,每个棍子由2个轴(x和y)表示。它还包括一个D-pad,4个游戏按钮,顶部按钮和触发器:在GamePad API中均表示为按钮。
> 当前Xbox控制器报告按钮状态为0(正常状态)或1(按下)。但是,您可以想象将来的控制器可以报告每个按钮施加的力量。Xbox D-Pad还报告了离散值(0或1),但是棒可在整个轴范围内提供连续值[-1 .. 1]。这种额外的精度使我们更容易在我们的飞行街机任务中驾驶飞机。
>> pxgamepad
GamePad API提供的按钮和轴的数组是前瞻性思维,并且是低级API的完美思维。但是,在编写游戏时,很高兴能像Xbox One Controller这样的标准游戏手柄较高级别的代表。我们创建了一个名为PXGAMEPAD的帮助人类,该类将按钮和轴索引映射到Xbox Controller上标记的更熟悉的名称。。
>我们将浏览库的一些有趣的部分,但是可以在此处提供完整的源代码(MIT许可证):https://github.com/thinkpixellab/pxgamepad标准游戏板API提供按钮状态作为按钮数组。同样,该API设计用于灵活性,允许具有各种按钮计数的控制器。但是,在编写游戏时,使用标准映射按钮名称的编写和读取代码要容易得多。
> PXGAMEPAD类包含一种更新方法,该方法将收集所有标准映射按钮和轴的状态。因此,确定按下左边扳手是否与访问布尔属性一样简单:
>
标准GamePad API中的轴也作为数值数组提供。例如,以下是获得左棒的归一化x和y值的代码:

:
>这是使用navigator.getGamePads()API: >
GamePad的未来 >
>令人兴奋地想象新游戏板API提供的所有可能性。现在是尝试新的GamePad API并为您的下一个游戏或应用程序添加很多乐趣的好时机! 与JavaScript更多动手
> GamePad API是什么? GamePad API是一个基于Web的接口,允许开发人员访问和响应GamePad或Controller的信号。该API旨在与任何类型的游戏板一起使用,使其成为游戏开发人员的多功能工具。它提供了一种直接与GamePad互动的方法,而无需通过第三方软件或驱动程序。> >哪些类型的gamepads与gamepad api兼容?与各种游戏板兼容。这包括带有按钮和操纵杆的标准游戏手柄,以及更专业的控制器,例如转向轮或飞行棒。 API还可以一次处理多个游戏手柄,允许进行多人游戏。 > gamepad API是所有浏览器支持的游戏板API吗?是基于Web的接口,并非所有浏览器当前都支持它。但是,大多数现代浏览器,包括Chrome,Firefox和Edge,都支持GamePad API。在开始开发之前,最好检查当前对API的浏览器支持。 可以将GamePad API用于手机游戏吗? >如何测试GamePad API?可以通过将GamePad连接到计算机并运行使用API的游戏来测试GamePad API。然后,您可以在游戏板上按下按钮,看看是否在游戏中触发了相应的操作。
HTML5 GAMEPAD API的另一个限制是不提供按钮级别事件。游戏开发人员想要激活按钮按下的单个事件是很常见的。在Flight Arcade中,点火和制动按钮是一个很好的例子。 PXGAMEPAD手表按钮状态,并允许呼叫者在发布按钮上注册通知。
有两种检索游戏板对象的方法。 GamePad API将方法添加到名为GetGamePads()的Navigator对象,该对象返回所有连接的游戏板的数组。每当新的GamePad连接或断开连接时,还会有新的GamePadconneconnecon和GamePaddisconstisconneconness事件。例如,这是PXGAMEPAD助手如何存储最后一个连接的GamePad:
> PXGAMEPAD助手类是针对单个用户使用标准映射游戏板的游戏设计的简单场景。最新的浏览器(例如Microsoft Edge)完全支持W3C GampePad API。但是,其他一些浏览器的较旧版本仅支持新兴规范的部分。 PXGAMEPAD聆听游戏板连接的事件,并在需要时回到查询所有GamePad的列表。
> PXGAMEPAD专注于简单,最常见的情况,但GamePad API完全有能力支持多个玩家,每个玩家都有自己的游戏板。 PXGAMEPAD的一种可能改进可能是提供一个经理风格的类,该类别跟踪多个游戏板的连接并将它们映射到游戏中的多个玩家。另一个可能是允许用户重新启动或自定义游戏板上的按钮函数。
>在开发飞行街机期间,我们经常使用搅拌机和其他3D工具来处理Babylon.js的模型。一些开发人员和艺术家使用称为3D鼠标的设备来帮助操纵和导航3D型号。这些设备跟踪单个旋钮穿过六个轴的运动!它们使操纵模型变得非常容易快捷。除游戏外,它们还用于从工程到医学成像的各种有趣的应用中。在为飞行街机上添加GamePad支持时,我们惊讶地发现GamePad API检测到了我们的3D空间,并为所有六个轴提供了移动数据!
2015年Microsoft Edge Web峰会(Microsoft Edge Web Summit)(新浏览器,新的Web平台功能和社区的嘉宾演讲者的期望完整系列)>
的问题
游戏板API如何工作?
gamePad API通过检测游戏板的输入并将其转换为游戏中的动作来工作。它通过聆听特定事件(例如按钮按下或操纵杆的动作)来实现此目的,然后触发游戏中相应的动作。这允许更具身临其境和互动的游戏体验。>我如何在自己的游戏中使用GamePad API?在您自己的游戏中使用GamePad API,您将需要包括它在您的游戏代码中。这涉及调用API的功能并聆听其生成的事件。然后,您可以使用这些事件来控制游戏的各个方面,例如字符运动或菜单导航。
>我可以将GamePad API与其他API一起使用吗?创建更复杂的游戏。例如,您可以使用GamePad API来控制角色运动,而使用另一个API处理游戏物理或图形。
>>开发人员使用GamePad API时会面临哪些常见问题? GamePad API包括检测正确的游戏板,处理多个游戏板以及处理不同的按钮布局。这些问题通常可以通过仔细阅读API文档并彻底测试游戏来解决这些问题。
,而GamePad API主要设计用于用于使用桌面浏览器,也可以用于手机游戏。但是,这需要一个与移动设备兼容的游戏板,并且用户体验可能不如桌面游戏那么光滑。
>我在哪里可以了解有关GamePad API的更多信息?这包括官方的API文档,以及各种游戏开发网站上的教程和指南。您还可以找到使用API在行动中看到它的游戏示例。
以上是GamePad API的真正游戏体验的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中