【Cocos Creator 3.x】篇——第一章 简介
目录1 什么是游戏编程1.1 游戏引擎是什么1.2 常见的游戏引擎Unity 3D虚幻引擎Unreal EngineCocos Creator2 Cocos Creator 3.x 简介2.1 主要改进2.2 选择Cocos Creator 3.x的理由3 开发前的准备3.1 安装Cocos Creator 3.x下载安装包系统要求3.2 TypeScript基础3.2.1 类型注解3.2.2 接口3.2.3 类3.2.4 模块化3.3 开发工具推荐编辑器必备插件4 项目结构4.1 项目目录4.2 关键文件说明tsconfig.jsonpackage.jsonproject.json5 核心概念5.1 实体组件系统ECS5.2 场景与节点5.3 坐标系6 第一个程序6.1 创建项目6.2 创建脚本6.3 使用脚本7 总结《Cocos Creator 3.x游戏编程入门指南》摘要本文系统介绍了游戏编程基础与Cocos Creator 3.x引擎的核心技术。从游戏引擎概念入手对比分析了Unity3D、Unreal Engine等主流引擎特性重点讲解Cocos Creator 3.x的架构升级ECS系统、TypeScript支持、WebGPU等和跨平台优势。详细说明开发环境配置、TypeScript语法要点类型注解、类与模块化、项目目录结构及核心概念实体组件系统、坐标系。通过Hello World实例演示脚本创建、组件绑定和节点操作流程为开发者提供从零开始的实践指导并预告后续进阶学习内容。全文兼顾理论知识与实践操作是快速掌握Cocos Creator 3.x开发的实用指南。1 什么是游戏编程游戏编程Gaming Programming是一种通过编程来实现电子游戏中的逻辑的方法包括渲染物理交互等。随着游戏产业的发展游戏编程涉及的技术越来越广泛从传统的渲染引擎到现代的人工智能、网络同步等。1.1 游戏引擎是什么游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。简单来说引擎可以理解为一个开发游戏用的基本框架对于一些游戏开发上通用的功能不用再重复造轮子了拿来就用。1.2 常见的游戏引擎Unity 3DUnity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。虚幻引擎Unreal Engine虚幻引擎是一套完整的游戏开发工具提供了从建模到发布的全套解决方案以其强大的渲染能力和蓝图系统著称。Cocos CreatorCocos Creator是由Cocos官方推出的新一代游戏引擎支持2D和3D游戏开发具有轻量、高效、跨平台等特点。2 Cocos Creator 3.x 简介Cocos Creator 3.x 是 Cocos 引擎的最新版本相比 2.x 版本有了全面的升级2.1 主要改进架构升级采用全新的架构设计性能大幅提升3D能力增强原生支持3D渲染管线支持PBR材质系统TypeScript优先全面拥抱TypeScript提供更好的类型支持ECS架构引入实体组件系统Entity-Component SystemWebGPU支持支持最新的WebGPU标准提升Web端性能2.2 选择Cocos Creator 3.x的理由跨平台能力强支持Web、iOS、Android、Windows、Mac等多个平台学习曲线平缓对于有2D游戏开发经验的开发者来说上手相对容易社区活跃拥有庞大的开发者社区和丰富的学习资源性能优秀针对移动平台进行了深度优化3 开发前的准备3.1 安装Cocos Creator 3.x下载安装包访问官方网站Cocos Creator - 高效轻量的跨平台3D/2D图形引擎下载最新版本的Cocos Creator 3.x按照安装向导完成安装系统要求Windows 10 或 macOS 10.14至少8GB内存支持OpenGL 3.3或更高版本的显卡3.2 TypeScript基础Cocos Creator 3.x 使用 TypeScript 作为主要开发语言。如果你之前使用过 JavaScript学习 TypeScript 会非常容易。3.2.1 类型注解// 基本类型 let name: string Cocos; let version: number 3.8; let isEnabled: boolean true; // 数组类型 let numbers: number[] [1, 2, 3]; let names: Arraystring [Alice, Bob]; // 任意类型 let data: any hello; data 123; // 可以改变类型3.2.2 接口interface Player { id: number; name: string; level: number; hp: number; } let player: Player { id: 1, name: Hero, level: 10, hp: 100 };3.2.3 类class Character { // 私有属性 private _name: string; private _hp: number; // 构造函数 constructor(name: string, hp: number) { this._name name; this._hp hp; } // 方法 takeDamage(damage: number): void { this._hp - damage; if (this._hp 0) { this.die(); } } private die(): void { console.log(${this._name} has died!); } // Getter get hp(): number { return this._hp; } } // 使用类 let hero new Character(Hero, 100); hero.takeDamage(30); console.log(hero.hp); // 输出 703.2.4 模块化// math.ts export function add(a: number, b: number): number { return a b; } export const PI: number 3.14159; // main.ts import { add, PI } from ./math; console.log(add(2, 3)); // 输出 5 console.log(PI); // 输出 3.141593.3 开发工具推荐编辑器Visual Studio Code官方推荐支持TypeScript语法高亮、智能提示等WebStorm功能强大的IDE对TypeScript有很好的支持必备插件Cocos Creator Extension提供项目管理、调试等功能ESLint代码风格检查Prettier代码格式化工具4 项目结构4.1 项目目录创建一个新的Cocos Creator 3.x项目后你会看到以下目录结构ProjectName/ ├── assets/ # 资源目录 │ ├── scenes/ # 场景文件 │ ├── scripts/ # TypeScript脚本 │ ├── textures/ # 纹理资源 │ ├── audio/ # 音频资源 │ └── prefabs/ # 预制体资源 ├── library/ # 编译后的资源库 ├── packages/ # 扩展包 ├── settings/ # 项目设置 ├── temp/ # 临时文件 ├── tsconfig.json # TypeScript配置 ├── package.json # 依赖配置 └── project.json # 项目配置4.2 关键文件说明tsconfig.jsonTypeScript编译器配置文件定义了编译选项和路径别名。package.json项目依赖管理文件包含项目的依赖包信息。project.jsonCocos Creator项目的核心配置文件包含项目名称、版本等信息。5 核心概念5.1 实体组件系统ECSCocos Creator 3.x 引入了实体组件系统Entity-Component SystemEntity实体游戏对象的抽象本身不包含任何逻辑Component组件附加到实体上的功能模块System系统处理特定类型组件的逻辑5.2 场景与节点Scene场景游戏中的一个独立关卡或界面Node节点场景中的基本元素可以包含子节点5.3 坐标系Cocos Creator 3.x 使用左手坐标系X轴向右为正方向Y轴向上为正方向Z轴向外为正方向6 第一个程序让我们创建一个简单的Hello World程序来熟悉Cocos Creator 3.x的开发流程。6.1 创建项目打开Cocos Creator点击新建项目选择Empty 3D模板设置项目名称和路径点击创建6.2 创建脚本在assets/scripts目录下创建一个新的TypeScript文件HelloWorld.tsimport { _decorator, Component, Node, Label } from cc; const { ccclass, property } _decorator; ccclass(HelloWorld) export class HelloWorld extends Component { // 声明一个Label属性用于显示文字 property({ type: Label }) public label: Label null!; // 声明一个字符串属性用于存储显示的文字 property public text: string Hello, Cocos Creator 3.x!; // 生命周期回调组件激活时执行 start() { // 设置Label的文字内容 this.label.string this.text; // 打印日志 console.log(Hello World!); } // 生命周期回调每帧执行 update(deltaTime: number) { // 每帧旋转节点 this.node.rotate(0, deltaTime * 90, 0); } }6.3 使用脚本在场景中创建一个Canvas节点在Canvas下创建一个Label节点选中Canvas节点点击添加组件选择自定义脚本 - HelloWorld将Label节点拖拽到HelloWorld组件的label属性上点击运行按钮预览效果7 总结通过本章的学习你应该已经了解了游戏编程的基本概念Cocos Creator 3.x的主要特点TypeScript的基础知识项目结构和核心概念如何创建一个简单的Hello World程序下一章我们将深入学习Cocos Creator 3.x的入门。