返回创业专题

Apple Watch / Motion Game

Wrist Shot:用 Apple Watch 手腕动作控制 iPhone 投篮

Wrist Shot 是一个 iPhone + Apple Watch 体感篮球原型。Apple Watch 读取手腕运动,估算瞄准、弧线、力度、旋转和稳定度,再把投篮消息发送到 iPhone 完成动画和计分。

产品摘要

这个项目验证一个核心假设:Apple Watch 的手腕动作可以作为轻量体感输入,让 iPhone 游戏获得更自然、更有趣的控制方式。

目标场景短时、轻量、可随手玩的体感小游戏。
核心设备iPhone 负责画面,Apple Watch 负责动作输入。
MVP 重点先用简化 2D 轨迹和宽容判定验证爽感。

体验流程

  1. 打开 iPhone App,看到球场、篮筐、预览弧线、得分和反馈。
  2. 打开 Apple Watch App,Watch 开始低频发送瞄准信息。
  3. 用户做出快速手腕投篮动作。
  4. Watch 发送 shot 消息到 iPhone。
  5. iPhone 根据力度、角度、瞄准和稳定度播放篮球轨迹并结算得分。

技术架构

iPhoneSwiftUI + SpriteKit,负责球场渲染、投篮动画、计分和反馈。
Apple WatchSwiftUI + CoreMotion,负责手腕动作读取和投篮检测。
设备通信WatchConnectivity 发送紧凑的 ShotMessage

关键文件包括 ShotModels.swiftCourtSceneView.swiftPhoneConnectivity.swiftMotionShotController.swiftWatchConnectivityClient.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,验证体感延迟和稳定性。
  • 后续可扩展为更多腕部动作小游戏,而不只是投篮。