今天花了一天的时间写了一个简单的打地鼠游戏。在开发的过程中用到了很多之前开发都没有用到的知识点:具体总结如下:
1:首先是关于倒计时的图片更改。需要达到的效果就是当玩家点击开始游戏的时候就会倒计时三秒 ,这个效果的完成就是有了对精灵的加载资源进行重写。先是写一个js文件他是继承精灵的一个对象。这这个js文件中什么都不要写。只是给倒计时的时候调用就可以。写一个计时器每一帧都会调用一个倒计时的方法。在方法中通过更改一个变量的值。也就是最开始的秒数。通过这个时间传入加载资源。达到一个没一秒都更改图片的效果;具体代码如下:
//倒计时图片
readingAmin:function(){
var sp = new Reading();
sp.setPosition(cc.winSize.width>>1,cc.winSize.height>>1);
if(this.countDownTime>0){
sp.initWithFile("res/read_"+this.countDownTime+".png");
}
this.addChild(sp,5);
var scale = cc.scaleTo(0.5,1);
sp.runAction(cc.sequence(scale,cc.callFunc(function(){
sp.removeFromParent(true);
})))
this.countDownTime--;
},
2:还有就是最高分的使用。使用
cc.sys.localStorage.setItem("bestNumber", Math.max(this.score, cc.sys.localStorage.getItem("bestNumber")));
第一个参数就是你设置的参数,就相当于自定义事件中的事件名 ,也就是说是key。第二个参数就是用本地存储的值与当前的分数进行比较,并且给大的存到本地内存中。在使用中先设置好一个文本框然后直接通过key获取里面的数据
this.maxScore.setString("MaxScore:"+cc.sys.localStorage.getItem("bestNumber"));
3:进度条的使用:
使用ccui.LoadingBar()
//设置进度条
var loadingSp = new cc.Sprite(res.loadingbar_1);
loadingSp.setPosition((cc.winSize.width>>1),(cc.winSize.height>>1)+250);
this.addChild(loadingSp,50);
this._lading = new ccui.LoadingBar();
this._lading.setName("loadingBar");
this._lading.loadTexture(res.loadingbar_2);
this._lading.setPercent(0);//开始的进度 (Percent)是百分比的意思
this._lading.setPosition((cc.winSize.width>>1)+20,(cc.winSize.height>>1)+235)
this.addChild(this._lading,50);
在使用的时候使用一个全局的变量接受计算这个进度条的百分比。最后每一帧都设置进度条的百分比就可以达到一个进度条的效果
还有一些动画和一些简单的知识点就不进行总结了。