Cocos Creator 3.8 2D 游戏开发知识点整理

目录

[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 概述
  • 基于 TypeScriptJavaScript 开发
  • 采用 ECS(实体-组件-系统)架构,便于管理游戏对象
  • 提供 WebGLCanvas 渲染模式,兼容 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
  • 监听碰撞回调onBeginContactonEndContact

5. 输入系统
(1) 触摸与鼠标事件
  • cc.Node 事件touchstarttouchmovetouchend
  • 系统事件mousedownmousemovemouseup
(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 游戏时,需要合理利用 图集、动画优化、对象池、碰撞优化 来提升性能。

相关推荐
adminwxs19 天前
【Cocos TypeScript 零基础 7.1】
前端·javascript·typescript·cocos
la_vie_est_belle1 个月前
《Cocos Creator游戏实战》非固定摇杆实现原理
游戏·cocos creator·游戏开发·cocos·非固定摇杆
末零2 个月前
Cocos编辑器
cocos
jc_caterpillar3 个月前
Cocos使用精灵组件显示相机内容
cocos
一丝晨光4 个月前
Web技术简史、前后端分离、游戏
前端·javascript·css·游戏·unity·前后端分离·cocos
爱你的魔5 个月前
cocosCreator屏幕适配导致的获取node宽高不准问题分析
cocos2d·cocos
草字6 个月前
cocos 触摸2d屏幕拖动3d节点思路
3d·cocos
Lampard猿奋7 个月前
【游戏客户端】大话slg玩法架构(三)建筑控件
游戏·unity·cocos·cocos2dx·slg·游戏客户端
GDAL8 个月前
cocos入门10:脚本简介
cocos