Skip to content
写作:待补充更新:2026-05-16字数:—阅读:—维护:Azek431

创游世界数据类型完全指南

一句话摘要

本文全面讲解创游世界支持的数据类型,包括数字、文本、真假值、数组、表、结构体等,帮助理解如何正确使用和转换不同类型的数据。

适合谁阅读

  • 不理解数据类型区别的初学者
  • 需要存储复杂数据结构的开发者
  • 想了解 4.54.0 新增结构体功能的用户
  • 遇到数据类型转换问题的制作者

你将学到什么

  • 各种数据类型的基本概念和用途
  • 每种数据类型的具体使用方法
  • 不同数据类型之间的转换规则
  • 4.54.0 新增的结构体和单选值功能
  • 数据类型的常见错误和避坑方法
  • 如何根据场景选择合适的数据类型

💡 如果你想快速查找数据类型问题,请查看:创游世界数据类型速查卡 💡 如果你想了解 4.54.0 新功能,请查看:4.54.0数据类型与脚本能力升级解析



核心结论

在继续阅读之前,请先记住以下核心结论:

  1. 数据类型决定用途:数字用于数值、文本用于文字、真假值用于判断
  2. 数组适合同类数据:一组相同类型的数据用数组管理
  3. 结构体适合复杂对象:有多个属性的对象用结构体更清晰(4.54.0+)
  4. 类型转换要小心:文本转数字失败会得到 NaN,不是有效数字
  5. 结构体更方便数据传递:可以把多个相关属性打包成一个变量

📚 相关阅读:创游世界数据类型速查卡 - 快速问答形式的数据类型速查


1. 数据类型概述

1.1 什么是数据类型

数据类型决定了变量可以存储什么种类的数据。不同类型的数据有不同的用途、存储方式和操作方法。

1.2 创游世界支持的数据类型

类型说明示例
数字整数或小数1003.14-50
文本字符串文字"你好""玩家"
真假值布尔值 /
数组一组有序数据[1, 2, 3]
二维结构数据任务表、配置表
结构体多字段复合数据(4.54.0+)包含多个属性的对象
BGM背景音乐资源音乐文件引用
物体游戏对象引用对象实例

2. 数字类型

2.1 基本概念

数字类型用于存储数值数据,包括整数和小数。

示例

设置玩家变量 血量 = 100
设置玩家变量 速度 = 3.5
设置玩家变量 伤害 = -10

2.2 数字运算

运算积木块示例
加法+a + b
减法-a - b
乘法*a * b
除法/a / b
取余%a % b

2.3 数学函数(4.54.0+)

函数说明示例
对数计算对数值对数 100
转换为文本数字转文本转换为文本 100
随机数范围内随机从 a 到 b 内的随机数
点乘向量点积向量A 点乘 向量B
叉乘向量叉积向量A 叉乘 向量B

📚 相关阅读:4.54.0数据类型与脚本能力升级解析 - 4.54.0新增数学能力

2.4 常见问题

问题:比较两个数字不生效。

检查

  1. 两边是否是同一数据类型(数字 vs 文本形式的数字)
  2. 是否涉及 NaN(文本转数字失败会得到 NaN)
  3. 浮点数比较建议用「是否约等于」

📚 相关阅读:创游世界变量与作用域完全指南 - 变量作用域详解


3. 文本类型

3.1 基本概念

文本类型用于存储字符串数据,用双引号包裹。

示例

新建局部变量 名字 = "玩家1"
新建局部变量 消息 = "任务完成"

3.2 文本操作

操作说明示例
拼接连接多个文本"Hello" + "World"
长度获取文本长度获取文本 "Hello" 的长度
截取获取部分文本获取文本第 1 到 5 个字符
包含检查是否包含某文本"Hello" 包含 "ell"

3.3 文本与数字转换

数字转文本:使用「转换为文本」积木块
文本转数字:取决于具体积木块的行为,可能需要检查返回值

4. 真假值类型

4.1 基本概念

真假值(布尔值)只有两个可能的值:

示例

新建局部变量 是否完成 = 真
新建局部变量 有钥匙 = 假

4.2 逻辑运算

运算积木块说明
两个条件都为真才为真
任一条件为真就为真
取反,真变假,假变真

4.3 条件判断

如果 获取玩家变量 血量 > 0 且 获取玩家变量 存活 = 真 则
→ 继续游戏

5. 数组类型

5.1 基本概念

数组是一组有序的数据集合,可以通过索引访问每个元素。

示例

新建局部变量 数组 = [1, 2, 3, 4, 5]
获取数组第 1 个元素  → 结果:1
获取数组第 长度 个元素 → 结果:5

5.2 数组操作

操作说明示例
创建空数组新建空数组[]
获取元素按索引获取获取数组第 1 个元素
设置元素按索引设置设置数组第 1 个元素为 100
获取长度数组元素数量获取数组 数组 的长度
添加元素在末尾添加数组 添加 10
删除元素删除指定位置数组 删除第 1 个元素

5.3 常见用途

用途示例
物品列表[物品1, 物品2, 物品3]
坐标列表[{x:10, y:20}, {x:30, y:40}]
任务列表[任务1, 任务2, 任务3]

5.4 注意事项

  1. 越界问题:读取越界返回空值,写入越界系统自动补全中间空位
  2. 遍历时修改:遍历数组时修改数组可能导致索引错位
  3. 类型一致性:数组元素可以是不同类型,但建议保持一致

📚 相关阅读:脚本作用域与数据流深度研究 - 数据分层详解


6. 表类型(配置表)

6.1 基本概念

表是二维结构的数据,适合存储大量同类数据,如道具表、敌人表、任务表等。

示例

新建局部变量 道具表 = 创建配置表
设置道具表 的第 1 行第 1 列 = "血瓶"
设置道具表 的第 1 行第 2 列 = 50
设置道具表 的第 2 行第 1 列 = "蓝瓶"
设置道具表 的第 2 行第 2 列 = 30

6.2 表的读取

获取道具表 的第 1 行第 2 列  → 结果:50

6.3 常见用途

用途示例
道具配置名称、价格、效果
敌人属性血量、攻击、防御
任务数据目标、奖励、完成条件
关卡配置敌人、波次、时间限制

6.4 使用建议

  1. 静态数据放表:不经常变化的配置数据适合放表
  2. 避免频繁修改:表更适合读取,不适合频繁写入
  3. 行列命名:建议使用行列名称而不是数字索引,便于维护

📚 相关阅读:创游世界变量与作用域完全指南 - 配置表详解


7. 结构体类型(4.54.0+)

7.1 基本概念

结构体是 4.54.0 版本新增的数据类型,允许将多个子属性打包成一个整体。

优势

  • 更方便进行数据传递
  • 更方便进行数据存储
  • 组织复杂数据更清晰

7.2 使用场景

场景示例
背包物品记录物品ID数量品质
任务条目任务ID进度状态
技能配置技能ID等级冷却
玩家统计击杀数死亡数金币

7.3 使用示例

新建局部变量 背包物品 = 创建结构体
设置背包物品 的 物品ID = 1001
设置背包物品 的 数量 = 5
设置背包物品 的 品质 = "稀有"

7.4 结构体的优势

# 不使用结构体:多个变量分散管理
设置玩家变量 物品1ID = 1001
设置玩家变量 物品1数量 = 5
设置玩家变量 物品1品质 = "稀有"

# 使用结构体:一个变量管理所有属性
设置玩家变量 物品1 = 创建结构体(物品ID=1001, 数量=5, 品质="稀有")

📚 相关阅读:4.54.0数据类型与脚本能力升级解析 - 结构体详解


8. 其他数据类型

8.1 BGM 类型(4.43.24+)

BGM 类型用于存储背景音乐资源,可以在配置表、玩家变量中使用。

示例

设置玩家变量 当前BGM = BGM_战斗
设置配置表 第1行第1列 = BGM_菜单

📚 相关阅读:引擎更新知识索引 - 4.43.24版本BGM类型

8.2 物体引用

物体引用用于存储游戏对象的引用,方便后续操作。

示例

新建局部变量 目标 = 获取最近的敌人
如果 目标 不等于 空 则
→ 向目标 发送广播 "受击"

8.3 单选值类型(4.54.0+)

单选值类型升级为公共类型,可在多处使用:

  • 玩家变量
  • 配置表
  • 自定义指令的参数
  • 自定义指令的返回值

9. 类型转换

9.1 常用转换

转换方法示例
数字转文本转换为文本转换为文本 100"100"
文本转数字视情况某些积木块会自动转换
数字转真假值条件判断0 为假,其他为真

9.2 转换注意事项

  1. 文本转数字失败:会得到 NaN,不是有效数字
  2. 浮点数比较:建议用「是否约等于」而不是精确比较
  3. 类型不匹配:不同类型直接比较可能出错

10. 数据类型选择指南

10.1 简单值

场景推荐类型
血量、伤害等数值数字
名字、描述等文字文本
是否完成、开关状态真假值

10.2 复杂数据

场景推荐类型
一组同类数据数组
多行多列配置
有多个属性的对象结构体(4.54.0+)

10.3 资源引用

场景推荐类型
背景音乐BGM 类型
游戏对象物体引用

常见问题

Q:数组越界会怎样?

A: 读取越界返回空值,写入越界系统自动补全中间空位。

Q:文本和数字能直接比较吗?

A: 不能。需要先转换为同一类型后再比较。

Q:结构体和数组有什么区别?

A: 数组是有序的数据集合,元素类型相同;结构体是包含多个不同字段的复合数据。

Q:如何存储玩家的复杂状态?

A: 可以使用结构体或数组,根据数据结构复杂度选择。

Q:文本转数字失败会怎样?

A: 会得到 NaN(Not a Number),不是有效数字。比较时要注意判断。

Q:浮点数比较有什么注意的?

A: 建议用「是否约等于」而不是精确比较,避免精度问题导致判断出错。

📚 相关阅读:创游世界新手常见问题汇总 - 数据问题详解 📚 相关阅读:常见问题与避坑指南 - 避坑指南


相关页面

核心概念

版本更新

脚本系统

问题解决

导航入口


导航入口

维护报告


最后更新:2026-06-16维护者:Azek431

参与维护

发现文档问题?

你可以编辑页面、提交反馈,或复制链接给维护者,帮助这个资料库继续变好。

由 Azek431 整理与维护 | 基于 MIT 许可证开源