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

【02】Cocos游戏开发引擎从0开发一款游戏-cocos项目目录结构熟悉-调试运行项目-最重要的assets资源文件认识-场景sense了解-优雅草卓伊凡

【02】Cocos游戏开发引擎从0开发一款游戏-cocos项目目录结构熟悉-调试运行项目-最重要的assets资源文件认识-场景sense了解-优雅草卓伊凡

开发背景

接下来我们直接打开我们的项目开始进一步操作,

实战开发

导入项目

我把得到的项目解压到本地,我们开始打开他

导入项目,选择对应路劲,导入成功后双击打开项目

中间这个画布我们可以用鼠标滚轮放大和缩小

这是一款娱乐游戏,甲方是拥有五证齐全加版号的一款要上架的娱乐房卡游戏

项目结构

Cocos Creator 项目有着清晰且规范的目录结构,下面为你详细介绍各个主要目录及其功能。

根目录

项目根目录包含了整个项目的核心文件和配置信息,以下是常见的根目录下的文件夹和文件:

文件夹 / 文件

说明

assets

这是项目中最为重要的目录,用于存放所有的游戏资源,像脚本、纹理、音频、场景等都存于此。开发者日常开发中的大部分资源操作都在这个目录下进行。

libraries

存放项目所依赖的外部库文件,这些库文件可以是 Cocos Creator 官方提供的,也可以是开发者自行引入的第三方库。

settings

包含项目的各种设置文件,例如构建发布设置、编辑器偏好设置等。这些设置文件会影响项目的构建和开发环境。

temp

作为临时文件的存储目录,在项目开发和构建过程中,Cocos Creator 会生成一些临时文件,这些文件会存放在该目录下。

packages

用于存放项目的插件包。开发者可以通过安装插件来扩展 Cocos Creator 的功能,安装后的插件就会存放在这个目录中。

build

项目构建输出的目录,当你使用 Cocos Creator 进行项目构建时,生成的可运行文件会存放在这里,根据不同的平台和构建配置,会生成不同格式的文件。

project.json

项目的配置文件,记录了项目的基本信息、依赖关系等重要配置,Cocos Creator 会根据这个文件来加载和管理项目。

assets 目录

assets 目录是开发者重点关注的目录,它包含了项目所需的各种资源,以下是其常见的子目录:

文件夹

说明

Scripts

存放项目的脚本文件,这些脚本使用 TypeScript 或 JavaScript 编写,用于实现游戏的各种逻辑,如角色控制、游戏规则、事件处理等。

Textures

用于存放纹理资源,也就是各种图片文件,包括角色精灵图、背景图片、图标等,这些图片会在游戏中显示。

Sounds

存放项目的音频资源,如背景音乐、音效等,能为游戏增添丰富的听觉体验。

Scenes

存储项目的场景文件,每个场景文件对应游戏中的一个独立场景,如主菜单场景、游戏关卡场景等。

Prefabs

预制体文件夹,预制体是一种可重复使用的节点组合,将一些常用的节点和组件组合成预制体后,可以在不同的场景中方便地复用。

Materials

材质文件目录,材质用于定义物体的外观属性,如颜色、光泽度、纹理映射等,在 3D 游戏开发中使用较多。

Animations

存放动画资源,包括角色动画、UI 动画等,通过动画编辑器创建的动画文件会保存在这里。

示例目录结构展示

收起

plaintext

project-root/
├── assets/
│   ├── Scripts/
│   │   ├── GameManager.ts
│   │   ├── PlayerController.ts
│   │   └── ...
│   ├── Textures/
│   │   ├── player.png
│   │   ├── background.jpg
│   │   └── ...
│   ├── Sounds/
│   │   ├── bgm.mp3
│   │   ├── click.wav
│   │   └── ...
│   ├── Scenes/
│   │   ├── MainMenu.scene
│   │   ├── GameLevel1.scene
│   │   └── ...
│   ├── Prefabs/
│   │   ├── Enemy.prefab
│   │   ├── Coin.prefab
│   │   └── ...
│   ├── Materials/
│   │   ├── Metal.material
│   │   ├── Glass.material
│   │   └── ...
│   └── Animations/
│       ├── PlayerRun.anim
│       ├── ButtonClick.anim
│       └── ...
├── libraries/
│   └── ...
├── settings/
│   └── ...
├── temp/
│   └── ...
├── packages/
│   └── ...
├── build/
│   └── ...
└── project.json

通过这样的目录结构,Cocos Creator 项目能够有效地组织和管理各种资源,提高开发效率和项目的可维护性。

我们再来回顾看下本项目的结构目录,非常清晰。

我们在左上角点击 项目 -运行预览 是可以直接在浏览器运行到预览的

可以看看

不过发现进不去,这个后面再来。

assets 资源文件

我们可以看到 assets 资源文件夹下面有.meta格式文件,他对应着每一个文件名,那么这是

在 Cocos Creator 项目的assets目录下,每个资源文件都会对应一个同名的.meta文件,这些.meta文件起着至关重要的作用,以下为你详细介绍:

资源唯一标识

  • 每个.meta文件中都包含一个全局唯一标识符(GUID)。Cocos Creator 通过这个 GUID 来识别和管理资源,而不是依赖于资源文件的路径和名称。当资源文件的名称或位置发生改变时,只要.meta文件存在且其中的 GUID 不变,Cocos Creator 依然能够正确地找到和引用该资源。例如,你将一个图片资源从assets/Textures目录移动到assets/NewTextures目录,只要对应的.meta文件跟着移动,项目中对该图片资源的引用不会受到影响。

资源导入配置

  • .meta文件记录了资源的导入配置信息,这些配置决定了资源在导入引擎时的处理方式。不同类型的资源有不同的导入配置选项:
    • 纹理资源:配置包括纹理的压缩格式、滤波模式、是否开启 mipmap 等。比如,你可以通过.meta文件将一张图片设置为特定的压缩格式以减小文件大小,同时保持合适的显示质量。
    • 音频资源:可以配置音频的加载方式(如流式加载或预加载)、音量、循环模式等。
    • 模型资源:涉及模型的缩放、旋转、材质映射等设置。

资源依赖关系

  • .meta文件会记录资源之间的依赖关系。例如,一个预制体资源可能依赖于多个纹理、音频和脚本资源,.meta文件会记录这些依赖信息。当 Cocos Creator 加载该预制体时,会根据.meta文件中的依赖关系自动加载所需的其他资源,确保资源的正确加载和使用。

版本控制与协作开发

  • 在多人协作开发或使用版本控制系统(如 Git)时,.meta文件非常重要。它可以帮助团队成员保持资源的一致性,避免因资源引用问题导致的冲突。当团队成员拉取代码时,.meta文件会确保每个人使用的资源配置和引用关系是相同的。

资源状态管理

  • .meta文件还可以记录资源的一些状态信息,如资源是否被标记为隐藏、是否为只读等。这些状态信息可以帮助开发者更好地管理项目资源,提高开发效率。

总之,.meta文件在 Cocos Creator 项目中是不可或缺的,它确保了资源的正确管理、加载和使用,是项目稳定开发和维护的重要保障。在开发过程中,要注意不要随意删除或修改.meta文件,以免导致资源引用错误。

其次我们要知道场景概念

场景 sense

在 Cocos 开发中,Scene(场景)是一个核心概念,它是游戏或应用程序的一个独立单元,以下从多个方面详细介绍场景的概念:

定义与基本作用

  • 定义:场景是游戏世界中的一个特定部分,就像戏剧中的一幕,它包含了一组相互关联的游戏元素,这些元素共同构成了一个完整的游戏画面或交互界面。
  • 基本作用:作为游戏内容的组织和管理单位,负责承载游戏中的各种元素,如角色、道具、背景等,并控制这些元素之间的交互和行为,为玩家提供特定的游戏体验。

场景的组成要素

  • 节点(Node):场景的基本构建块,代表场景中的一个对象。节点可以是一个角色、一个道具、一个 UI 元素等。节点可以包含各种组件(Component),用于实现不同的功能。例如,一个精灵节点可以包含一个 Sprite 组件,用于显示图片;一个文本节点可以包含一个 Label 组件,用于显示文字。
  • 组件(Component):附加在节点上的功能模块,用于实现节点的特定行为。Cocos Creator 提供了许多内置组件,如 Sprite(精灵)、Label(标签)、Button(按钮)、RigidBody(刚体)等,开发者也可以自定义组件。组件可以控制节点的外观、行为、物理属性等。

场景的类型与应用

  • 主菜单场景:作为游戏的入口,通常包含开始游戏、设置、退出等功能按钮。玩家可以在这个场景中选择进入游戏的不同模式或进行游戏设置。例如,在一个角色扮演游戏中,主菜单场景可能会提供 “新游戏”“继续游戏”“设置”“退出” 等选项。
  • 游戏关卡场景:实现游戏的主要玩法,包含各种游戏元素和规则。在这个场景中,玩家需要完成特定的任务或目标,如击败敌人、收集道具、通过关卡等。例如,在一个平台跳跃游戏中,游戏关卡场景会包含玩家角色、障碍物、敌人、金币等元素,玩家需要控制角色避开障碍物,击败敌人,收集金币并到达关卡终点。
  • 游戏结束场景:当玩家完成游戏或游戏失败时显示的场景,通常会显示游戏结果、得分等信息,并提供重新开始游戏或返回主菜单的选项。

场景的切换与管理

  • 场景切换:在游戏过程中,根据游戏逻辑需要在不同的场景之间进行切换。例如,当玩家点击主菜单中的 “开始游戏” 按钮时,游戏会从主菜单场景切换到游戏关卡场景;当玩家完成一个关卡或游戏失败时,游戏会从游戏关卡场景切换到游戏结束场景。在 Cocos Creator 中,可以使用director.loadScene方法来实现场景的切换。示例代码如下:

typescript

import { director } from 'cc';

// 切换到指定场景
director.loadScene('GameLevel1');
  • 场景管理:对于包含多个场景的游戏,需要进行有效的场景管理。可以使用场景管理器来控制场景的加载、卸载、切换等操作,确保游戏的流畅运行。例如,可以在场景切换时进行资源的预加载和释放,避免出现卡顿现象。

场景的编辑与调试

  • 场景编辑:在 Cocos Creator 的场景编辑器中,可以直观地创建、编辑和组织场景。通过拖拽节点、添加组件、设置属性等操作,可以快速搭建出场景的布局和功能。同时,场景编辑器还提供了实时预览功能,方便开发者及时查看场景的效果。
  • 场景调试:在开发过程中,需要对场景进行调试,确保场景中的元素和逻辑正常工作。可以使用 Cocos Creator 提供的调试工具,如断点调试、日志输出等,来定位和解决问题。例如,在脚本中添加日志输出语句,查看变量的值和程序的执行流程,帮助调试场景中的逻辑错误。

当然了我们在这上面可以点击直接切换场景,我们可以看到我们有1个场景 app,这里可以切换

比如我切换到lobby,点击运行

那么就到这里了,


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

相关文章:

  • 3DM转换成STL
  • 解决npm run dev报错
  • JavaScript 作用域与作用域链深度解析
  • 服务器为什么会禁止 Ping?服务器禁止 Ping 的好处
  • nz-upload 手动上传 PDF预览
  • DeepSeek R1 + 飞书机器人实现AI智能助手
  • Linux中子线程会继承父线程对相关变量的可见性
  • docker-compose部署onlyoffice8.3.0并支持ssl,且支持通过nginx代理,关闭JWT配置
  • 【MySQL学习】关系数据库标准语言SQL
  • SC95F8767的学习——新工程的建立
  • WPF学习之Prism(二)
  • 11特殊函数
  • 【数据结构】二叉树(门槛极低的系统理解)
  • Apache Flink:实时数据流处理的终极武器
  • 关于家用 电视盒子[机顶盒] 的捣鼓日志 2025/2/27
  • 数据预处理实战:缺失值处理与数据标准化
  • 企业并购中SAP系统的三大数据转型挑战以及来如何应对?
  • 李代数(Lie Algebras)与Attention:深度学习中的数学之美
  • 记一次命令行启动springboot项目的问题 java -jar的问题
  • AF3 pair_sequences函数解读