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

创游世界脚本入门完全指南

一句话摘要

本文为零基础用户提供创游世界脚本入门完全指南,涵盖触发时机、变量、广播、条件判断、循环等核心概念,通过图文示例帮助新手快速掌握脚本编写基础。

适合谁阅读

  • 刚接触创游世界不知道脚本怎么写的新手
  • 想系统学习脚本编写的创作者
  • 需要复习脚本基础的用户
  • 遇到脚本问题的初学者

你将学到什么

  • 什么是脚本和触发时机
  • 如何创建和使用变量
  • 广播的基本用法
  • 条件判断和循环语句
  • 脚本调试技巧
  • 常见错误和解决方法

💡 如果你想快速查找脚本问题,请查看:创游世界触发时机速查卡 💡 如果你想了解广播机制,请查看:创游世界广播使用速查卡


核心结论

在学习之前,请先记住以下核心结论:

  1. 脚本 = 一系列指令:脚本由多个积木块按顺序组成,每块积木代表一个操作
  2. 触发时机 = 执行入口:脚本只有在满足触发时机条件时才会执行
  3. 变量 = 存储数据:需要长期保存的数据要用变量,临时计算用局部变量
  4. 广播 = 通信机制:广播让不同对象之间可以互相通知消息

一、脚本基础概念

1.1 什么是脚本

脚本是一系列指令的集合,告诉游戏「在什么情况下做什么」。

类比理解

  • 脚本就像一份「说明书」
  • 触发时机 = 「什么时候看说明书」
  • 积木块 = 「说明书上的具体步骤」

1.2 脚本在哪里写

  1. 选中地图上的物体
  2. 在属性面板中添加「脚本组件」
  3. 点击「编辑脚本」进入脚本编辑器
  4. 编写你的脚本逻辑

1.3 脚本的基本结构

当 [触发时机] 时
    → 执行 [积木1]
    → 执行 [积木2]
    → 执行 [积木3]
结束

二、触发时机

2.1 什么是触发时机

触发时机是脚本执行的「入口条件」,只有满足条件时,脚本才会运行。

2.2 常见触发时机

触发时机触发条件使用场景
当开始时物体被创建初始化设置
当点击时玩家点击物体按钮交互
当碰撞时与其他物体碰撞碰撞检测
当收到广播时收到指定广播事件响应
当互动按钮被按下时玩家按下互动按钮NPC对话
当死亡时物体死亡死亡处理
当受伤时物体受伤受伤处理

2.3 触发时机示例

按钮点击

当点击时
    → 发送广播 "按钮被点击"
结束

碰撞检测

当碰撞时
    → 播放音效 "撞击"
    → 销毁当前碰撞对象
结束

广播响应

当收到广播 "游戏开始" 时
    → 设置当前地图属性 "游戏状态" 为 "进行中"
结束

三、变量

3.1 什么是变量

变量是用于存储数据的「容器」,可以在脚本中保存和读取数据。

3.2 创建局部变量

新建局部变量 为 初始值

示例

新建局部变量 计数器 为 0
新建局部变量 名字 为 "玩家"
新建局部变量 启用 为 真

3.3 变量类型

类型示例说明
数字1003.14-50数值数据
文本"你好""玩家"字符串文字
真假值 / 布尔值
数组[1, 2, 3]一组数据

3.4 变量作用域

变量类型生命周期访问范围
局部变量当前脚本执行完消失只有当前脚本
自身属性物体存在期间只有当前物体
地图属性地图存在期间当前地图所有物体
系统属性游戏全程所有物体
玩家变量跨会话持久化当前玩家

3.5 变量使用示例

计数器示例

当点击时
    新建局部变量 次数 为 获取自身属性 "点击次数"
    设置自身属性 "点击次数" 为 次数 + 1
    发送广播 "刷新显示"
结束

生命值示例

当受伤时
    获取自身属性 "生命值"
    设置自身属性 "生命值" 为 生命值 - 10
    如果 生命值 <= 0 则
        → 发送广播 "角色死亡"
    结束
结束

四、广播

4.1 什么是广播

广播是一种「发消息给多个对象」的事件通知机制,用于让不同对象之间互相通信。

类比理解

  • 想象电台广播
  • 发送者 = 电台
  • 接收者 = 调到对应频道的听众
  • 发送者不需要知道谁在收听

4.2 发送广播

发送广播 "广播名称"

示例

发送广播 "游戏开始"
发送广播 "按钮被点击"
发送广播 "金币变化"

4.3 接收广播

当收到广播 "广播名称" 时
    → 执行相应逻辑
结束

4.4 广播示例

UI发请求 → 地图处理 → UI刷新

// UI层(按钮脚本)
当点击时
    发送广播 "请求购买"
结束

// 地图层(商店脚本)
当收到广播 "请求购买" 时
    → 处理购买逻辑
    → 发送广播 "购买完成"
结束

// UI层(显示脚本)
当收到广播 "购买完成" 时
    → 刷新界面
结束

4.5 广播命名规范

不推荐推荐说明
广播1游戏开始表达事件
刷新金币变化表达具体内容
改值属性更新表达动作

五、条件判断

5.1 如果语句

如果 [条件] 则
    → 执行操作
结束

示例

如果 获取玩家变量 金币 >= 100 则
    → 设置玩家属性 金币 为 金币 - 100
    → 发送广播 "购买成功"
结束

5.2 如果...否则语句

如果 [条件] 则
    → 执行操作A
否则
    → 执行操作B
结束

示例

如果 获取玩家变量 金币 >= 100 则
    → 设置玩家属性 金币 为 金币 - 100
    → 发送广播 "购买成功"
否则
    → 发送广播 "金币不足"
结束

5.3 多条件判断

如果 条件1 且 条件2 则
    → 执行操作
结束

示例

如果 生命值 > 0 且 存活 = 真 则
    → 继续游戏
结束

六、循环

6.1 无限循环

无限循环
    → 执行操作
结束

示例

无限循环
    等待 1 秒
    发送广播 "定时检查"
结束

6.2 循环若干次

重复 10 次
    → 执行操作
结束

示例

重复 5 次
    新建局部变量 计数 为 计数 + 1
    生成特效 在 随机位置
结束

6.3 跳出循环

无限循环
    → 执行操作
    如果 条件 = 真 则
        → 跳出循环
    结束
结束

七、常见脚本示例

7.1 开门机关

当点击时
    如果 获取自身属性 "门状态" = "关闭" 则
        设置自身属性 "门状态" 为 "开启"
        播放动画 "开门"
    否则
        设置自身属性 "门状态" 为 "关闭"
        播放动画 "关门"
    结束
结束

7.2 伤害检测

当碰撞时
    新建局部变量 伤害值 为 获取当前碰撞对象的属性 "攻击力"
    设置自身属性 "生命值" 为 生命值 - 伤害值
    如果 生命值 <= 0 则
        → 发送广播 "敌人死亡"
        → 销毁自身
    结束
结束

7.3 收集物品

当碰撞时
    发送广播 "获得物品"
    播放音效 "拾取"
    销毁当前碰撞对象
结束

7.4 分数统计

当收到广播 "得分" 时
    新建局部变量 当前分数 为 获取玩家变量 "总分"
    设置玩家变量 "总分" 为 当前分数 + 参数.分数
    发送广播 "刷新分数"
结束

八、脚本调试

8.1 为什么脚本不执行

检查清单

  1. 触发时机是否正确?
  2. 广播名称是否完全一致?
  3. 变量名是否写错?
  4. 条件判断是否正确?
  5. 对象是否还存在?

8.2 调试技巧

技巧1:添加日志

当点击时
    发送广播 "调试_打印" 带参数 信息="脚本被执行了"
结束

技巧2:分步测试

  • 先测试发送端
  • 再测试接收端
  • 最后串联完整流程

技巧3:逐步注释

  • 注释掉部分代码
  • 逐段排查问题

8.3 常见错误

错误原因解决
脚本不执行触发时机错误检查触发时机设置
广播没效果名称不一致检查广播名称
变量丢失作用域错误检查变量类型
循环卡死缺少等待添加等待语句

九、快速参考

常用积木块

积木块说明
新建局部变量创建临时变量
设置自身属性设置物体属性
发送广播发送广播消息
如果...则条件判断
无限循环无限循环执行
等待等待一段时间
播放音效播放音效
生成特效生成特效
销毁自身销毁当前物体
隐藏 / 显示显隐控制

关联阅读

教程资料

核心研究

项目设计

导航入口


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

参与维护

发现文档问题?

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

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