围绕 Apple Game Controller Framework 的 AsyncSequence 包装器。
import SpriteKit
import GCOverseer
class GameScene: SKScene {
let gcOverseer = GCOverseer()
override init(size: CGSize) {
super.init(size: size)
// 🎮 Handle game controller connection/disconnection asynchronously
Task {
for await controllerEvent in gcOverseer.connectionStream {
switch controllerEvent {
case .connected:
print("A game controller connected.")
case .disconnected:
print("A game controller disconnected.")
}
}
}
}
}
属性 | 描述 |
---|---|
var connectionStream: AsyncStream<GameControllerEvent> |
提供一个 AsyncSequence 用于观察游戏控制器的连接/断开连接事件。 |
var controllers: [GCController] |
返回连接到设备的所有控制器。 例如,DualShock、Xbox、Siri Remote 控制器等。 |
API | 描述 |
---|---|
extendedGamepadControllers() |
返回所有支持连接到设备的 extendedGamepad 配置文件的控制器。 例如,DualShock、Xbox 控制器等。 |
dualShockControllers() |
返回所有连接到设备的 DualShock 控制器。 |
dualSenseControllers() |
返回所有连接到设备的 DualSense 控制器。 |
xboxControllers() |
返回所有连接到设备的 Xbox 控制器。 |
microGamepadControllers() |
返回所有支持连接到设备的 microGamepad 配置文件的控制器。 例如,Apple 的 Siri Remote。 |
motionControllers() |
返回所有支持连接到设备的 motion 配置文件的控制器。 |
controllerFor(playerIndex:) |
返回玩家 1、玩家 2 等的控制器。 |
enableLogging() / disableLogging() |
启用/禁用日志输出。 |
使用 Xcode 的 内置 SPM 支持。
或者...
在您的 Package.swift
中,添加 GCOverseer
作为依赖项
dependencies: [
.package(
url: "https://github.com/backslash-f/gcoverseer",
.upToNextMajor(from: "2.0.0")
)
]
将依赖项与您的目标关联
targets: [
.target(
name: "YourTargetName",
dependencies: [
.product(
name: "GCOverseer",
package: "gcoverseer"
)
]
)
]
运行: swift build