当前位置: 首页 > article >正文

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

目录

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

1. Cocos Creator 3.8 概述

2. 2D 游戏核心组件

(1) 节点(Node)与组件(Component)

(2) 渲染组件

(3) UI 组件

3. 动画系统

(1) 传统帧动画

(2) 动画编辑器

(3) Spine 和 DragonBones

4. 物理系统

(1) 物理引擎

(2) 刚体(RigidBody2D)

(3) 碰撞检测

5. 输入系统

(1) 触摸与鼠标事件

(2) 键盘输入

(3) 摇杆控制

6. 资源管理

(1) 动态加载资源

(2) 预加载资源

(3) 图集优化

7. 网络与数据存储

(1) 网络请求

(2) 本地存储

8. 性能优化

(1) Draw Call 优化

(2) 物理优化

(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 游戏时,需要合理利用 图集、动画优化、对象池、碰撞优化 来提升性能。


http://www.kler.cn/a/526714.html

相关文章:

  • 集合的奇妙世界:Python集合的经典、避坑与实战
  • deepseek R1 14b显存占用
  • 10.3 LangChain实战指南:解锁大模型应用的10大核心场景与架构设计
  • Python中的函数(下)
  • 在AWS上使用KMS客户端密钥加密S3文件,同时支持PySpark读写和Snowflake导入
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.30 性能巅峰:NumPy代码优化全攻略
  • Sqoop支持ORC文件格式
  • AI大模型开发原理篇-4:神经概率语言模型NPLM
  • 【C++题解】1055. 求满足条件的整数个数
  • GWO优化GRNN回归预测matlab
  • 165. 比较版本号
  • 《解码AI大模型涌现能力:从量变到质变的智能跃迁》
  • 如何利用Docker和.NET Core实现环境一致性、简化依赖管理、快速部署与扩展,同时提高资源利用率、确保安全性和生态系统支持
  • Deepseek r1模型对医疗大模型的发展有什么影响?
  • 线程池以及在QT中的接口使用
  • Carla-ModuleNotFoundError: No module named ‘agents.navigation‘
  • Spring Boot - 数据库集成06 - 集成ElasticSearch
  • 【懒删除堆】力扣2349. 设计数字容器系统
  • 【C语言进阶】- 动态内存管理
  • 【memgpt】letta 课程5:可编程的agent内存
  • [HOT 100] 0003. 无重复字符的最长子串
  • 本地AI模型:未来智能设备的核心驱动力
  • Brave132 编译指南 Windows 篇:构建与运行(七)
  • Python3 【集合】:使用示例参考手册
  • 电感的饱和、温升、额定电流
  • Protocol Buffers c# with c++ communcation demo