虚拟游戏控制器(VGC)使创建用于游戏和其他目的的基于软件的控制器变得易于使用,从而使您能够轻松地使用另一台iOS设备(或其他多个设备,例如在TVOS游戏的情况下)。该框架包装了Apple的GCController Framework API,使其易于模拟支持您自己的基于软件的控制器和基于硬件的控制器,这些控制器符合MFI标准,并具有单个代码库。 GCCONTROLLER API既支持直接读取游戏控制器元素的值(轮询)的值,又要在使用基于块的处理程序更改值更改时注册。 VGC以相同的方式操作,并支持基于软件和基于硬件的控制器的GCController API的所有功能。
虽然VGC通常用来使iOS设备充当另一iOS或TVOS设备的控制器,但在两个iOS设备充当同行的情况下,也可以使用它,并在每个设备上呈现共享的游戏环境。在这种类型的实现中,用户通过屏幕上的控件输入贯穿整个框架,并由两个设备上的处理程序处理。 VGC支持轻松创建自定义元素类型,包括图像和数据类型,因此可以在两个设备之间协调游戏逻辑(例如状态)。此功能非常适合与两名玩家的桌面游戏,包括Arkit游戏,您希望两家玩家都可以在共同的游戏空间看到和行动。
重要的是:该框架配备了iOS,TVOS和MACOS的丰富示例应用程序,包括Scenekit和SprikeKit示例。在iOS外围和iOS中央样本项目中,出现了大量的文档,如注释,在单独的设备上使用这两个项目是最佳起点。接下来,考虑尝试SceneKitshipDemo,这确实可以感觉到该框架如何增强游戏。如果您难以完成示例项目的工作或其他任何问题,请通过[email protected]与我联系。
VirtualGameController是Apple游戏控制器框架的替换,因此可以轻松地集成到现有的基于控制器的游戏中。
在以下情况下, VirtualGameController可能很有用:
工作空间中包括特定于平台的框架项目。一个框架文件支持外围设备(基于软件的控制器)和中心(即您的游戏)。
import VirtualGameController
请注意,您目前还需要import GameController
。
请参阅Wiki上的说明以利用目标C。
cocoapods提供了初步支持。
为了使用迦太基集成,请将VGC添加到您的Cartfile:
github "robreuss/VirtualGameController"
然后使用特定于平台的命令来创建您需要添加到项目中的构建产品:
carthage update --platform iOS
carthage update --platform OSX
carthage update --platform tvOS
carthage update --platform watchOS
该项目包括一个配对应用程序,该应用程序可以实现大多数可用的框架功能和设置,并提供通常有用的测试环境。
注意:由于IP地址共享,您无法一次使用模拟器运行一个以上的应用程序。在模拟器中运行中央或外围设备,并使用硬件设备进行交互。
Peripheral_iOS
示例项目提供了基于软件的游戏控制器的参考实现。一旦您在游戏(中心)中实现VGC后,您可以使用topheral_ios应用程序对其进行测试:
Central_iOS
示例项目提供了中央(您的游戏,外围设备连接的游戏)的参考实现。它提供了一种直接测试您的外围设备实现的方法:
请随时使用LinkedIn或[email protected]与我联系。
VirtualGameController是围绕Apple的游戏控制器框架的包装纸,因此使用VGC使用硬件控制器与Apple的Game Controller Framework相同。有关其他详细信息,请参见下面的游戏集成部分和示例项目。
麻省理工学院许可证(MIT)
版权(C)[2018] [Rob Reuss]
特此免费授予任何获得此软件副本和相关文档文件(“软件”)的人,以无限制处理该软件,包括无限制,使用,复制,修改,合并的权利,发布,分发,分布和/或出售该软件的副本,并允许提供该软件的人,但要遵守以下条件:
上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人均不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权或其他方面的诉讼中,与软件或与软件或使用或其他交易有关的诉讼或其他责任软件。
来自这里的徽标