本节课的内容是点击英雄然后在场景中添加一个label,使其分数每次加10。通过这次的作
.业又将之前的label相关的知识又进行了回顾。和单点触摸知识的回顾,分数累加的代码应该在ontouchbegan这个函数中进行,因为每点击一下就要加10。后来查阅相关API运用到了label.setString这个函数。刚开始的label是个静止的”0”。那么想让它进行累加,就要把它单拿出来,然后将分数赋给它就完成了分数的累加。核心代码如下:
var fenshu = 0;
var HelloWorldLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this._super();
cc.log("构造");
var npc=new cc.Sprite(res.npc01_png);
npc.setposition(200,200);
npc.setTag(110);
this.addChild(npc);
var label = new cc.LabelTTF("0","黑体","50");
label.setposition(200,300);
label.setTag(100);
this.addChild(label);
return true;
},
onEnter:function()
{
this._super();
cc.log("初始化完成");
//添加触屏事件
cc.eventManager.addListener({
event:cc.EventListener.touch_ONE_BY_ONE,
swallowtouches:true,//吞噬事件 不再传递
ontouchBegan:this.touchbegan,
ontouchmoved:this.touchmoved,
ontouchended:this.touchended
},this);
},
onExit:function()
{
this._super();
cc.log("即将消失");
},
touchbegan:function(touch,event){
cc.log("按下");
var Nownpc=event.getCurrentTarget().getChildByTag(110);
fenshu = fenshu + 10;
var act=cc.sequence(
cc.scaleBy(0.1,0.9),
cc.scaleBy(0.1,1.1),
cc.scaleBy(0.05,1));
var fenshuxiangjia=event.getCurrentTarget().getChildByTag(100);
fenshuxiangjia.setString(fenshu.toString());
Nownpc.runAction(act);
return true;
},
touchmoved:function(touch,event)
{
var Nownpc=event.getCurrentTarget().getChildByTag(110);
Nownpc.setposition(touch.getLocation().x,touch.getLocation().y);
cc.log("移动");
},
touchend:function(touch,event)
{
cc.log("抬起");
}
});
var HelloWorldScene = cc.Scene.extend({
onEnter:function () {
this._super();
var layer = new HelloWorldLayer();
this.addChild(layer);
}
});
最后附上作业链接:
http://www.cocoscvp.com/usercode/2016_04_17/9d3403b9a5fe1c839015006d9e771260d4b88fb2/
总结以上是内存溢出为你收集整理的CVP认证学习笔记--李天宇014点击英雄全部内容,希望文章能够帮你解决CVP认证学习笔记--李天宇014点击英雄所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)