@aerofoil/rive-solid-canvas

中文文档
2.1.4发布于 2023/08/13MITTypeScriptESM + CJS近 30 天下载 3606

在 rive-js 库周围的非官方固件包装器

中文使用文档
文档目录11 节
  1. 开始
  2. 高级使用
  3. 文档
  4. <Rive /> 组件( 默认导出)
  5. createRive()
  6. createRiveInput()
  7. createRiveInputMap()
  8. 比较
  9. 可能的路线图
  10. 贷项
  11. 许可证

(原始内容存档于2013-10-12). Rive-Solid-Canvas

npm version Known Vulnerabilities

这是Rive Canvas为SolidJS制作的"跑步时间"的非正式包装. 在战术上,它的设计类似于官方的Rive Runtime for React;这被说成不是一比一. 见 比较 详细情况.

  1. 开始
  2. 高级使用
  3. 文档
  4. 比较

开始

  1. 安装依赖性 .
npm install @aerofoil/rive-solid-canvas
  1. 给一个Rive组件.

Rive-Solid-Canvas提供了与官方Rive React库一样的基本组件. 和官方的图书馆一样,这个是设计为简单动画的简单用例.

import Rive from "@aerofoil/rive-solid-canvas";

export default function Simple() {
    return <Rive src="https://cdn.rive.app/animations/vehicles.riv" />;
}

高级使用

应使用更先进的病例 createRive 以创建自定义组件。 这使得可以对动画,画布,以及基础活性物体进行更多的控制.

import { createRive } from "@aerofoil/rive-solid-canvas";

export default function Advanced() {
    const { rive, RiveComponent } = createRive(() => ({
        src: "https://cdn.rive.app/animations/vehicles.riv",
        autoplay: false,
    }));

    return (
        <div
            onMouseEnter={() => rive() && rive().play()}
            onMouseLeave={() => rive() && rive().pause()}
        >
            <RiveComponent width="1000" height="500" />
        </div>
    );
}

就像Rive React官方图书馆一样 createRive 函数会运行,一旦将 dom 作为基础 <canvas> 元素需要在 DOM 中存在.

文档

<Rive /> 组件( 默认导出)

在画布上制作简单的 Rive 动画的简单组件. 实际上,这只是一个包裹 createRive。 。 。 .

道具

  • src: string - 要装入的 rive 文件的 src
  • artboard?: string - 要使用的艺术板名称
  • animations?: string | string[] - 要播放的动画名称或列表
  • statateMachines?: string | string[] - 要播放的国有机器名称或列表
  • layout?: Layout - 定义动画在画布上的位置的布局对象。 见 正式文件 需要更多信息.
  • useOffscreenRenderer?: boolean - 是否使用屏幕外的渲染器。 见 正式文件 需要更多信息.
  • 画布道具 - 任何其他道具都会被传递到下面 <canvas> 元素

此组件的打字符道具类型可以使用

import type { RiveProps } from "@aerofoil/rive-solid-canvas";

createRive()

此函数需要单个参数, 一个 solidjs 访问器返回全部 RiveParameters 来源于官方网络 rive 库,但 canvas 由内部创建和管理.

为了方便,类型 CreateRiveParameters 并可以使用

import type { CreateRiveParameters } from "@aerofoil/rive-solid-canvas";

返回值是一个具有以下属性的对象 canvas - 内部帆布元素的调试器 rive - 猎物的进入器 RiveComponent - 制作和管理画布元素的组件。 可以使用与默认相同的道具 <canvas> 元素,但参考文献除外.

createRiveInput()

基于 Rive 访问器生成的 rive 输入,此函数用于快速获取 rive 输入 createRive。 。 。 .

参数

  • rive: rive accessor - 由下列因素生成的 rive 存取器: createRive
  • stateMachineName: string - 用于获取输入的状态机器名称
  • inputName: string - 要获取的输入名称

返回访问器 StateMachineInput 对象。 此访问器可用于设定输入值.

createRiveInputMap()

此函数用于快速获取给定状态机器的所有活性输入的映射.

参数

  • rive: rive accessor - 由下列因素生成的 rive 存取器: createRive
  • stateMachineName: string - 用于获取输入的状态机器名称

返回地图访问器,其中键为输入名称,值为输入访问器.

比较

名称(原始内容存档于2013-10-12). Rive-Solid-Canvas官方 Rive 反应
简单组件✅✅
高级使用✅✅
状态机器输入访问器✅✅
网络GL 支持❌✅
使用DevicePixelRatio选项❌✅
适合 Canvas 艺术板高强度选项❌✅
模糊的 State Machine 输入访问器✅❌

可能的路线图

这是一个满足我们需要的快速项目。 没有什么错的 或很多维持。 这应更多地作为待办事宜清单;没有规定何时着手处理这些待办事项的时间表

  • 添加类型安全。 目前,这取决于Rive的种类安全,最好是能够定义现有的动画、国家机器、国家机器输入等。 防止无效名称传入输入生成器 .

贷项

许可证

麻省理工学院

版本与发布记录

@aerofoil/rive-solid-canvas 共发布 17 个版本,首次发布于 2023/02/17;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.1.4latest2023/08/133 年前
1.1.32023/03/063 年前
1.1.22023/02/213 年前
1.1.12023/02/213 年前
1.1.02023/02/213 年前
1.0.102023/02/213 年前

关于 @aerofoil/rive-solid-canvas 的常见问题

@aerofoil/rive-solid-canvas 是什么?

在 rive-js 库周围的非官方固件包装器

如何安装 @aerofoil/rive-solid-canvas?

在项目目录运行 npm install @aerofoil/rive-solid-canvas,或使用 pnpm add / yarn add / bun add。

@aerofoil/rive-solid-canvas 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aerofoil/rive-solid-canvas 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aerofoil/rive-solid-canvas 可以商用吗?

@aerofoil/rive-solid-canvas 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aerofoil/rive-solid-canvas 的下载量有多少?

根据 npm 官方下载统计,@aerofoil/rive-solid-canvas 在 2026/10/05 – 2026/11/03 这 30 天内被下载 3,606 次,日均约 120 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aerofoil/rive-solid-canvas 还在维护吗?

最新版本 2.1.4 发布于 2023/08/13(3 年前);至今共发布 17 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/02/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。