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

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

相关文章:

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 和 …...

梯度提升用于高效的分类与回归

使用 决策树(Decision Tree) 实现 梯度提升(Gradient Boosting) 主要是模拟 GBDT(Gradient Boosting Decision Trees) 的原理,即: 第一棵树拟合原始数据计算残差(负梯度…...

【单细胞第二节:单细胞示例数据分析-GSE218208】

GSE218208 1.创建Seurat对象 #untar(“GSE218208_RAW.tar”) rm(list ls()) a data.table::fread("GSM6736629_10x-PBMC-1_ds0.1974_CountMatrix.tsv.gz",data.table F) a[1:4,1:4] library(tidyverse) a$alias:gene str_split(a$alias:gene,":",si…...

设计模式 - 行为模式_Template Method Pattern模板方法模式在数据处理中的应用

文章目录 概述1. 核心思想2. 结构3. 示例代码4. 优点5. 缺点6. 适用场景7. 案例:模板方法模式在数据处理中的应用案例背景UML搭建抽象基类 - 数据处理的 “总指挥”子类定制 - 适配不同供应商供应商 A 的数据处理器供应商 B 的数据处理器 在业务代码中整合运用 8. 总…...

新春登蛇山:告别岁月,启航未来

大年初一,晨曦透过薄雾,温柔地洒在武汉的大街小巷。2025 年的蛇年春节,带着新春的喜气与希望悄然而至。我站在蛇山脚下,心中涌动着复杂的情感,因为今天,我不仅将与家人一起登山揽胜,更将在这一天…...

hive:基本数据类型,关于表和列语法

基本数据类型 Hive 的数据类型分为基本数据类型和复杂数据类型 加粗的是常用数据类型 BOOLEAN出现ture和false外的其他值会变成NULL值 没有number,decimal类似number 如果输入的数据不符合数据类型, 映射时会变成NULL, 但是数据本身并没有被修改 创建表 创建表的本质其实就是在…...

安装最小化的CentOS7后,执行yum命令报错Could not resolve host mirrorlist.centos.org; 未知的错误

文章目录 安装最小化的CentOS7后,执行yum命令报错"Could not resolve host: mirrorlist.centos.org; 未知的错误"错误解决方案: 安装最小化的CentOS7后,执行yum命令报错"Could not resolve host: mirrorlist.centos.org; 未知…...

图论——spfa判负环

负环 图 G G G中存在一个回路,该回路边权之和为负数,称之为负环。 spfa求负环 方法1:统计每个点入队次数, 如果某个点入队n次, 说明存在负环。 证明:一个点入队n次,即被更新了n次。一个点每次被更新时所对应最短路的边数一定是…...

软件工程概论试题三

一、单选 1.需求确认主要检査五个方面的内容,其中那一项是为了保证文档中的需求不互相冲突(即不应该有相互矛盾的约束或者对同一个系统功能有不同的描述)。 A.现实性 B. 可验证性 C.一致性 D.正确性 E.完整性 正答:C 2.下列开发方法中,( )不…...

21.3-启动流程、编码风格(了解) 第21章-FreeRTOS项目实战--基础知识之新建任务、启动流程、编码风格、系统配置 文件组成和编码风格(了解)

21.3-启动流程、编码风格(了解) 启动流程 第一种启动流程(我们就使用这个): 在main函数中将硬件初始化、RTOS系统初始化,同时创建所有任务,再启动RTOS调度器。 第二种启动流程: 在main函数中将硬件初始化、RTOS系统初始化,只…...

未来无线技术的发展方向

未来无线技术的发展趋势呈现出多样化、融合化的特点,涵盖速度、覆盖范围、应用领域、频段利用、安全性等多个方面。这些趋势将深刻改变人们的生活和社会的运行方式。 传输速度提升:Wi-Fi 技术迭代加快,如 Wi-Fi7 理论峰值速率达 46Gbps&#…...

Qt5离线安装包无法下载问题解决办法

想在电脑里装一个Qt,但是直接报错。果然还是有解决办法滴。 qt download from your ip is not allowed Qt5安装包下载办法 方法一:简单直接,直接科学一下,不过违法行为咱不做,遵纪守法好公民(不过没办法阻…...

qt-C++笔记之QLine、QRect、QPainterPath、和自定义QGraphicsPathItem、QGraphicsRectItem的区别

qt-C笔记之QLine、QRect、QPainterPath、和自定义QGraphicsPathItem、QGraphicsRectItem的区别 code review! 参考笔记 1.qt-C笔记之重写QGraphicsItem的paint方法(自定义QGraphicsItem) 文章目录 qt-C笔记之QLine、QRect、QPainterPath、和自定义QGraphicsPathItem、QGraphic…...

doris:导入时实现数据转换

Doris 在数据导入时提供了强大的数据转换能力,可以简化部分数据处理流程,减少对额外 ETL 工具的依赖。主要支持以下四种转换方式: 列映射:将源数据列映射到目标表的不同列。 列变换:使用函数和表达式对源数据进行实时…...

新版231普通阿里滑块 自动化和逆向实现 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向过程 补环境逆向 部分补环境 …...

如何构建树状的思维棱镜认知框架

在思维与知识管理中,“树状思维棱镜”通常指一种层级式、可多维度展开和不断深入(下钻)的认知框架。它不仅仅是普通的树状结构(如传统思维导图),更强调“棱镜”所体现的多视角、多维度切换与综合分析的能力…...

openRv1126 AI算法部署实战之——ONNX模型部署实战

在RV1126开发板上部署ONNX算法,实时目标检测RTSP传输。视频演示地址 rv1126 yolov5 实时目标检测 rtsp传输_哔哩哔哩_bilibili 一、准备工作 1.从官网下载YOLOv5-v7.0工程(YOLOv5的第7个版本) 手动在线下载: Releases ultraly…...

Vue 组件开发:构建高效可复用的前端界面要素

1 引言 在现代 Web 开发中,构建高效且可复用的前端界面要素是提升开发效率和用户体验的关键。Vue.js 作为一种轻量级且功能强大的前端框架,提供了丰富的工具和机制,帮助开发者快速构建高质量的应用程序。通过合理设计和封装 Vue 组件,我们可以实现组件的高效复用,提高开发…...

Vue.js组件开发-实现全屏平滑移动、自适应图片全屏滑动切换

使用Vue实现全屏平滑移动、自适应图片全屏滑动切换的功能。使用Vue 3和Vue Router,并结合一些CSS样式来完成这个效果。 步骤 创建Vue项目:使用Vue CLI创建一个新的Vue项目。准备图片:将需要展示的图片放在项目的public目录下。创建组件&…...

水果实体店品牌数字化:RWA + 智能体落地方案

一、方案背景 随着数字化技术的迅猛发展,实体零售行业正面临前所未有的挑战与机遇。传统的零售模式难以满足消费者对个性化、便捷化、智能化的需求,尤其是在水果等生鲜商品领域,如何通过技术手段提升运营效率、增强顾客体验、拓宽盈利模式&a…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如&#xff1a…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...