Files
HexTrails/labs/hex-video

HEX Video Lab 01

独立的 UI / 动效实验室,入口:http://localhost:4173/labs/hex-video/index.html。根目录运行 npm run dev;npm run build 会将 lab 一起输出到 dist/labs/hex-video/。

完整用色分析见 designv2.md 与 离线 HTML 手册,按项目 Design.md 结构整理,并附原尺寸参考帧、采样记录与色板。

视频研究

来源:examples/hex.mp4,416 × 960,约 30 fps,193.405 秒。已检查全片每 4–5 秒抽帧,并检查旋转器教学附近连续帧。

时间 可观察内容 Lab 实现
00:00 蓝青径向背景、竖直关卡线、顶部货币/体力、绿色开始按钮 地图场景,可选择关卡编号并进入试玩
00:05–00:35 浅灰背景、顶部操作栏、六边形灰底与彩色箭头,离场后露出底板 共用现有 Game / trace / swept collision;18 片可解实验棋盘
00:10–00:11 同色多片连续翻转离场 按用户要求适配为一片翻转,侧壁仅 4 px(逻辑画布 416 px 宽),不画堆叠或副本
00:40–00:45 蓝色胜利页、放射光、金币堆、收集按钮 旋转光芒、金币浮动、10 枚金币沿二次曲线飞入余额
01:48–01:52 暗色遮罩、淡蓝圆角教学卡、旋转器示意 解锁弹窗;旋转操作使用本项目整块底盘规则
01:52–03:00 更多形状、旋转器关卡、重复彩纸反馈 保留统一实验棋盘;双侧粒子喷发可独立触发
03:00–03:13 领奖与返回地图,包含商店平台画面 收集后返回地图,实验余额及关卡编号更新

视频多片叠放不等于单片本体很厚。本 lab 的美术约束是:薄侧边、轻倒角、轻投影,移动中也只渲染一片;不模拟视频的堆叠玩法。

交互与参数

  • 三个场景独立切换;自动演示通过真实可离场查询逐片清空,并自动进入领奖页。
  • 被阻挡的棋子向接触位置轻碰后返回,不扣操作数。撤销、提示、底盘旋转可用。
  • 动画速度 0.25×–1.5×;彩纸可单独触发;可开启轨道辅助线与参考帧对比。
  • 设置中可打开简单合成反馈音;默认静音。尊重系统减少动态效果偏好。
  • 桌面提供检查面板,窄屏上下排列;键盘 Tab 可聚焦棋子,Enter 操作;弹窗支持 Escape。
  • 试玩数据不写入主项目存档;地图编号仅用于 UI 演示,所有节点使用同一可解棋盘。

文件与移植

lab.js 负责 Canvas 棋子、单片翻转、粒子、金币曲线与场景交互;lab.css 负责 UI;fixture.js 提供确定性可解关卡。共用 src/core.js、src/geometry.js、src/path-math.js,未更改正式游戏玩法。

reference/ 的 JPG 是从视频提取的对比素材,不用作棋子或背景贴图。UI、棋子、金币、光芒均为 CSS / Canvas / SVG 重绘。图标和角色采用简化占位,没有复制原游戏角色、商店或平台 UI。色值、动效时长是视觉近似,不是从原游戏资源获取的精确参数。

当前是浏览器 lab;未做 Cocos 或微信真机验证。

HTML 手册包含可搜索/复制色板、原尺寸参考帧灯箱、箭头对比示例和完整正文,图片全部内嵌。修改 Markdown 或采样 JSON 后运行 npm run design:v2;根项目 npm run design 也会同步生成。