目录
[Cocos Creator 3.8 2D 游戏开发知识点整理](#Cocos Creator 3.8 2D 游戏开发知识点整理)
[1. Cocos Creator 3.8 概述](#1. Cocos Creator 3.8 概述)
[2. 2D 游戏核心组件](#2. 2D 游戏核心组件)
[(1) 节点(Node)与组件(Component)](#(1) 节点(Node)与组件(Component))
[(2) 渲染组件](#(2) 渲染组件)
[(3) UI 组件](#(3) UI 组件)
[3. 动画系统](#3. 动画系统)
[(1) 传统帧动画](#(1) 传统帧动画)
[(2) 动画编辑器](#(2) 动画编辑器)
[(3) Spine 和 DragonBones](#(3) Spine 和 DragonBones)
[4. 物理系统](#4. 物理系统)
[(1) 物理引擎](#(1) 物理引擎)
[(2) 刚体(RigidBody2D)](#(2) 刚体(RigidBody2D))
[(3) 碰撞检测](#(3) 碰撞检测)
[5. 输入系统](#5. 输入系统)
[(1) 触摸与鼠标事件](#(1) 触摸与鼠标事件)
[(2) 键盘输入](#(2) 键盘输入)
[(3) 摇杆控制](#(3) 摇杆控制)
[6. 资源管理](#6. 资源管理)
[(1) 动态加载资源](#(1) 动态加载资源)
[(2) 预加载资源](#(2) 预加载资源)
[(3) 图集优化](#(3) 图集优化)
[7. 网络与数据存储](#7. 网络与数据存储)
[(1) 网络请求](#(1) 网络请求)
[(2) 本地存储](#(2) 本地存储)
[8. 性能优化](#8. 性能优化)
[(1) Draw Call 优化](#(1) Draw Call 优化)
[(2) 物理优化](#(2) 物理优化)
[(3) 资源优化](#(3) 资源优化)
Cocos Creator 3.8 2D 游戏开发知识点整理
1. Cocos Creator 3.8 概述
- 基于 TypeScript 和 JavaScript 开发
- 采用 ECS(实体-组件-系统)架构,便于管理游戏对象
- 提供 WebGL 和 Canvas 渲染模式,兼容 Web、原生、小游戏平台
- 支持 Box2D 和 Cannon.js 物理引擎
2. 2D 游戏核心组件
(1) 节点(Node)与组件(Component)
- Node(节点):游戏对象的基本单位,可包含多个组件
- Component(组件) :添加到节点上的功能模块,如 Sprite、Collider、RigidBody
(2) 渲染组件
- Sprite (精灵):渲染 图片 、精灵帧动画
- Label(文本):用于显示游戏内文字
- Graphics (绘图):绘制自定义图形,如血条、特效
- Mask (遮罩):用于实现裁剪效果
- SpriteAtlas(图集):优化加载多个精灵
(3) UI 组件
- Button(按钮):响应点击事件
- Layout(布局):自动排列子节点
- ScrollView(滚动视图):实现滚动列表
- ProgressBar(进度条) :如血条、加载进度
3. 动画系统
(1) 传统帧动画
- SpriteFrame Animation :通过精灵帧序列切换,实现动画
(2) 动画编辑器
- Animation 组件 :支持关键帧动画
- 支持插值计算:位置、旋转、缩放、透明度
- 支持曲线控制(贝塞尔曲线)
(3) Spine 和 DragonBones
- Spine:骨骼动画,适合复杂角色
- DragonBones:阿里出品,适用于国风游戏
4. 物理系统
(1) 物理引擎
- 内置 Box2D(2D 物理) ,可实现重力、碰撞、反弹
- Cannon.js(3D 物理),可用于部分 2D 游戏
(2) 刚体(RigidBody2D)
- 动态(Dynamic) :受力影响,如角色
- 静态(Static) :不会移动,如地面
- 运动(Kinematic) :不受物理影响,如电梯
(3) 碰撞检测
- Collider 组件 :如 BoxCollider、CircleCollider、PolygonCollider
- 监听碰撞回调 :
onBeginContact
、onEndContact
5. 输入系统
(1) 触摸与鼠标事件
- cc.Node 事件 :
touchstart
、touchmove
、touchend
- 系统事件 :
mousedown
、mousemove
、mouseup
(2) 键盘输入
systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, callback, this);
(3) 摇杆控制
- 监听 Touch Move 事件,计算角度,控制角色方向
6. 资源管理
(1) 动态加载资源
resources.load("路径", cc.SpriteFrame, (err, spriteFrame) => {});
assetManager.loadRemote("远程资源地址", callback);
(2) 预加载资源
resources.preload("路径", cc.SpriteFrame);
(3) 图集优化
- 使用 SpriteAtlas 合并多个小图,减少 draw call
7. 网络与数据存储
(1) 网络请求
- HTTP 请求 :使用
cc.assetManager.loadRemote()
加载远程资源 - WebSocket :适用于实时多人游戏
(2) 本地存储
- cc.sys.localStorage :存储 JSON 数据、用户配置
- FileSystem API(原生端):存储本地文件
8. 性能优化
(1) Draw Call 优化
- 使用图集(SpriteAtlas):减少批量绘制的开销
- 合并 UI 组件:避免 UI 频繁重绘
(2) 物理优化
- 减少碰撞检测数量
- 使用简单碰撞体(Box 代替 Polygon)
(3) 资源优化
- 压缩图片(TinyPNG、TexturePacker)
- 合理使用对象池(Object Pool) 复用节点
总结
Cocos Creator 3.8 提供了完整的 2D 游戏开发工具,包括 节点系统、动画系统、物理引擎、UI 系统、输入系统、资源管理 等。开发 2D 游戏时,需要合理利用 图集、动画优化、对象池、碰撞优化 来提升性能。