无聊吗?写个【飞机大战】来玩吧(上篇) (2)

无聊吗?写个【飞机大战】来玩吧(上篇)

(炸弹)

无聊吗?写个【飞机大战】来玩吧(上篇)

(超级子弹,蓝色弹夹)

D、分数、炸弹夹

 

3、GameOver场景

A、主角碰撞敌机后游戏结束,展示当前获得分数

B、主界面上方展示历史最高分数

C、玩家可选择按钮,重新挑战、历史得分、退出游戏

 

Cocos creator工具预览

目录结构:

无聊吗?写个【飞机大战】来玩吧(上篇)

Scene:场景,

Script:脚本,所有脚本都在这里,

Texture:图片资源以及图集资源,

Animation:动画元素,

Prefab:预载体资源,用于重复利用节点

Sound:音乐资源

 

层级管理器

无聊吗?写个【飞机大战】来玩吧(上篇)

Canvas:画布,开发者用于在画布中创建精灵,节点等内容。

 

MainCamera:摄像机,玩家观察游戏世界的窗口,一个场景至少有一个摄像机,用于渲染场景,另外可新增空节点,UI节点,渲染节点;

 

04方案实现 

使用cocos creator开发创建场景scene,分别为:start(开始页)、main(游戏主页)、historyScore(历史分数页)、end(游戏结束页)

1、公共部分

设计所有场景自适应宽高尺寸,size为w:640,h:1136,选中层级里的canvas元素

无聊吗?写个【飞机大战】来玩吧(上篇)

 canvas层级下创建sprite,并在资源管理器Texture拖动background到spriteFrame

无聊吗?写个【飞机大战】来玩吧(上篇)

2、开始页

标题,新增sprite,拖入“shoot_copyright“

无聊吗?写个【飞机大战】来玩吧(上篇)

无聊吗?写个【飞机大战】来玩吧(上篇)

小飞机动画,新增animation节点,将资源管理下animation文件夹下的game_loading拖入至default Clip,clips是可以通过脚本访问的动画clip列表,勾选playOnLoad即游戏运行后自动播放动画

无聊吗?写个【飞机大战】来玩吧(上篇)

开始按钮,新增button节点,自带label文本节点,可先设置按钮背景图,再改label为“开始游戏”

无聊吗?写个【飞机大战】来玩吧(上篇)

点击开始游戏触发场景切换,在资源管理Script文件夹下新增start.js,主要申明动画节点对象,properties是脚本对象里的自定义属性,可用于拖入节点,编辑等操作;

将start.js拖入至层级canvas下,并将game_loading动画节点拖入至GameLoading中;

button按钮需设置Click Events为1,添加层级中的start节点,设置函数

无聊吗?写个【飞机大战】来玩吧(上篇)

代码说明:

this.game_loading.getComponent(cc.Animation);//是获取当前属性game_loading动画节点

gameloading&&gameloading.play();//当该节点对象存在时,执行动画播放事件play()

cc.director.preloadScene('main');//使用cc.director导演对象调用preloadScene预加载main场景

 

3、游戏主页(事件拆分)

 

暂停按钮,分数,炸弹夹,新增button、label、sprite(子节点label);

设置暂停按钮普通状态和按下等背景图(达到按下状态变化) 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwxxf.html