TyranoScript教程第四部分:使用Spine

TyranoScript教程第四部分:使用Spine

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

本文介绍TyranoScript自定义内核方法:脚本解析为对象后,框架按标签调用kag.tag中的函数;向tyrano.plugin.kag.tag对象添加属性即可新增命令,如perform_show,参数传入pm,并须调用nextOrder执行下一条命令。示例将Spine动画集成进Tyrano以显示角色动画。

🔎

延伸解读

自定义命令的机制

TyranoScript 将脚本解析为对象后,框架根据标签调用 kag.tag 中的函数。向 tyrano.plugin.kag.tag 对象添加属性即可新增命令,例如 perform_show。每个命令需定义 pm 参数和 start 函数,并在 start 中调用 this.kag.ftag.nextOrder() 以执行下一条命令。这种设计让开发者能灵活扩展引擎功能。

Spine 集成示例

文章以 perform_show 命令为例,展示如何将 Spine 动画集成到 Tyrano 中。该命令接收 name、storage、width、height、left、top 等参数,通过创建 div 容器并初始化 SpinePlayer 来显示动画。这为在视觉小说中添加角色动画提供了一种实现方式。

注意事项与资源

使用 Spine 需要引入其 JavaScript 运行时库,但官方文档较为缺乏,文章提供了 GitHub 仓库链接供参考。此外,自定义命令时需确保正确调用 nextOrder,否则脚本会停止执行。开发者应留意这些细节,以避免集成过程中的常见问题。

❓

Q&A

TyranoScript 如何自定义内核命令?

通过向 tyrano.plugin.kag.tag 对象添加属性来新增命令。例如,添加 perform_show 属性,其 start 函数会在命令执行时被调用,参数通过 pm 传入。

TyranoScript 脚本解析后是如何执行的?

脚本先被 tokenized 解析成对象,然后框架根据不同的标签调用 kag.tag 文件中对应的函数来执行。

在 TyranoScript 中如何集成 Spine 动画?

通过自定义 perform_show 命令,在 start 函数中创建 div 容器,并使用 spine.SpinePlayer 加载 Spine 的 json 和 atlas 文件来显示动画。

为什么在自定义命令中必须调用 nextOrder?

nextOrder 函数用于提示程序运行下一条命令,如果不调用,命令执行后会卡住,无法继续执行后续命令。

perform_show 命令的参数如何传递?

命令中的属性如 name、storage、width 等会作为参数传递给 pm 对象,在 start 函数中可以通过 pm.name、pm.storage 等访问。

Spine 官方 JavaScript 运行时库在哪里获取?

可以在 Spine 官网的 spine-runtimes 页面或 GitHub 仓库(如 https://github.com/EsotericSoftware/spine-runtimes/tree/3.8/spine-ts)找到,但文档较少。

🏷️

标签

➡️

继续阅读