星 蚀 竞 技 场
科幻竞技场游戏完整UI设计语言系统。从主菜单到战斗HUD,从角色选择到商城系统——6大核心界面,15个可复用组件,一套完整的设计Token体系。
Eclipse Arena 是一个虚构的科幻竞技场游戏,我为其设计了完整的UI系统。项目目标是在作品集中展示游戏UI设计能力——不仅限于静态界面,还包括交互原型、动画系统、以及完整的设计Token管理。
与常见的UI设计展示不同,这个项目所有界面都是可交互的。从按钮的悬停光晕、卡片的3D弹簧倾斜、到页面间的对角线转场——每一处动效都经过精心调校。
React 18 · TypeScript · Tailwind CSS · Framer Motion 11 · Vite 5 · NanoBanana2 (Gemini 3.1 Flash Image) · Cloudflare Pages
Canvas粒子背景 · Logo色散动画 · 悬停光晕菜单
8位AI生成英雄 · Spring 3D卡片 · 属性动画条
实时血蓝条 · 技能冷却 · 小地图 · 击杀信息流
40格拖拽网格 · 装备侧栏 · 稀有度光效
物品卡片 · Spring 3D倾斜 · 购买通知Toast
4标签页 · 游戏风格滑块/开关 · 键位绑定表
全部8位英雄角色原画和2张场景背景均使用 NanoBanana2 (Gemini 3.1 Flash Image) 生成。每个角色有独特的视觉风格、配色方案和职业特征。
工作流程:
8张角色原画(各 ~5.5MB PNG)· 2张场景背景(竞技场 7.1MB + 主菜单 5.5MB)· 总计 57MB · 生成时间 ~2分钟
项目的核心竞争力在于交互动效的实现深度。整个动画系统分为5个层次:
基于 AnimatePresence 的状态驱动导航。屏幕切换时触发对角线擦除转场,切换方向根据导航方向改变。退出动画和进入动画同时播放。
角色选择和商城卡片使用 useSpring + useMotionValue 实现。鼠标移动→卡片实时3D倾斜;鼠标离开→高刚度弹簧瞬间回弹(stiffness: 400, damping: 25)。每个卡片还有动态跟随的径向光晕。
战斗HUD具备实时状态更新:血量/蓝量条、技能冷却径向遮罩、击杀信息滚动(6秒自动清理)。使用 setInterval + useReducer 模拟游戏数据流。
Canvas 2D 粒子系统:120个粒子、连接线、颜色渐变。使用 requestAnimationFrame 实现60fps渲染,零布局开销。
完整的设计 Token 体系确保视觉一致性: