游戏采用 “挪车+拧螺丝”的玩法:玩家将不同颜色的螺丝从多层钢铁结构中拧下,并移动到对应颜色的盒子空位中。每填满一个盒子即可解锁下一个车位,最终填满所有盒子获得胜利。游戏包含数十个关卡,每个关卡具有独特的钢铁层结构、盒子类型与颜色组合。
点击空白处退出提示
语言技术
TypeScript系统类型
H5、小程序轻应用、Web行业分类
游戏参考价格
2000
游戏采用 “挪车+拧螺丝”的玩法:玩家将不同颜色的螺丝从多层钢铁结构中拧下,并移动到对应颜色的盒子空位中。每填满一个盒子即可解锁下一个车位,最终填满所有盒子获得胜利。游戏包含数十个关卡,每个关卡具有独特的钢铁层结构、盒子类型与颜色组合。
每 0.25 秒轮询当前可交互钢铁层的螺丝,综合 颜色匹配、层级遮挡判断(矩形相交检测)、螺丝可用标志,筛选出正确的螺丝。通过 convertToWorldSpaceAR 跨节点坐标转换,使用 Tween 缓动序列实现螺丝飞入盒子弹孔的平滑动画,并在动画中移除物理关节。根据铰链关节(hasHingeJoint)和特殊层配置(SpecialSteelLayer),动态显示当前可拧的钢铁层,实现“由外向内”逐层解锁螺丝的效果。通过 UIOpacity 控制螺丝 / 钢板的显隐,支持交互模式的动态切换。
利用 RigidBody2D 的铰链关节模拟螺丝固定在钢铁层上,拧下时触发 REMOVE_JOINT 事件,断开关节并使螺丝自由移动。集成 Spine 动画和 Tween 缓动,提升游戏氛围。
性能优化
使用 AssetsBundleMgr 按关卡 ID 加载钢构配置、盒子预制体、Spine 资源,关卡胜利后释放 Bundle,防止内存峰值累积。智能轮询schedule 定时器配合 _gameOver 标志位,在游戏结束后停止轮询,避免无效 CPU 消耗。通过 async/await 编排异步创建队列(盒子列表、钢铁层列表),并采用setTimeout(0) ,分帧创建盒子与钢铁层节点,避免单帧实例化过多导致掉帧。将每一关卡的独立钢板层图片设置自动图集配置减小drawcall并设置压缩纹理,减小包体体积及内存。



评论