跳转到内容

Godot 游戏引擎指南 / 创建资源

来自维基教科书,开放世界的开放书籍

要创建一个新的 资源,您需要创建一个新的脚本(该脚本未附加到节点)。以下是一个示例

tool
extends Resource

export (int, INT, STRING) var property_type = 0 setget set_type
var property

func _get_property_list():
  var out = [
    {
       "name": "Property",
       "type": [TYPE_INT, TYPE_STRING][property_type]
    }
  ]
  return out

func _get(what):
  if what == "Property":
    return property

func _set(what, to):
  if what == "Property":
    what = to

func set_type(value):
  property_type = value
  match value:
    0:
       if !property is int:
         property = int(property)
    1:
       if !property is String:
         property = String(property)

一个简单的示例,它展示了一个可以存储 intString 的资源。


_get_property_list() 必须返回一个 数组字典,每个字典都包含以下值

  • name (字符串): 属性的名称。
  • type (int): 以 TYPE_* 开头的常量。

以下是可选的

  • hint (int): PROPERTY_HINT_* 常量。
  • hint_string (字符串)
  • usage (int): PROPERTY_USAGE_* 常量。

property_type 太简单了,不需要用 _get_property_list() 来更改或定义。相反,使用 export,以及 setget 来处理更改时的事件。

property_type 设置后,property 的类型就会改变。

现实世界的例子包括存储键或图像。资源只是为其他脚本保存数据,它本身并不实际处理数据。


Godot 游戏引擎指南

入门 [编辑]
安装
什么是节点?
编程
资源和导入
信号和方法
您的第一个游戏
使其工作
调试
输入
物理
保存和加载
多人游戏
使其看起来更好
UI 皮肤
动画
高级帮助
服务器(单例)
平台特定
优化
加密
导出
插件
其他
有用链接
作者和贡献者
打印版


<-- 上一个 返回顶部 下一个 -->

华夏公益教科书