当我刚开始学习Cocos Creator时,我遇到了互联网上缺乏帮助的令人震惊的帮助。 这是我第一次涉足游戏开发,而我来自编程背景,多年来,我一直无休止地提供中级教程,Stack Overflow问题和(更重要的是)Stack Overflow答案。 我吓坏了。 有史以来第一次,我不得不思考。 查阅文档。 摆弄。 不是我使用了Google的第二页,而是Google 没有第二页。 噩梦成真。
好吧,差不多。 如果不是因为一个教程-一个宏伟的教程(也是我所能找到的唯一的基于文本的教程)-而使我开始了Cocos Creator中的游戏开发,那我可能会遭受这种命运。 它被称为大炮,光荣。
不过,这并不完美。 当我找到它时,它已经过时了,以至于我最终将它更多地用作练习列表而不是教程。 这也很难遵循。 在许多领域,它缺乏详细信息,没有提供外部参考。 但是,尽管如此,它在我身边。 因此,我希望向您介绍用Cocos Creator 1.9和Typescript 2.8编写的The Cannon 2:Electric Boogaloo ,尽管这是一种恭维,而不是一种a懒的模仿(尽管这都是对的)。
Cocos Creator是一个IDE和跨平台游戏开发的框架。 在开始使用本教程之前,建议您先阅读官方文档中的初学者指南。 它向您介绍Cocos Creator,并包括一个不错的小教程,它应该使您熟悉IDE。 如果您不熟悉Javascript,那么他们的入门文章值得一看。
本教程将分为多篇中型文章,并按以下方式组织:
第1部分:建造加农炮并建立物理引擎
第2部分:让流星和子弹出现并碰撞
第3部分:润饰一切:添加背景,声音效果,视觉效果等。
第4部分:高级Cocos Creator:内存管理,优化之类的事情
完整的项目可以在Github上找到。 如果要使用我使用的精灵(这只是Adobe XD的形状,因为这是我制作时打开的形状),则可以在assets / textures文件夹中找到它们。 另外,如果您想制作出看起来确实不错的东西,请转至http://opengameart.org/。
请记住,这是关于学习如何在Cocos Creator中完成事情的; 它不专注于游戏开发方法或类似方法。 考虑到这一点,让我们开始吧。
如果您已经阅读过Cocos文档中的初学者指南,则应该熟悉IDE以及如何开始游戏,因此,我将直接着手建造加农炮。
通过右键单击画布并选择“创建>创建空节点”,将其命名为“大炮”,然后将大炮筒和大炮主体的图像作为其子级拖到节点树中,以创建一个空节点。 现在,您的节点树应如下所示:
让我们将它们放入脚本中,以便我们开始使用它们。 创建一个名为Cannon.ts的文件,并为其提供属性以引用大炮的炮管和坦克:
现在,让我们在那里运动吧!
大炮的移动涉及两件事:捕获(“钩住”)用户输入并相应地更新大炮。
挂钩用户输入
这是用于挂钩用户输入的代码:
现在,让我们放下地板并增加重力,向我们的大炮添加一些简单的物理方法。
添加楼层
要添加地板,只需抓住一个精灵(我正在使用在Github上可以找到的另一个基本矩形),然后将其移动到大炮下方的场景编辑器中即可。
增加重力
Cocos Creator中的物理引擎应用于具有RigidBody组件的节点。 让我们继续,通过在属性窗格中选择“添加组件>物理组件> RigidBody”,将其添加到我们的大炮中。 然后对地板执行相同的操作,期望地板确保进入属性窗格并为其指定“静态”类型。 这样可以确保它不会由于重力或其他物体碰撞而移动。
物理也必须在游戏中进行。 创建一个脚本Game.ts ,然后在您的节点树中选择“ Canvas”元素并添加Game.ts 脚本(您现在应该可以自己执行此操作)。
添加碰撞
您可能已经注意到,虽然重力在起作用,但物体似乎并没有发生碰撞。 为了实现这一目标,我们需要寻求对撞机的帮助。
在大炮的属性窗格中,选择“添加组件>添加物理组件>碰撞器>盒子”(注意:请勿选择“添加碰撞体组件”而不是“添加物理组件”)。 它应该在场景编辑器中显示为绿色框。 要对其进行编辑,只需选中属性窗格中的“编辑”框,然后根据自己的喜好调整其大小。
现在在地板上做同样的事情。 您的大炮不应再掉入虚空!
这将在第1部分中完成! 我们介绍了生成节点,挂钩用户输入,更新节点,添加物理场以及添加碰撞的内容。 在第2部分中,我们将让我们的大炮射出一些岩石!
- 第2部分
- 第三部分