PicoPixel

什么是精灵(Sprite)?

了解精灵控件的用途,学习创建包含多种动画状态的控件,并在不同项目中复用。

EDEd
spritepicopixel
已更新2026-05-29
01/07

概览

本指南介绍 PicoPixel 精灵控件的基本用法:它是什么、何时使用、如何创建、如何响应界面事件,以及如何在其他项目中复用。

无需动画制作经验,只要会拖放图片,就可以开始。

02/07

什么是精灵?

精灵(Sprite)是一个包含多种动画的 PicoPixel 控件,可以按需切换播放。每段动画称为一种模式或状态,例如 Idle(待机)、Running(奔跑)或 Happy(开心)。

可以把它想成游戏角色:屏幕上始终是同一个角色,但会根据情况走路、跳跃或挥手。精灵也是如此,一个控件承载多种动作,由你决定何时播放。

通过事件编辑器,可以让精灵根据条件切换状态。例如为 ESP32 或其他 LVGL 应用制作动画角色或 Stack-chan 表情时,可以在一个精灵中设置 Running、Thinking、Failed 等模式,无需分别管理多个控件。

TIP

LVGL 本身没有原生的多状态精灵控件。PicoPixel 在 LVGL 动画图片控件的基础上实现了这一功能,并负责生成切换逻辑。

03/07

什么时候使用精灵?

可以按以下方式选择:

  • 只显示一张静态图片:使用 Image 控件。
  • 只循环播放一种动画,例如旋转的加载图标:使用 Animated Image,更简单也更轻量。
  • 需要根据情况切换动画,例如任务完成时露出笑脸,或从待机切换为奔跑:使用 Sprite。

只要图形有多种动作或表情,并且需要在它们之间切换,就适合使用精灵。

04/07

如何创建精灵?

  1. 添加 Sprite 控件,在右侧边栏添加第一个模式,例如 Idle。为每个模式起一个清楚的名称,便于之后配置事件。
  2. 上传构成该模式的图片帧。图片按顺序播放,就会形成动画。可以调整该模式的播放时长:时长越长,动作越慢;时长越短,动作越快。
  3. 添加第二个模式。精灵至少需要两个模式;如果只需要一段动画,使用 Animated Image 更合适,见什么时候使用精灵?。
  4. 在 Events 标签中配置事件,根据条件切换模式,具体方法见下一节。
WARNING

同一个精灵的所有模式中,每一帧都必须具有完全相同的宽度和高度。如果有的帧为 64×64,有的为 80×80,动画就无法正确对齐。请在上传前统一尺寸。

NOTE

请合理控制帧数和图片尺寸。更多帧通常能让动画更流畅,更大的图片能呈现更多细节,但都会增加内存占用,尤其是在小型微控制器上。如果烧录后精灵无法显示,请参阅常见问题。

05/07

让精灵响应事件

精灵的作用在于根据情况切换动画。使用事件编辑器,可以配置“某件事发生时,切换到指定模式”。触发条件可以是按钮点击、数值变化或定时器等。

例如:

  1. 精灵默认播放 Idle。
  2. 添加一个事件,在按钮按下时切换到 Running。
  3. 再添加一个事件,在任务完成时切换到 Happy,或返回 Idle。

这样无需手写动画代码,精灵就能响应用户操作。你可以继续添加事件,丰富角色的表现。

TIP

先用两个模式验证切换效果,在预览中确认无误后,再逐步添加更多模式。

06/07

如何复用精灵?

制作完成后,可以通过资源库在其他项目中使用:

  1. 右键点击精灵控件,选择 Add Library Widget。Assets 标签的资源库中会新增一个可复用条目。
  2. 要移到其他项目或分享给队友,打开 Library 并选择 Export。
  3. 在新项目或已有工作区中导入该库,再将精灵拖入画布。

帧、播放时长和模式都会一同保留,其他项目中也能使用相同的动画。

07/07

常见问题

烧录到设备后,精灵不显示。

  • 最常见的原因是内存不足。设备需要足够的 RAM 来存放图片帧。
  • 可用内存由开发板及 LVGL 配置决定,需要在固件项目中调整。
  • 导出的 README.md 会说明相关要求,可以让 AI 编程助手参考它,帮助调整 SDK 或 LVGL 配置。

动画帧错位或跳动。

  • 检查所有模式中的每一帧,确保尺寸完全一致。即使只差几个像素,也会影响对齐。

动画太快或太慢。

  • 调整对应模式的播放时长。每个模式独立设置,可能需要分别修改。

无法保存,提示需要再添加一个模式。

  • 精灵至少需要两个模式。请添加第二个模式,或改用 Animated Image 控件。
继续阅读

接着学点什么

如何在 PicoPixel 中使用宠物 thumbnail
PICOPIXEL

如何在 PicoPixel 中使用宠物

宠物是预制的动画精灵,包含多种动画模式,可根据设定的条件切换。从目录中选一个,添加到项目中,然后将其连接起来,让它对设备正在做的任何事情做出反应:获取数据、过热、代码审查等等。

pets · sprites · picopixel
如何使用 PicoPixel 模板、UI 套件和完整应用 thumbnail
PICOPIXEL

如何使用 PicoPixel 模板、UI 套件和完整应用

查找 PicoPixel 模板、UI 套件、示例、精灵、控件和完整应用,了解如何打开、下载、导入和修改项目,并导出用于设备的 LVGL C 代码。

templates · ui-kits · full-apps
PicoPixel LVGL MCP Server Setup Guide thumbnail
PICOPIXEL

PicoPixel LVGL MCP Server Setup Guide

Set up the PicoPixel LVGL MCP server for Claude, ChatGPT, Codex, or Cursor. Learn agent settings, reusable components, colors, fonts, and assets.

LVGL MCP · MCP server setup · AI UI design