创建自己的资源

Godot中的资源脚本提供了一种强大的方式来管理数据,它们结合了Object、Reference和Resource的功能,允许定义常量、方法、信号和属性。资源脚本可以被序列化和反序列化,支持文本和二进制格式,且能递归处理子资源。Godot Inspector内置了对资源的编辑支持,用户可以通过两种方法创建资源:一是先创建资源再添加脚本,二是直接通过脚本继承Resource并指定类名。此外,资源脚本类似Unity的ScriptableObjects,可以模仿虚幻引擎的DataTables和CurveTables,实现自定义数据结构和可视化编辑。
摘要由CSDN通过智能技术生成

与Godot中的任何对象一样,用户也可以编写资源脚本。资源脚本继承了在对象属性和序列化文本或二进制数据(.tres,.res)之间自由转换的能力。它们还继承了Reference类型的引用计数内存管理。

与JSON、CSV或自定义TXT文件等替代数据结构相比,它有许多明显的优势。用户只能将这些资产以Dictionary(JSON)或File 的形式导入来解析。资源的与众不同之处在于其继承了Object(对象)、Reference(引用)和Resource(资源)的功能:

  • 它们可以定义常量,所以不需要其他数据字段或对象的常量。
  • 它们可以定义方法,包括属性的setter/getter方法。这样可以对底层数据进行抽象和封装。如果资源脚本的结构需要改变,使用资源的游戏也不需要改变。
  • 它们可以定义信号,所以Resource可以触发对它们管理的数据变化的响应。
  • 它们有定义的属性,所以用户100%知道它们的数据会存在。
  • Resource自动序列化和反序列化是Godot Engine的内置功能。用户不需要实现自定义逻辑来导入/导出资源文件的数据。
  • 资源甚至可以递归地序列化子资源,这意味着用户可以设计更复杂的数据结构。
  • 用户可以将资源保存为版本控制友好的文本文件(.tres)。在导出游戏时,Godot会将资源文件序列化为二进制文件(.res),以提高速度和压缩率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想打工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值