初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)

补充
补充下如何在cocos creator中使用VScode,打开左上角的文件选择设置,选择数据编辑,点击浏览选择VScode软件(直接选桌面的快捷方式也可以),然后点击保存,这样就可以编辑脚本的时候直接双击脚本就可以了
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
添加飞机与子弹
在画布上添加精灵,将飞机图片拖入精灵中绑定,打开脚本将飞机移动写在触屏方法(此处可以多去看看官方文档)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
getPosition()得到飞机位置,getDelta()获取触屏后移动的位置,setPosition()设置飞机移动后位置=飞机原位置+触屏移动的位置
再在画布上添加一个单色,将子弹的图片拖入其中。为子弹创建一个脚本(此脚本暂称脚本2),将脚本2与创建好的单色绑定。由于子弹是无限生成的,所以将子弹作为一个预制资源,创建一个新的文件Prefab,将单色拖入其中,原在层级管理器的单色可以删除。
子弹的移动方法
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
子弹生成在飞机顶部方法
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
无限创建子弹,这里学到了一个对象池的知识(官方文档有详细使用方法,地址:官方对象池的使用)。对象池的概念:简单的说就是一种为了避免重复创建,删除对象的解决方案,它可以通过复用游戏对象,一定程度上提高游戏性能,避免内存消耗,特别针对任何频繁创建删除对象的情景。这符合了性能优化中对脚本优化的理念。即创建子弹就是从子弹的对象池中取出来放到画布上,且子弹飞出屏幕或打到敌机时可收回到对象池中。
子弹的创建方法,回收方法,与创建速度:
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
这需要设置下界面层级关系,避免点了暂停后子弹还在暂停界面上
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
创建敌机
在画布上创建一个单色,将敌机图片拖入其中,创建一个敌机的脚本(脚本3)。敌机也是需要无限创建的,所以将其作为预制资源,将单色拖入预制资源文件,同样也是使用对象池来创建敌机
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
这是声明对象池
创建方法与回收方法(写在脚本1里)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
敌机与子弹碰撞
打开敌机的预制资源,添加碰撞组件来编辑碰撞范围,第一个是方形范围,第二个是圆形范围,第三个是自己选择范围
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
然后勾选Editing开始自主编辑范围,节点单击线可添加
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
以同样的方法编辑子弹的碰撞范围,然后点击上方的项目设置,在分组管理中添加分组,勾选下方的分组配对,再保存关闭
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
在子弹与敌机的属性检查器中选择分组,tag处写对应的信息
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
碰撞方法(写在脚本2中)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
添加游戏音乐与音效
创建对应存储文件,将音频放入其中,在脚本1中声明(这个为音频资源类)
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
播放方法(详细方法见:音频播放)true表示循环播放,1为音量大小
初学使用cocos creator + VScode制作一款飞机大战小游戏的学习心得与笔记(三)
本次笔记就记到这了,由于第一次写,很多东西可能也遗漏了没写…
所学心得便是:想自己做好一款游戏,就多去学别人的教程(先照着葫芦画瓢,慢慢的就熟练了起来),多去熟悉使用不同的游戏引擎,然后就是最重要的多敲多练,唯手熟尔!