像素法师:Canvas 像素动画生成提示词

这是一段用来生成「像素风法师施法动画」的完整提示词,目标产出物是一个单文件 HTML。画面先全部画在 128×96 的离屏画布上,再整数倍放大贴到屏幕;角色由矩形和像素色块程序化拼出,不带任何外部素材;动画走「待机 → 蓄力 → 释放 → 回落」四段状态机,配一套池化、零分配的粒子系统。照抄即可交给 AI 编程工具出成品。

提示词分五节,每节对应一个硬性要求:渲染管线(离屏画布、整数倍缩放、固定调色板)、角色构建(程序化像素造型与姿态参数)、动画驱动(状态机、缓动、粒子池、固定步长主循环)、场景(背景与轮廓光)、质量标准(像素锐利、循环无缝、剪影可读)。

创建一个单文件 HTML,用原生 JavaScript 和 Canvas 2D 渲染一段像素风法师施法动画。不使用任何外部素材、库或网络请求。

渲染
- 先把所有内容画到一张固定逻辑分辨率 128×96 的离屏 canvas 上,再按能完整铺满窗口的最大整数倍缩放,贴到全屏显示画布的正中央;关闭 imageSmoothingEnabled,CSS 设置 image-rendering: pixelated
- 所有绘制都对齐到整数坐标。不允许出现亚像素位置、抗锯齿、渐变或 shadowBlur
- 使用约 24 色的固定调色板:深蓝与深紫用于夜空,暖色用于袍子,再留 3~4 个亮色给魔法效果。每一个像素都必须来自这张调色板

角色
- 用填充矩形和像素色块程序化地搭出法师,尺寸约 24×32 逻辑像素:带弯折的尖帽、长胡须、有深色描边的双色阶袍子、顶端带宝石的法杖
- 姿态参数化:法杖角度、手臂抬起、头部倾斜、袍子摆动。参数先做平滑插值,再每帧量化到像素网格上,让运动呈现 8~12 fps 的像素动画手感,即使主循环跑在 60fps

动画
- 循环状态机:IDLE(两帧起伏,胡须摆动)-> CHARGE(法杖抬起,宝石闪烁,火星螺旋吸入)-> CAST(明亮爆闪,弹丸横穿画面,1~2 像素屏幕震动)-> RECOVER(回落归位)。关键帧之间用缓动函数过渡姿态参数
- 粒子系统必须是池化、零分配:预分配并复用。CHARGE 阶段火星绕宝石公转,CAST 瞬间向外爆开,每个粒子的调色板索引依次从白走到魔法色再走到暗色然后销毁。绘制时把粒子位置吸附到网格
- 固定 60Hz 步长更新,用 rAF 渲染。循环内零对象分配

场景
- 极简背景:深色夜空、几颗会闪烁的 1 像素星星、月亮、石板地面线。角色剪影必须清晰可辨
- 从宝石方向给角色打一道淡淡的 1 像素轮廓光,CHARGE 和 CAST 期间更亮

质量标准
- 任意窗口尺寸下像素都保持锐利、循环无缝衔接、稳定 60fps、剪影清晰可读
- 看起来应该像一段打磨过的 16-bit 精灵动画,而不是把矢量图形缩小