这个效果是怎么做出来的
半圆仪表盘用 SVG 的圆弧描边实现:一条 180 度的 path 作为轨道,刻度三段颜色就是三条不同颜色的弧段按角度拼起来。指针(或发光弧)从起点扫到当前值,用的还是 stroke-dashoffset 那套——把弧长换算成 dasharray,offset 归零的过程就是扫过的过程。到位时的轻微回弹靠缓动曲线:用一段会超过目标再回来的 cubic-bezier,指针冲过头 3 到 5 度再荡回,机械仪表的物理感就出来了。中心数值用计数动画同步涨到位。
有一个容易被忽略的换算:值域到角度的映射要统一写成一个函数,指针角度、弧长、刻度位置全都从它出,三段颜色的分界才不会和指针读数对不上。
怎么用这条提示词
适合速度、信用分、完成率这类「一个值定生死」的场景。发给 AI 时给出值域范围和三段颜色的分界点(比如 0 到 60 绿、60 到 80 黄、80 以上红),它会生成对应的弧段几何。想改成指针加弧光双层显示,补一句「弧光跟随指针但短 10 度」即可。
想效果更好?试试这些
扫动时长 800 到 1200 毫秒最像真仪表,太快像电子动画,太慢像卡了。回弹幅度控制在 5 度以内,夸张了显得便宜。三段颜色之间留 2 度的暗色缝隙,刻度感立刻出来。数值动画用 easeOut 而不是线性,前快后慢和指针的物理减速一致,两者不同步时人眼会立刻察觉违和。