示例(Examples)
示例项目
CLI 附带八个示例项目。rive samples 会打开选择器,把你选中的示例复制到你指定的目录:
| 示例 | 展示内容 |
|---|---|
hello_rive | 最小的布局脚本:每帧绘制一个移动的形状 |
rml_triangle | 最小的 RML 文档:一个画板、一个形状 |
rml_vm_input | 由视图模型数据驱动的 RML,带一个脚本输入 |
rml_split | 同一场景拆分到多个文件:视图模型放在 data/,场景通过 id 引用 |
pointer_reactive | 让场景跟随鼠标:指针 → 视图模型 → 数据绑定 |
input_demo | 脚本中的键盘、文本和手柄事件 |
text_input | 使用 TextInput 组件的可编辑文本字段 |
tests_demo | Luau 单元测试,用 --test 运行 |
每个目录本身就是一个完整项目。在无法绘制选择器的环境(例如 CI)中,rive samples 会打印带描述的列表以及一条现成的 cp 命令:
cp -R "$(rive samples --path)/rml_triangle" myproject
rive myproject
无头渲染
--screenshot 会构建项目、在不打开窗口的情况下渲染一帧,并写出 PNG。它不需要登录,因此适合作为 CI 中的检查。
rive myproject --screenshot=out.png # 在任何推进之前
rive myproject --screenshot=out.png --advance=1s # 推进一秒后
rive myproject --screenshot=out.png --viewport=390x844 # 指定尺寸
不带
--advance的捕获是作者设定的静止姿态,而不是动画的开场帧,因为状态机尚未运行。预览请从--advance=1开始。
--screenshot相对当前目录解析路径,而不是项目目录;目录不存在时只会报screenshot failed: <path>。请先创建该目录。
驱动场景
一张静止场景的截图无法说明它是否会对任何事物做出响应。有两个标志可以在捕获前驱动场景。
--data 设置一个视图模型属性。路径相对于绑定到画板的实例,每一段都是属性名:
rive myproject --screenshot=full.png --data=battery/level=100
--pointer 在画板坐标处模拟指针。click 是一次移动、一次按下和一次释放,每步之间隔一帧,因为状态机只在下一次运行时才会看到手势:
rive myproject --screenshot=hover.png --pointer=move@120,60
rive myproject --screenshot=on.png --pointer=click@120,60 --advance=20
两个标志都可以重复,因此你可以设置多个值或播放一串手势。
请给
drag的值加上引号。两点之间的>否则会被 shell 当成重定向:rive myproject --screenshot=scrolled.png --pointer='drag@200,300>200,80:12'