在空中霸王这个项目中,最主要的几个知识点就是控制飞机可以在屏幕上点击移动。然后运用前面说到的cocos-js里面的一下移动的行为,来控制飞机子弹的移动。和敌方飞机的出现。其中里面有很多需要主要的细节。
如下:
1:创建拖拽侦听,使得可以控制自己的飞机飞行。不允许自己的飞机飞出屏幕的问题;可以使用cc.clampf()这个api;cc.clampf()的主要用法如下
var a = 10
a = cc.clampf(a, 20,50)
cc.log(a)
var a = cc.p(0,30)
a = cc.pClamp(a, cc.p(10,10),cc.p(20,20))
cc.log(a.x, a.y)
3:创建schedule ,每隔一秒钟在自己飞机的位置创建一个向上直线飞行的子弹(当子弹超出屏幕的时候给子弹进行清楚):
具体实现的方法如下:
this.runAction(cc.sequence(cc.moveBy(1, cc.p(0, cc.winSize.height + 20)),
cc.callFunc(this.removeBullet,this)))
removeBullet:function(target){
target.removeFromParent(true)
},
意思就是先创建一个子弹移动的行为。使得子弹向y轴向上运行一个屏幕的高度。最后再在行为的后面写一个方法。就是移除父类的方法。再在运行行为的地方添加一个顺序执行的api:cc.sequence(),使的程序先执行移动效果。当移动到目的位置调用移除父类的方法。给子弹进行移除。
3:敌方飞机与我方子弹的碰撞事件&#x