Apple Watch / Motion Game
Wrist Shot:用 Apple Watch 手腕动作控制 iPhone 投篮
Wrist Shot 是一个 iPhone + Apple Watch 体感篮球原型。Apple Watch 读取手腕运动,估算瞄准、弧线、力度、旋转和稳定度,再把投篮消息发送到 iPhone 完成动画和计分。
产品摘要
这个项目验证一个核心假设:Apple Watch 的手腕动作可以作为轻量体感输入,让 iPhone 游戏获得更自然、更有趣的控制方式。
体验流程
- 打开 iPhone App,看到球场、篮筐、预览弧线、得分和反馈。
- 打开 Apple Watch App,Watch 开始低频发送瞄准信息。
- 用户做出快速手腕投篮动作。
- Watch 发送
shot消息到 iPhone。 - iPhone 根据力度、角度、瞄准和稳定度播放篮球轨迹并结算得分。
技术架构
iPhoneSwiftUI + SpriteKit,负责球场渲染、投篮动画、计分和反馈。
Apple WatchSwiftUI + CoreMotion,负责手腕动作读取和投篮检测。
设备通信WatchConnectivity 发送紧凑的
ShotMessage。关键文件包括 ShotModels.swift、CourtSceneView.swift、PhoneConnectivity.swift、MotionShotController.swift 和 WatchConnectivityClient.swift。
本地调试方式
Debug 构建会在 iPhone 上显示调参面板,可以不用 Apple Watch,直接调整瞄准、弧线和力度,再点击篮球按钮触发同一套计分逻辑。
xcodegen generate
xcodebuild -project WristShot.xcodeproj \
-scheme WristShot \
-destination 'platform=iOS Simulator,name=iPhone 17,OS=26.3.1' \
-configuration Debug \
build CODE_SIGNING_ALLOWED=NO ENABLE_DEBUG_DYLIB=NO
ENABLE_DEBUG_DYLIB=NO 用于命令行模拟器启动,避免 App 安装后出现黑屏壳的问题。
迭代方向
- 继续调优
MotionShotController的动作阈值和力度映射。 - 优化
ShotPhysics的轨迹和命中容差,让反馈更符合直觉。 - 增加连击、限时挑战、命中区域和训练模式。
- 真机联调 iPhone + Apple Watch,验证体感延迟和稳定性。
- 后续可扩展为更多腕部动作小游戏,而不只是投篮。