创游世界数据类型完全指南
一句话摘要
本文全面讲解创游世界支持的数据类型,包括数字、文本、真假值、数组、表、结构体等,帮助理解如何正确使用和转换不同类型的数据。
适合谁阅读
- 不理解数据类型区别的初学者
- 需要存储复杂数据结构的开发者
- 想了解 4.54.0 新增结构体功能的用户
- 遇到数据类型转换问题的制作者
你将学到什么
- 各种数据类型的基本概念和用途
- 每种数据类型的具体使用方法
- 不同数据类型之间的转换规则
- 4.54.0 新增的结构体和单选值功能
- 数据类型的常见错误和避坑方法
- 如何根据场景选择合适的数据类型
💡 如果你想快速查找数据类型问题,请查看:创游世界数据类型速查卡 💡 如果你想了解 4.54.0 新功能,请查看:4.54.0数据类型与脚本能力升级解析
核心结论
在继续阅读之前,请先记住以下核心结论:
- 数据类型决定用途:数字用于数值、文本用于文字、真假值用于判断
- 数组适合同类数据:一组相同类型的数据用数组管理
- 结构体适合复杂对象:有多个属性的对象用结构体更清晰(4.54.0+)
- 类型转换要小心:文本转数字失败会得到 NaN,不是有效数字
- 结构体更方便数据传递:可以把多个相关属性打包成一个变量
📚 相关阅读:创游世界数据类型速查卡 - 快速问答形式的数据类型速查
1. 数据类型概述
1.1 什么是数据类型
数据类型决定了变量可以存储什么种类的数据。不同类型的数据有不同的用途、存储方式和操作方法。
1.2 创游世界支持的数据类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 数字 | 整数或小数 | 100、3.14、-50 |
| 文本 | 字符串文字 | "你好"、"玩家" |
| 真假值 | 布尔值 | 真 / 假 |
| 数组 | 一组有序数据 | [1, 2, 3] |
| 表 | 二维结构数据 | 任务表、配置表 |
| 结构体 | 多字段复合数据(4.54.0+) | 包含多个属性的对象 |
| BGM | 背景音乐资源 | 音乐文件引用 |
| 物体 | 游戏对象引用 | 对象实例 |
2. 数字类型
2.1 基本概念
数字类型用于存储数值数据,包括整数和小数。
示例:
设置玩家变量 血量 = 100
设置玩家变量 速度 = 3.5
设置玩家变量 伤害 = -102.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 常见问题
问题:比较两个数字不生效。
检查:
- 两边是否是同一数据类型(数字 vs 文本形式的数字)
- 是否涉及 NaN(文本转数字失败会得到 NaN)
- 浮点数比较建议用「是否约等于」
📚 相关阅读:创游世界变量与作用域完全指南 - 变量作用域详解
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
获取数组第 长度 个元素 → 结果:55.2 数组操作
| 操作 | 说明 | 示例 |
|---|---|---|
| 创建空数组 | 新建空数组 | [] |
| 获取元素 | 按索引获取 | 获取数组第 1 个元素 |
| 设置元素 | 按索引设置 | 设置数组第 1 个元素为 100 |
| 获取长度 | 数组元素数量 | 获取数组 数组 的长度 |
| 添加元素 | 在末尾添加 | 数组 添加 10 |
| 删除元素 | 删除指定位置 | 数组 删除第 1 个元素 |
5.3 常见用途
| 用途 | 示例 |
|---|---|
| 物品列表 | [物品1, 物品2, 物品3] |
| 坐标列表 | [{x:10, y:20}, {x:30, y:40}] |
| 任务列表 | [任务1, 任务2, 任务3] |
5.4 注意事项
- 越界问题:读取越界返回空值,写入越界系统自动补全中间空位
- 遍历时修改:遍历数组时修改数组可能导致索引错位
- 类型一致性:数组元素可以是不同类型,但建议保持一致
📚 相关阅读:脚本作用域与数据流深度研究 - 数据分层详解
6. 表类型(配置表)
6.1 基本概念
表是二维结构的数据,适合存储大量同类数据,如道具表、敌人表、任务表等。
示例:
新建局部变量 道具表 = 创建配置表
设置道具表 的第 1 行第 1 列 = "血瓶"
设置道具表 的第 1 行第 2 列 = 50
设置道具表 的第 2 行第 1 列 = "蓝瓶"
设置道具表 的第 2 行第 2 列 = 306.2 表的读取
获取道具表 的第 1 行第 2 列 → 结果:506.3 常见用途
| 用途 | 示例 |
|---|---|
| 道具配置 | 名称、价格、效果 |
| 敌人属性 | 血量、攻击、防御 |
| 任务数据 | 目标、奖励、完成条件 |
| 关卡配置 | 敌人、波次、时间限制 |
6.4 使用建议
- 静态数据放表:不经常变化的配置数据适合放表
- 避免频繁修改:表更适合读取,不适合频繁写入
- 行列命名:建议使用行列名称而不是数字索引,便于维护
📚 相关阅读:创游世界变量与作用域完全指南 - 配置表详解
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 转换注意事项
- 文本转数字失败:会得到 NaN,不是有效数字
- 浮点数比较:建议用「是否约等于」而不是精确比较
- 类型不匹配:不同类型直接比较可能出错
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: 建议用「是否约等于」而不是精确比较,避免精度问题导致判断出错。
📚 相关阅读:创游世界新手常见问题汇总 - 数据问题详解 📚 相关阅读:常见问题与避坑指南 - 避坑指南
相关页面
核心概念
- 核心概念速查手册 - 核心概念速查
- 创游世界变量与作用域完全指南 - 变量详解
- 创游世界碰撞与物理系统入门 - 物理系统
版本更新
- 引擎更新知识索引 - 版本更新详情
- 4.54.0数据类型与脚本能力升级解析 - 4.54.0新功能
- 联机UI演进专题 - UI演进
脚本系统
- 脚本作用域与数据流深度研究 - 数据分层研究
- 创游世界战斗系统设计入门 - 战斗系统
- 创游世界存档与云变量设计入门 - 存档设计
问题解决
- 创游世界数据类型速查卡 - 数据类型速查
- 创游世界新手常见问题汇总 - 常见问题
- 常见问题与避坑指南 - 避坑指南
导航入口
- 教程资料导航 - 教程资料总入口
- 创游世界知识库总导航 - 知识库总导航
导航入口
- 新手阅读路线 - 学习路线导航
- 创游世界知识库总导航 - 知识库总导航
- 自动生成文档目录 - 文档目录总览
维护报告
- 维护与报告导航 - 维护报告总入口
- AI自动维护复盘记录 - 维护复盘记录
- 错误点与优化点汇总 - 错误点汇总
- 待验证问题清单 - 待验证问题
- 后续研究路线图 - 研究路线图
最后更新:2026-06-16维护者:Azek431
