编辑器入门:把节点和脚本连起来
把编辑器看成一张可以保存的装配台:你把节点放进场景,把组件挂到节点,再把组件需要的引用填好。脚本写得正确,不代表这张装配台已经接好线。
先准备一个可重复的环境
通过 Cocos Dashboard 安装并选择 Creator 3.8.8,新建 2D 项目。本文节点名称是约定,不要求某个模板默认就存在这些节点。
- 创建并保存场景
Main,确保有Canvas与用于 UI 的相机;若模板已有就复用。 - 在 Canvas 上设置设计分辨率,例如 720 × 1280。它是布局参考,不等于每台手机的实际像素。
- 在 Canvas 下创建
Game,添加UITransform,尺寸同设计区域,位置归零。 - 在 Game 下创建
Target:带UITransform、Sprite 和 Button,设置可见大小,例如 160 × 160。可使用项目提供的白色精灵,再调整颜色。 - 创建三个带 Label 的节点
ScoreLabel、TimeLabel、ResultLabel;再创建一个带 Button 的RestartButton,按钮下的 Label 写“重新开始”。 - 新建
assets/scripts,把闭环章节的脚本放入,等待编辑器编译完成。
四个区域分别做什么
| 区域 | 操作 | 常见误会 |
|---|---|---|
| 层级管理器 | 选择节点、安排父子关系 | 调整资源目录不会改变场景父子关系 |
| 场景编辑器 | 移动、缩放、预览空间关系 | 编辑器镜头不是游戏相机 |
| 资源管理器 | 管理脚本、图片、Prefab 等 | 文件存在不意味着已被场景引用 |
| 属性检查器 | 设置组件属性、拖入引用 | 拖入节点不一定等于正确的组件类型 |
例如脚本属性类型是 Label,就把带 Label 的节点拖到该字段,并确认检查器显示正确组件。引用为空通常是装配问题,不能靠再写一个自动查找节点的工具掩盖。
节点树先搭清楚
Main
└─ Canvas
├─ Camera(名称依模板而异)
└─ Game [UITransform, ClickCollector]
├─ Target [UITransform, Sprite, Button]
├─ ScoreLabel [Label]
├─ TimeLabel [Label]
├─ ResultLabel [Label]
└─ RestartButton [Button]
└─ Label [Label]
本文用脚本监听 Button 点击,因此不要再在检查器的 Click Events 中额外绑定同一个回调,否则一次点击可能执行两次。
先做这几个检查
预览后目标可见、文字可读、按钮有尺寸;控制台没有编译错误;检查器没有丢失的脚本;脚本字段都已绑定。再去做玩法。UI 看不见时先查层级、active、相机、尺寸和资源,不要一次更改十个设置。
给 AI:“按本文节点树告诉我每个组件挂在哪个节点、哪些字段要拖拽。不要只给脚本。”