如何用CocosCreator实现射击小游戏

阐明下建造步调: 1. 筹备好资源,搭建场景

资源的话可以本身到网上找,也可以直接用我的也行;建设好相应文件夹,把资源放到res文件夹下;

搭建场景:
第一步:建设一个单色精灵(Script) bg 配景, 配置好颜色,加一个Widget组件,使其布满屏幕;

如何用CocosCreator实现射击小游戏

第二步: 在bg节点下建设top和button空节点作为顶与底部,然后在两个空节点插手带刺的节点(直接将图片拖到top层级打点器就可以),此刻我们需要给top与button节点添加一个Layout组件,属性配置如图,这样可以看到屏幕上下都有刺了。

如何用CocosCreator实现射击小游戏

第三步: 将玩家小人、子弹、敌机同样的要领插手加入景中,再建设一个Label节点用来显示分数,调理一下位置;

如何用CocosCreator实现射击小游戏

2. 代码节制游戏

第一步: 建设一个game剧本,挂载到dg节点上;

第二步: 编辑代码,在 properties添加属性,用来关联玩家、子弹、仇人节点,再编辑器关联;

如何用CocosCreator实现射击小游戏

第三步: 代码逻辑节制,包罗初始化玩家、子弹、仇人;注册监听事件;写行动函数;计分判定等;

全部代码:

cc.Class({ extends: cc.Component, properties: { playerNode: cc.Node, enemyNode: cc.Node, fireNode: cc.Node, scoreNode: cc.Label, }, onLoad () { this.playLoad(); this.fireLoad(); this.enemyLoad(); this.node.on("touchstart",this.fire,this); }, update (dt) { if(Math.abs(this.fireNode.y-this.enemyNode.y)<(this.fireNode.height/3+this.enemyNode.height/3) &&Math.abs(this.fireNode.x-this.enemyNode.x)<(this.fireNode.width/3+this.enemyNode.width/3)){ console.log("击败敌机"); this.scoreNode.string= ++this.score;//击中得分 this.fireNode.stopAction(this.fireAction); this.enemyNode.stopAction(this.enemyAction); this.enemyNode.active=false; this.fireNode.active=false; this.fireLoad();//初始化子弹 this.enemyLoad();// 初始化敌机 } }, // 封锁事件监听 onDestroy(){ this.node.off("touchstart",this.fire,this); }, // 初始玩家 playLoad(){ this.score=0; this.playerNode.y=-cc.winSize.height/4; }, //初始化子弹 fireLoad(){ this.fireNode.active=true; this.isFire=false; this.fireNode.x=this.playerNode.x; this.fireNode.y=this.playerNode.y+this.playerNode.height; }, // 初始化敌机 enemyLoad(){ this.enemyNode.active=true; this.enemyNode.x=Math.random()* cc.winSize.width; this.enemyNode.y=cc.winSize.height/3; let x=cc.winSize.width/2-this.enemyNode.width/2; let y=Math.random()* cc.winSize.height/4; let seq=cc.repeatForever(cc.sequence(cc.moveTo(1.5,cc.v2(-x,y)),cc.moveTo(1.5,cc.v2(x,y)))); this.enemyAction=this.enemyNode.runAction(seq); }, // 灭亡 从头加载游戏 dear(){ console.log("灭亡"); cc.director.loadScene("game_scenes"); }, // 发射子弹 fire(){ if(this.isFire) return; this.isFire=true; console.log("开始发射"); var fireaction=cc.sequence( cc.moveTo(1,cc.v2(this.playerNode.x,cc.winSize.height/2)), cc.callFunc(()=>{ this.dear(); })); this.fireAction=this.fireNode.runAction(fireaction); console.log("竣事发射"); } });

最终结果

如何用CocosCreator实现射击小游戏

以上就是如何用CocosCreator实现射击小游戏的具体内容,更多关于CocosCreator实现射击小游戏的资料请存眷剧本之家其它相关文章!

您大概感乐趣的文章:

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

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