SuperAPI AI 工具集

threejs-game

编程与开发

查看项目

更新于 10-16 08:06

技能介绍

用途:以事件驱动的模块化架构开发 Three.js 3D 浏览器游戏,适合新建 3D 游戏、添加 3D 功能或搭建 Three.js 项目。

主要能力与架构:要求固定目录结构 src/core(Game.js、EventBus.js、GameState.js、Constants.js)、systems、gameplay、level、ui、main.js。四大核心模式:所有模块通信走 EventBus 单例(on/once/off/emit/clear,事件用 domain:action 命名);状态集中在 GameState 单例并含 reset() 以支持重开;所有魔法数字、平衡值与资源路径放 Constants.js;Game 类负责初始化与渲染循环,使用 renderer.setAnimationLoop()。

技术栈与安装:Three.js three@^0.183.0(ESM)、Vite、JavaScript、npm。初始化命令:mkdir <game-name> && cd <game-name>;npm init -y;npm install three@^0.183.0;npm install -D vite。package.json 中加入 dev/build/preview 脚本。可用 import maps 以 CDN 方式在单 HTML 中免构建运行,需锁定版本。

输入与移动端:游戏须同时支持桌面与移动端,InputSystem 合并键盘、陀螺仪与触摸为统一模拟量 moveX/moveZ。iOS 13+ 需申请陀螺仪权限,失败则回退虚拟摇杆。

性能规则:限制 delta(Math.min(clock.getDelta(), 0.1))、pixelRatio 上限 2、对象池复用、默认关闭阴影与后处理、减少 draw call 与材质数量、及时 dispose。

Play.fun 安全区:读取 --ogp-safe-top-inset 与 --ogp-safe-bottom-inset 两个 CSS 变量,overlay 与底部控件需用其做内边距,避免被浏览器栏遮挡。

限制与未提供项:未提供具体价格、收费模式、性能实测数字或完整组件实现细节;参考文件 core-patterns.md、tsl-guide.md、input-patterns.md 的具体内容暂未提供。