创游世界新手脚本入门教程
一句话摘要
本文为零基础用户介绍创游世界的脚本系统,通过简单实例让你理解触发时机、积木块、变量和广播的核心概念,学会编写基本的游戏逻辑。
适合谁阅读
- 刚接触创游世界的完全新手
- 不知道“脚本”是什么的创作者
- 想快速做出可交互游戏的入门者
- 需要复习基础概念的老用户
你将学到什么
- 什么是脚本,为什么要写脚本
- 触发时机是什么,如何选择
- 积木块怎么拼装成逻辑
- 变量和数据存储基础
- 广播机制和工作原理
- 一个完整的入门实战案例
1. 什么是脚本?
脚本的定义
脚本是告诉游戏对象"在什么情况下做什么事情"的指令集合。
你可以把脚本想象成:
- 角色的"行为手册"
- 物体的"使用说明书"
- 地图的"运行规则"
脚本的基本结构
触发时机 + 积木块组合 = 脚本也就是说,脚本由两部分组成:
| 部分 | 作用 | 类比 |
|---|---|---|
| 触发时机 | "什么时候"执行 | 打开手册的时机 |
| 积木块 | "做什么"操作 | 手册里的具体步骤 |
脚本在哪写?
- 选中地图中的一个物体
- 在底部找到"脚本编辑器"
- 开始编写脚本
📚 相关阅读:创游世界编辑器基础入门 - 编辑器基础操作
2. 触发时机详解
触发时机是什么
触发时机就是脚本"什么时候开始执行"的入口条件。
就像一本菜谱:
- "当客人点菜时" → 开始做菜
- "当食材不够时" → 提醒补货
- "当用餐结束时" → 收拾餐桌
创游世界常见的触发时机
| 触发时机 | 触发条件 | 适用场景 |
|---|---|---|
当物体开始时 | 物体创建时 | 初始化设置 |
当被点击时 | 玩家点击物体 | 交互反馈 |
当收到广播时 | 收到指定广播 | 事件响应 |
当物体碰撞时 | 与其他物体接触 | 碰撞检测 |
每隔X秒执行一次 | 周期性执行 | 持续状态 |
当属性变化时 | 属性值改变 | 数据监控 |
如何选择触发时机
选择原则:
- 需要玩家主动触发的用
当被点击时 - 需要自动运行的用
当物体开始时 - 需要响应事件的用
当收到广播时 - 需要周期性检查的用
每隔X秒执行一次
📚 相关阅读:创游世界触发时机速查卡 - 触发时机速查
📚 相关阅读:创游世界触发时机完全指南 - 触发时机详解
3. 积木块详解
积木块是什么
积木块是脚本中的具体操作指令,就像乐高积木一样可以拼装组合。
积木块的分类
| 类型 | 说明 | 示例 |
|---|---|---|
| 动作类 | 执行某种操作 | 移动、播放动画、销毁 |
| 控制类 | 控制执行流程 | 如果、循环、等待 |
| 数据类 | 读写数据 | 设置属性、获取数值 |
| 广播类 | 发送消息 | 发送广播 |
常用积木块一览
动作类积木
| 积木 | 功能 |
|---|---|
播放动画 | 让物体播放指定动画 |
销毁自身 | 删除当前物体 |
以角度面向 | 让物体转向某个方向 |
发送广播 | 向所有物体发送消息 |
生成物体 | 在地图上创建一个新物体 |
控制类积木
| 积木 | 功能 |
|---|---|
如果...则 | 条件判断 |
无限循环 | 一直重复执行 |
跳出循环 | 提前结束循环 |
等待1秒 | 暂停执行 |
退出脚本 | 停止当前脚本 |
数据类积木
| 积木 | 功能 |
|---|---|
设置自身属性 | 修改自身数据 |
设置当前地图属性 | 修改地图数据 |
设置系统属性 | 修改全局数据 |
新建局部变量 | 创建临时存储空间 |
📚 相关阅读:基础写脚本界面截图转文本 - 积木块截图OCR
4. 变量基础
变量是什么
变量是存储数据的"容器",就像一个带标签的盒子,可以往里面放东西,也可以取出来。
变量的作用
- 记住玩家的选择
- 记录游戏状态
- 存储临时计算结果
- 实现游戏逻辑判断
变量的作用域层级
创游世界中的变量有不同层级,决定了数据能存多久、谁能用:
| 层级 | 名称 | 说明 |
|---|---|---|
| 局部变量 | 只在当前脚本中有效 | 临时计算用完就丢 |
| 自身属性 | 属于当前物体 | 物体存在期间有效 |
| 地图属性 | 属于当前地图 | 同地图所有物体共享 |
| 系统属性 | 属于整个游戏 | 全局所有场景通用 |
如何使用变量
当 物体开始时
└─ 设置自身.金币 = 0
当 被点击时
└─ 如果 自身.金币 > 100 则
└─ 设置自身.金币 = 自身.金币 - 100
└─ 播放音效 "购买成功"
└─ 发送广播 "刷新UI"📚 相关阅读:创游世界变量作用域速查卡 - 变量速查
📚 相关阅读:创游世界变量与作用域完全指南 - 变量详解
5. 广播机制
广播是什么
广播是一种消息发布机制,用于不同物体之间的通信。
广播的工作原理
发送广播 "捡到道具"
↓
所有监听该广播的脚本执行
↓
触发对应响应为什么需要广播
想象这个场景:
- 玩家捡到金币 → 金币物体需要告诉UI更新显示
- 玩家捡到血瓶 → 血瓶物体需要告诉角色回血
这时候就需要广播:
[金币物体]
当 被点击时
└─ 销毁自身
└─ 设置自身.金币 = 自身.金币 + 10
└─ 发送广播 "刷新UI"
└─ 发送广播 "播放音效_获得金币"
[UI物体]
当 收到广播 "刷新UI" 时
└─ 显示 当前UI.金币数量 = 系统.金币广播命名建议
| 好名字 | 说明 |
|---|---|
道具_获得_玩家 | 语义清晰,不易冲突 |
刷新_背包UI | 说明要做什么 |
游戏_结束 | 全局事件用前缀区分 |
| 差名字 | 问题 |
|---|---|
刷新 | 太泛,容易和其他广播冲突 |
更新 | 同上 |
通知 | 不说明要做什么 |
📚 相关阅读:广播机制深度解析 - 广播详解
📚 相关阅读:创游世界广播使用速查卡 - 广播速查
📚 相关阅读:创游世界广播命名规范与最佳实践 - 广播命名规范
6. 入门实战案例:制作一个可互动的宝箱
案例目标
制作一个宝箱,打开后可以:
- 显示"恭喜获得100金币!"的提示
- 给玩家增加100金币
- 宝箱消失
- 播放开箱动画
步骤一:创建宝箱物体
- 在素材库找一个宝箱素材
- 拖入地图中
- 给宝箱添加
可互动组件
步骤二:编写脚本
当 被点击时
└─ 发送广播 "播放音效_开箱"
└─ 播放动效 "开箱动画"
└─ 延迟 0.5 秒
└─ 设置系统.金币 = 系统.金币 + 100
└─ 显示飘字 "+100 金币" 在 自身.坐标
└─ 延迟 0.3 秒
└─ 销毁自身
└─ 发送广播 "刷新UI"步骤三:添加UI显示
[UI脚本]
当 收到广播 "刷新UI" 时
└─ 设置当前UI.金币文本 = 系统.金币
当 收到广播 "显示飘字" 时
└─ 在指定坐标生成飘字物体知识点回顾
本案例涉及的概念:
| 概念 | 应用 |
|---|---|
触发时机 当被点击时 | 玩家点击宝箱时执行 |
| 积木块组合 | 播放动画、延迟、设置数值 |
| 广播 | 通知音效、UI刷新 |
| 系统属性 | 存储玩家金币 |
| 变量作用域 | 金币是全局的系统属性 |
📚 相关阅读:创游世界脚本入门实践 - 更多实战案例
7. 常见问题与解决
Q1:脚本不执行怎么办?
检查清单:
- ✅ 触发时机是否正确?
- ✅ 组件是否正确添加?
- ✅ 广播名称是否完全一致?
- ✅ 是否保存了项目?
Q2:广播没有响应?
可能原因:
- 监听脚本的触发时机不对(要用
当收到广播时) - 广播名称写错了
- 物体还没创建(监听不到之前的广播)
Q3:变量数值不对?
可能原因:
- 作用域选错了(用了自身属性而不是系统属性)
- 没有正确读取数值
- 被其他脚本意外修改
Q4:循环不停止?
解决方式:
- 确认有
跳出循环或保持循环直到条件 - 检查循环结束条件是否能满足
📚 相关阅读:创游世界新手常见问题汇总 - 更多问题解答
📚 相关阅读:创游世界新手避坑完全指南 - 避坑指南
8. 下一步学习建议
继续阅读
| 学习方向 | 推荐文档 |
|---|---|
| 深入脚本系统 | 创游世界脚本实战架构入门 |
| 组件深入 | 创游世界组件系统完全指南 |
| 广播进阶 | 创游世界广播机制完全指南 |
| 项目实战 | 创游世界实战项目模板 |
学习路线建议
入门阶段:
1. 本教程 → 理解脚本基础
2. [编辑器基础入门](./创游世界编辑器基础入门.md) → 学会操作界面
3. [组件速查卡](./创游世界组件速查卡.md) → 了解组件分类
进阶阶段:
4. [广播机制深度解析](./专题研究/广播机制深度解析.md) → 掌握通信
5. [UI系统与切换机制解析](./专题研究/UI系统与切换机制解析.md) → 学会界面
6. [战斗系统设计入门](../脚本系统/专题研究/创游世界战斗系统设计入门.md) → 实战技能📚 相关阅读:创游世界学习路线图 - 完整学习规划
相关页面
入门文档
- 创游世界编辑器基础入门 - 编辑器基础
- 创游世界核心概念问答 - 核心概念
- 创游世界术语速查 - 术语速查
专题研究
- 创游世界脚本实战架构入门 - 脚本架构
- 创游世界触发时机完全指南 - 触发时机详解
- 广播机制深度解析 - 广播详解
实战文档
- 创游世界脚本入门实践 - 实战练习
- 创游世界脚本调试指南 - 调试技巧
- 创游世界新手常见卡点与避坑清单 - 常见卡点
导航入口
- 教程资料导航 - 教程资料总入口
- 新手阅读路线 - 学习路线
- 创游世界知识库总导航 - 知识库总导航
最后更新:2026-06-16维护者:Azek431
