政安晨【示例演绎虚拟世界开发】(一):Cocos Creator 的 Hello World

政安晨的个人主页政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏: AI虚拟世界大讲堂

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正。

前言

Cocos Creator是一款非常强大的游戏开发引擎,它有着优秀的跨平台特性和极强的易用性,在游戏开发领域广受好评。

这个系列的文章希望能够引导读者快速入门,通过多个案例快速熟悉Cocos Creator的各项基础知识,同时涵盖游戏开发中的一些小技巧。为配合人工智能机器学习算法构建未来的虚拟世界打好基础。

本书不会对API知识点进行大篇幅的讲解,也不会讲述过于复杂的游戏逻辑,同时,咱们在这个系列文章中的案例也会尽可能地简化,并围绕案例讲述相关的API知识点及其具体用法。

通过咱们这个系列地文章,希望小伙伴们可以快速了解具体知识点的应用场景,并学以致用,对Cocos Creator有较为全面的了解,同时具备独立制作游戏的能力。

咱们这篇文章,适合对游戏开发感兴趣或者Cocos Creator的初学者。

简述

Cocos Creator是一个基于Cocos2d-x引擎的游戏开发工具,它提供了一个集成化的开发环境,可以用于创建2D和3D游戏。它支持JavaScript和TypeScript两种脚本语言,并且提供了可视化编辑器,方便开发者进行场景编辑、动画设计、UI布局等操作。

Cocos Creator具有简单易用、高效快速的特点,可以帮助开发者快速创建跨平台的游戏。它支持多种平台的发布,包括iOS、Android、Windows、Mac等,还可以导出为Web版本,方便在浏览器上进行游戏测试和展示。

Cocos Creator还提供了丰富的组件库和资源管理系统,开发者可以通过使用预置的组件和资源,快速搭建游戏界面和场景,并且可以轻松地扩展和定制这些组件,满足不同游戏的需求。

总之,Cocos Creator是一个功能强大、易用便捷的游戏开发工具,适用于初学者和有经验的开发者,可以帮助开发者快速创建高质量的2D和3D游戏。

什么是游戏引擎?

游戏引擎指的是一套用于游戏开发的软件框架。

引擎中通常包含许多编写游戏时会用到的基础模块,如图像渲染、物理系统、碰撞检测系统、音效、引擎脚本、网络交互等常用模块。在使用游戏引擎的过程中,开发者并不需要知道实现引擎模块的底层原理,仅需要使用引擎提供的模块的API,就可以轻松地实现对应的游戏功能。

如果你对于引擎没有直观的概念,那么可以将引擎类比作我们生活中的工具箱。工具箱中存放着各种不同的工具,如手电筒、螺丝刀等。当我们需要灯光时,只需要拿出工具箱中的手电筒进行使用,而不需要关注手电筒是如何制作的。

工具箱中的这些工具,就是引擎中的各个“模块”,而工具的使用方法则是引擎模块的“API”。使用游戏引擎不仅极大地降低了开发者的入门门槛,还减少了游戏开发中的大量重复工作,让开发者不再需要每次都从零开始。

为什么使用Cocos Creator?

Cocos Creator目前在国内属于主流的开发工具之一,具有易上手、跨平台、含中文社区等特性。

易上手:Cocos Creator使用了非常容易上手的TypeScript作为开发语言,非常适合初学者或有一些Web开发经验的开发者快速入门。

跨平台:Cocos Creator目前支持发布游戏到Web、iOS、Android、Windows、Mac以及各类小游戏平台上,真正实现了“一次开发,全平台运行”。

含中文社区:Cocos Creator具有非常活跃的中文社区以及翔实的中文文档,开发者在开发过程中遇到问题时,可以轻松地搜索到中文的解决方案,这也更加符合国内开发者的开发习惯。

文档和社区

Cocos Creator的安装与启动

在开始学习Cocos Creator的使用之前,我们首先要做的事情就是搭建开发环境。

Cocos Creator从2.3.2版本开始引入了Dashboard,通过Dashboard,我们可以方便地下载和管理所需要的Cocos Creator版本。

接下来我们将学习如何下载和安装Dashboard,并通过Dashboard来获取我们需要的Cocos Creator编辑器。

小伙伴们可以通过安装Dashboard来安装Cocos Creator.

Dashboard安装就绪后,双击CocosDashboard图标即可启动Cocos Dashboard。在首次启动Dashboard时,会进入Cocos开发者登录界面。

注册、登录、修改语言。

点击界面左侧的【编辑器】选项卡进入编辑器管理界面,点击安装,可以安装编辑器:

咱们随便安装一个版本,比如:3.4.2

创建项目

切换到左侧项目选项卡,点击新建项目:

由于当前我们还没有其他的项目,所以需要点击【新建】按钮来创建一个新的项目。

点击【新建】按钮后,可以看到项目创建界面顶部的【编辑器版本】下拉列表,开发者可以通过该下拉列表自由地选择和切换编辑器版本。

在项目创建界面中,我们可以看到编辑器预设的一些项目模板,不同的项目模板会提供相应的配置以及项目资源。这里我们可以选择【Empty(2D)】,该模板表示创建一个2D空项目。

项目模板选择完成后,我们还可以根据实际需求修改底部的项目名称及项目的创建路径。这里我们将【项目名称】从默认的【NewProject】修改为【demo-001】,之后点击【创建】按钮完成项目的创建。

编辑器介绍

这个界面是英文的,咱们把它改为中文:

通过Cocos Creator编辑器主菜单选择【Cocos Creator】→【Preferences】命令,打开编辑器首选项面板。

在编辑器首选项面板中,将【Language】修改为【中文】即可。

Cocos Creator编辑器界面由多个面板、菜单和功能按钮组成。

通过使用编辑器各个板块的对应功能,开发者可以方便地进行场景编辑、资源管理、动画制作、调试预览等工作。接下来我们将初步地学习编辑器界面的布局与各个板块的作用。

在该界面顶部,可以看到主菜单工具栏调试选项栏

下方默认的5个主要面板分别是层级管理器、资源管理器、场景编辑器、控制台及属性检查器。各个板块的主要功能如下所示:

(1)主菜单:提供编辑器的功能选项及修改编辑器配置的功能。

(2)工具栏:提供修改场景编辑器的基本工具。

(3)调试选项栏:提供游戏预览运行的功能。

(4)层级管理器:管理场景中的节点,以树状结构的方式显示场景中存在的物体。

(5)资源管理器:管理项目中的资源文件,如脚本、图片、声音、动画、粒子等。

(6)场景编辑器:用于展示和编辑游戏场景。

(7)控制台:输出游戏日志及报错信息。

(8)属性检查器:显示节点或资源的相关属性。

调整编辑器布局

Cocos Creator编辑器支持自定义布局,我们可以调整各个面板的大小以及面板的位置,或者将面板进行层叠处理。

如果不小心将布局弄乱且无法手动恢复原状,则可以通过主菜单选择【Cocos Creator】→【布局】→【默认布局】命令,将当前布局恢复为默认布局:

Hello World

现在咱们已经成功地安装了Cocos Creator,也对编辑器有了初步的了解。

接下来我们将尝试在当前的项目中添加一个场景,并让这个场景运行起来,同时向屏幕输出【Hello World】。

创建场景

场景是将游戏内容(角色、UI、场景物体等)呈现给玩家的一个载体。它就像是歌剧表演的舞台,游戏中的任何内容都需要放到场景上才能被观众看到。因此,在向屏幕输出【Hello World】之前,我们必须先创建一个游戏场景。

在资源管理器中右击并在弹出的快捷菜单中选择【创建】→【场景】命令,即可创建一个新的场景,在场景创建出来之后,我们可以对其进行命名,这里将场景名称修改为【Game】。

这里需要注意的是,在场景创建成功后需要双击【Game】场景,以确保当前所处的场景是我们需要的。我们可以通过观察编辑器的左上角来查看当前所处的场景,若未选择场景,则会显示【Untitled】,否则会显示当前所处场景的路径:

向场景中添加文字

在向场景中添加【Hello World】文本之前,还需要在场景中添加一个Canvas节点。

在Cocos Creator中,文本是作为2D元素存在的,在Cocos Creator 3.x中,所有的2D元素都必须作为RenderRoot2D的子节点才能被渲染,即需要显示的2D元素只有挂载在RenderRoot2D节点上,才能被正常显示。而Canvas承自RenderRoot2D,因此我们可以把所有需要显示的2D元素都挂载在Canvas节点上,从而让引擎渲染对应的元素。

在层级管理器中右击并在弹出的快捷菜单中选择【创建】→【UI组件】→【Canvas(画布)】命令,即可在场景中创建一个Canvas节点。

在创建Canvas节点后,右击层级管理器中的【Canvas】节点,在弹出的快捷菜单中选择【创建】→【2D对象】→【Label(文本)】命令,即可在Canvas节点下创建一个文本节点:

这里需要注意的是,Label是2D组件,如果创建的是3D空项目,当添加了文本节点后,由于场景默认是3D的,所以可能并没有在场景编辑器中看到相应的文本。此时需要点击编辑器顶部工具栏中的【3D】按钮,将场景从默认的3D视图切换为2D视图,也可以使用快捷键F2来实现场景的切换,如下图:

当看到编辑模式按钮的字样显示为【2D】时,表明我们处于2D编辑模式中,此时场景编辑器会以2D视图的方式进行呈现,场景中的文本就可以被看到了:

在层级管理器中选中【Label】节点,可以在属性检查器中对Label的文本内容进行修改,此时我们尝试把【String】文本框中的内容修改为【Hello World】:

修改完成后,我们可以看到场景中的文字已经同步变成了【Hello World】,如下:

预览运行项目

Cocos Creator支持浏览器、模拟器、预览窗口3种预览方式。这里我们直接使用默认的浏览器预览方式,点击编辑器顶部的预览按钮,将会在浏览器中打开并预览运行【Hello World】项目,如下图所示:

这是咱们Hello World的预览。

告一段落

我们初步地了解了Cocos Creator,知道了什么是游戏引擎,并下载和安装了Cocos Creator编辑器,也创建和运行了自己的第一个【Hello World】项目。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/408123.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue的安康旅游网站(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

洛谷P5723 质数口袋 题解

#题外话&#xff08;第39篇题解&#xff09;&#xff08;本题为普及-难度&#xff09; #先看题目 题目链接https://www.luogu.com.cn/problem/P5723 #思路&#xff08;看代码吧&#xff09; #代码 #include <bits/stdc.h> using namespace std; bool p(int p_i){for(i…

啊丢的刷题记录手册

1.洛谷题P1923 求第k小的数 题目描述 输入 n&#xff08;1≤n<5000000 且 n 为奇数&#xff09;个数字ai​&#xff08;1≤ai​<109&#xff09;&#xff0c;输出这些数字的第 k 小的数。最小的数是第 0 小。 请尽量不要使用 nth_element 来写本题&#xff0c;因为本题…

《优化接口设计的思路》系列:第八篇—分页接口的设计和优化

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 第六篇—接口防抖(防重复提交)的一些方式 第七篇—接口限流策略 第八篇—分页接口的设计和优化 …

C语言实现简单选择排序

简单选择排序 简单选择排序的平均复杂度为 O(n2),但效率通常比相同平均复杂度的直接插入排序还要差。但由于选择排序是 内部排序&#xff0c;因此在内存严格受限的情况下还是可以用的。选择排序的原理很简单&#xff0c;如下图所示&#xff1a;持续从未处理元素中找到最小值并加…

虚拟机的四种网络模式对比

nat网络地址转换 nat网络 桥接 内网模式 仅主机

【数据结构(顺序表)】

一、什么是数据结构? 数据结构是由“数据”和“结构”两词组合而来。 什么是数据&#xff1f;常见的数值1、2、3、4.....、教务系统里保存的用户信息&#xff08;姓名、性别、年龄、学历等等&#xff09;、网页里肉眼可以看到的信息&#xff08;文字、图片、视频等等&#xff…

Google炸场!最强轻量级、开放模型Gemma发布,个人PC就能用,内部员工:强是强,但名字取得让我混乱

想参与根多多学术讨论&#xff0c;请加qq群 链接直达&#xff1a;00后编程交流qq群 如果想要聊天交友&#xff0c;可以加qq群 链接直达&#xff1a;00后聊天交友处cp 欢迎大家加入 不同于OpenAI的闭源大模型&#xff0c;科技巨头如Google和Meta正积极投入开放模型的开发&a…

Qt的QFileSystemModel与QTreeView、QTableView、QListView的组合使用

1.相关描述 QFileSystemModel与QTreeView、QTableView、QListView的组合&#xff0c;当QTreeView点击发生改变&#xff0c;QTableView和QListView也会发生变化 2.相关界面 3.相关代码 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h"…

Flutter开发进阶之Package

Flutter开发进阶之Package 通常我们在Flutter开发中需要将部分功能与整体项目隔离&#xff0c;一般有两种方案Plugin和Package&#xff0c;Application是作为主体项目&#xff0c;Module是作为原生项目接入Flutter模块。 当独立模块不需要与原生项目通讯只需要Plugin就可以&a…

990-05产品经理:为什么商业价值是 IT 成功的关键

In today’s digital era, CIOs must shift(转移) their priorities from cost cutting to driving revenue(收入), and from process engineering to exploiting data if they want to achieve a set of broader business outcomes. Furthermore, understanding how to measur…

讯度云网络云服务器商

讯度云网络云服务器商 讯度云服务商能够为客户提供安全、稳定、高性能的云计算服务确保数据的安全性和可靠性而且有良好的用户反馈与评价靠着良好的 高防国内云/十堰/海外/美国/G口/香港/日本/物理机/挂机宝/大量有货香港4-4 20元起 亚太scdn节点50 0.01起&#xff01;&#x…

计网 - 深入理解HTTPS:加密技术的背后

文章目录 Pre发展历史Http VS HttpsHTTPS 解决了 HTTP 的哪些问题HTTPS是如何解决上述三个风险的混合加密摘要算法 数字签名数字证书 Pre PKI - 数字签名与数字证书 PKI - 借助Nginx 实现Https 服务端单向认证、服务端客户端双向认证 发展历史 HTTP&#xff08;超文本传输协…

Yolo v9 “Silence”模块结构及作用!

论文链接&#xff1a;&#x1f47f; YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information 代码链接&#xff1a;&#x1f47f; https://github.com/WongKinYiu/yolov9/tree/main Silence代码 class Silence(nn.Module):def __init__(self):supe…

win10开机黑屏,只有鼠标,解决方案

问题描述 win10进不去桌面&#xff0c;可以进去锁屏&#xff0c;只有鼠标&#xff0c;也能进去任务管理器&#xff08;ctrlwindelete&#xff09;, 问题分析 进入任务管理器->文件->运行新任务 然后输入 explorer.exe 发现找不到了 原因&#xff1a;误删explorer.exe …

AI时代显卡如何选择,B100、H200、L40S、A100、H100、V100 含架构技术和性能对比

AI时代显卡如何选择&#xff0c;B100、H200、L40S、A100、H100、V100 含架构技术和性能对比。 英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择&#xff0c;含架构技术和性能对比带你解决疑惑。 近期&#xff0c;AIGC领域呈现出一片繁荣景象&a…

SpringMVC 学习(三)之 @RequestMapping 注解

目录 1 RequestMapping 注解介绍 2 RequestMapping 注解的位置 3 RequestMapping 注解的 value 属性 4 RequestMapping 注解的 method 属性 5 RequestMapping 注解的 params 属性&#xff08;了解&#xff09; 6 RequestMapping 注解的 headers 属性&#xff08;了解&…

检索增强生成(RAG) — 高级提示工程方法

Thread of Thought&#xff0c;ThoT Thread of Thought Unraveling Chaotic Contexts 大型语言模型&#xff08;LLMs&#xff09;在自然语言处理领域开启了一个变革的时代&#xff0c;在文本理解和生成任务上表现出色。然而&#xff0c;当面对混乱的上下文环境&#xff08;例…

【day02】每天三道 java后端面试题:Java、C++和Go的区别 | Redis的特点和应用场景 | 计算机网络七层模型

文章目录 1. Java、C和 Go 语言的区别&#xff0c;各自的优缺点&#xff1f;2. 什么是Redis&#xff1f;Redis 有哪些特点&#xff1f; Redis有哪些常见的应用场景&#xff1f;3. 简述计算机网络七层模型和各自的作用&#xff1f; 1. Java、C和 Go 语言的区别&#xff0c;各自的…

CUDA C++ 编程指南

目录 1. Introduction1.1. The Benefits of Using GPUs1.2. CUDA: A General-Purpose Parallel Computing1.3. A Scalable Programming Model CUDA C Programming Guide 1. Introduction 1.1. The Benefits of Using GPUs 在相似的价格和功耗范围内&#xff0c;图形处理单…