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.rhkb.cn/news/10796.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库备份、主从、集群等配置

数据库备份、主从、集群等配置 1 MySQL1.1 docker安装MySQL1.2 主从复制1.2.1 主节点配置1.2.2 从节点配置1.2.3 创建用于主从同步的用户1.2.4 开启主从同步1.2.4 主从同步验证 1.3 主从切换1.3.1 主节点设置只读(在192.168.1.151上操作)1.3.2 检查主从数…

【题解】AtCoder Beginner Contest ABC391 D Gravity

题目大意 原题面链接 在一个 1 0 9 W 10^9\times W 109W 的平面里有 N N N 个方块。我们用 ( x , y ) (x,y) (x,y) 表示第 x x x 列从下往上数的 y y y 个位置。第 i i i 个方块的位置是 ( x i , y i ) (x_i,y_i) (xi​,yi​)。现在执行无数次操作,每一次…

FFmpeg工具使用基础

一、FFmpeg工具介绍 FFmpeg命令行工具主要包括以下几个部分: ‌ffmpeg‌:编解码工具‌ffprobe‌:多媒体分析器‌ffplay‌:简单的音视频播放器这些工具共同构成了FFmpeg的核心功能,支持各种音视频格式的处理和转换‌ 二、在Ubuntu18.04上安装FFmpeg工具 1、sudo apt-upda…

自制虚拟机(C/C++)(二、分析引导扇区,虚拟机读二进制文件img软盘)

先修复上一次的bug&#xff0c;添加新指令&#xff0c;并增加图形界面 #include <graphics.h> #include <conio.h> #include <windows.h> #include <commdlg.h> #include <iostream> #include <fstream> #include <sstream> #inclu…

LeetCode:63. 不同路径 II

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;63. 不同路径 II 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角&#xff08;即 grid[0][0]…

索引的底层数据结构、B+树的结构、为什么InnoDB使用B+树而不是B树呢

索引的底层数据结构 MySQL中常用的是Hash索引和B树索引 Hash索引&#xff1a;基于哈希表实现的&#xff0c;查找速度非常快&#xff0c;但是由于哈希表的特性&#xff0c;不支持范围查找和排序&#xff0c;在MySQL中支持的哈希索引是自适应的&#xff0c;不能手动创建 B树的…

EigenLayer联合Cartesi:打造面向主流用户的DeFi、AI等新用例

EigenLayer 与 Cartesi 正在开展合作&#xff0c;致力于弥合基础设施协议与终端用户应用之间的鸿沟&#xff1b;鼓励核心开发人员构建人工智能代理、复杂 DeFi、游戏、社交网络等应用场景&#xff1b;得益于 Cartesi 基于 Linux 的协处理器&#xff0c;开发者可复用现有软件库和…

DeepSeek-R1论文研读:通过强化学习激励LLM中的推理能力

DeepSeek在朋友圈&#xff0c;媒体&#xff0c;霸屏了好长时间&#xff0c;春节期间&#xff0c;研读一下论文算是时下的回应。论文原址&#xff1a;[2501.12948] DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 摘要&#xff1a; 我们…

MINIRAG: TOWARDS EXTREMELY SIMPLE RETRIEVAL-AUGMENTED GENERATION论文翻译

感谢阅读 注意不含评估以后的翻译原论文地址标题以及摘要介绍部分MiniRAG 框架2.1 HETEROGENEOUS GRAPH INDEXING WITH SMALL LANGUAGE MODELS2.2 LIGHTWEIGHT GRAPH-BASED KNOWLEDGE RETRIEVAL2.2.1 QUERY SEMANTIC MAPPING2.2.2 TOPOLOGY-ENHANCED GRAPH RETRIEVAL 注意不含评…

Kafka中文文档

文章来源&#xff1a;https://kafka.cadn.net.cn 什么是事件流式处理&#xff1f; 事件流是人体中枢神经系统的数字等价物。它是 为“永远在线”的世界奠定技术基础&#xff0c;在这个世界里&#xff0c;企业越来越多地使用软件定义 和 automated&#xff0c;而软件的用户更…

【学习笔记】深度学习网络-正则化方法

作者选择了由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大佬撰写的《Deep Learning》(人工智能领域的经典教程&#xff0c;深度学习领域研究生必读教材),开始深度学习领域学习&#xff0c;深入全面的理解深度学习的理论知识。 在之前的文章中介绍了深度学习中用…

Flutter常用Widget小部件

小部件Widget是一个类&#xff0c;按照继承方式&#xff0c;分为无状态的StatelessWidget和有状态的StatefulWidget。 这里先创建一个简单的无状态的Text小部件。 Text文本Widget 文件&#xff1a;lib/app/app.dart。 import package:flutter/material.dart;class App exte…

浅色可视化大屏虽然经常被诟病,也有自己的用武之地呀

一、视觉舒适性与减轻疲劳 在长时间的使用和观察中&#xff0c;浅色可视化大屏能够为用户带来更舒适的视觉体验&#xff0c;减轻视觉疲劳。与深色背景相比&#xff0c;浅色背景通常反射的光线较少&#xff0c;对眼睛的刺激相对较小。尤其是在需要长时间盯着大屏进行数据分析…

Office / WPS 公式、Mathtype 公式输入花体字、空心字

注&#xff1a;引文主要看注意事项。 1、Office / WPS 公式中字体转换 花体字 字体选择 “Eulid Math One” 空心字 字体选择 “Eulid Math Two” 使用空心字时&#xff0c;一般不用斜体&#xff0c;取消勾选 “斜体”。 2、Mathtype 公式输入花体字、空心字 2.1 直接输…

el-table组件样式如何二次修改?

文章目录 前言一、去除全选框按钮样式二、表头颜色的修改 前言 ElementUI中的组件el-table表格组件提供了丰富的样式&#xff0c;有一个全选框的el-table组件&#xff0c;提供了全选框和多选。 一、去除全选框按钮样式 原本默认是有全选框的。假如有一些开发者&#xff0c;因…

Python安居客二手小区数据爬取(2025年)

目录 2025年安居客二手小区数据爬取观察目标网页观察详情页数据准备工作&#xff1a;安装装备就像打游戏代码详解&#xff1a;每行代码都是你的小兵完整代码大放送爬取结果 2025年安居客二手小区数据爬取 这段时间需要爬取安居客二手小区数据&#xff0c;看了一下相关教程基本…

【13】WLC HA介绍和配置

1.概述 本文对AireOS WLC的HA进行介绍,和大多数网络架构设计一样,单台的WLC是无法保证设备的冗余性的,而且WLC也不是双引擎的设备,所以需要依靠High Available的技术来为WLC提供高可用性。 2.WLC HA类型 AireOS WLC的高可用性技术可以分为N+1的SSO的HA。不是所有的设备都…

因果推断与机器学习—用机器学习解决因果推断问题

Judea Pearl 将当前备受瞩目的机器学习研究戏谑地称为“仅限于曲线拟合”,然而,曲线拟合的实现绝非易事。机器学习模型在图像识别、语音识别、自然语言处理、蛋白质分子结构预测以及搜索推荐等多个领域均展现出显著的应用效果。 在因果推断任务中,在完成因果效应识别之后,需…

Hot100之矩阵

73矩阵置零 题目 思路解析 收集0位置所在的行和列 然后该行全部初始化为0 该列全部初始化为0 代码 class Solution {public void setZeroes(int[][] matrix) {int m matrix.length;int n matrix[0].length;List<Integer> list1 new ArrayList<>();List<…

【深度分析】DeepSeek大模型技术解析:从架构到应用的全面探索

深度与创新&#xff1a;AI领域的革新者 DeepSeek&#xff0c;这个由幻方量化创立的人工智能公司推出的一系列AI模型&#xff0c;不仅在技术架构上展现出了前所未有的突破&#xff0c;更在应用领域中开启了无限可能的大门。从其混合专家架构&#xff08;MoE&#xff09;到多头潜…