用途:为在 Remix 平台上创建移动端游戏提供一套强制性规范,确保游戏与平台 SDK、竖屏布局和移动端交互兼容。
主要能力与要求: 布局:仅竖屏,画布固定 720x1080(2:3),不使用横屏布局或控件,界面需适合拇指操作且文字可读。 SDK:必须在 HTML head 引入 https://cdn.jsdelivr.net/npm/@remix-gg/sdk@latest/dist/index.min.js;仅可使用 window.RemixSDK.ready()、gameState、hapticFeedback()、singlePlayer.actions.saveGameState({ gameState: {...} })、singlePlayer.actions.gameOver({ score: number })、onPlayAgain(() => { ... })、onToggleMute((data) => { ... })。 禁止:localStorage、sessionStorage、navigator.vibrate(...)、window.RemixSDK.vibrate(...) 及不存在的 SDK 方法(如 save、checkpoint)。 结束与重玩:只用 gameOver({ score: finalScore }) 结束,不自建结束界面,用 onPlayAgain 处理重玩。 状态:仅用 saveGameState 持久化,在 await window.RemixSDK.ready() 后从 window.RemixSDK.gameState 读取;状态需紧凑且可序列化。 触觉与音频:在碰撞、得分、UI 交互和游戏结束时调用 hapticFeedback();音频需遵循 onToggleMute 状态,建议用轻量 Web Audio API 音效。 框架:Phaser 2D 使用全局 Phaser(无 import),采用场景生命周期和 Arcade 物理,不在配置中设置 parent;Three.js + Cannon-ES 使用全局 THREE 与 CANNON,requestAnimationFrame 循环,含环境光与平行光,并每帧同步物理体与网格变换。 代码约束:仅 ES6 JavaScript,不用 TypeScript 与 import,浏览器运行时,需定义 initGame() 并在文件末尾调用。
适用场景:面向 Remix 平台的移动端小游戏开发与提交前自检。
限制:资料未提供平台审核细则、SDK 版本兼容范围、性能指标或分发方式;上述规则为强制项,违规用法被明确禁止。