字段类型
基础类型
| 类型 | 说明 |
|---|---|
| boolean | 布尔值,true 或 false,0 和空字符串也视为 true。 |
| float | 浮点数,即带小数点的数字。 |
| integer | 整数,无小数点。 |
| string | 字符串,存储文本。 |
| Vector2 | 二维向量,常用于 2D 空间的位置或方向。 |
| Vector3 | 三维向量,常用于 3D 空间的位置或方向。 |
| GameObject | Yahaha 对象,场景中的可 操作对象。 |
| Prefab | 可实例化的预设对象。 |
| AnimationClip | 包含动画数据,用于视觉特效和角色动作。 |
| AudioClip | 存储音频数据,如音效或背景音乐。 |
| Texture2D | 二维图片或贴图,常用于渲染精灵和图形元素。 |
| Color | 颜色信息,如 RGB 或 RGBA。 |
| File | 通用文件,可用于多种用途。 |
类类型
类类型字段由多个不同类型字段组成。定义和使用示例:
local InnerClass = {
type = "object",
fields = {
{ name = "innerClassName", type = "string" },
{ name = "innerClassValue", type = "integer" },
},
}
local OuterClass = {
type = "object",
fields = {
{ name = "outerClassName", type = "string" },
{ name = "outerClassValue", type = "float" },
{ name = "innerClassField", type = InnerClass },
},
}
local fieldDefs = {
---在属性窗口定义字段
{
name = "outerClassField",
type = OuterClass
}
}
script.DefineFields(fieldDefs)
属性窗口显示如下:

属性窗口中 outerClassField 展示 OuterClass 属性,字段值结构如下:
{
['outerClassField'] = {
['outerClassValue'] = 0,
['outerClassName'] = '',
['innerClassField'] = {
['innerClassName'] = '',
['innerClassValue'] = 0
}
}
}
列表类型
列表类型字段表示指定类型的可变长度列表。示例:
local FloatList = {
type = "list",
items = {
type = "float"
}
}
local PlayerClass = {
type = "object",
fields = {
{
name = "playerName",
type = "string"
}
}
}
local PlayerList = {
type = "list",
items = {
type = PlayerClass
}
}
local fieldDefs = {
---在属性窗口定义字段
{
name = "floatList",
type = FloatList
},
{
name = "playerList",
type = PlayerList
}
}
script.DefineFields(fieldDefs)
属性窗口显示如下:

属性窗口会显示 floatList 和 playerList 字段及其值结构:
{
['playerList'] = {
[1] = {
['playerName'] = ''
}
},
['floatList'] = {
[1] = 0
}
}