//启动帧计时器
this.scheduleUpdate();
//重置
reset:function()
{
if(this._direction === 0)
{
this._direction = 1;
this.speed = 28;
}
},
update:function(dt)
{
if(this._direction===1)
{
//下降得到一个重力的加速
this.speed+=this.gravity-this.drag;
if(this.ball.y<=cc.winSize.height/6)
{
//初始一下位置
this.ball.y=cc.winSize.height/6;
//
this.speed-=1;
//退出判断运行下次判断
this._direction=-1;
}
this.ball.y-=this.speed;
}
else if(this._direction===-1)
{
this.ball.y+=this.speed;
this.speed-=(this.gravity+this.drag);
if(this.speed<=0)
{
if(this.ball.y<=cc.winSize.height/6)
{
this.ball.y=cc.winSize.height/6;
this._direction=0;
}
else
{
this._direction=1;
}
}
}
}
其中的逻辑是有一个重力 gravity:1.2, 阻力drag:0.1,
配合按钮的重置,开始的时候会现在this._direction===1的时候符合下面等一-1的条件,然后再等speed===0的时候在其中判断是否是在原点处,给出两个选项this.direction===1的条件和满足按钮的条件,因为上面有判断和上升所以在小球运算结束之前按钮是无效的
每次下落的时候都会有个新的speed的值,在this.speed的时候值是会不断减小的,从而高度也会减小知道等于0
this.speed+=this.gravity-this.drag;
this.ball.y-=this.speed;
当写在”if”里面的时候下降的speed在经过程序后会变成负数的,出现一直匀速上升的情况
==数值比较
====类型数值都比较
//添加渐进色背景层
//var _gradient = new cc.LayerGradient(cc.color(0,255,255,167),cc.color(0,13,255,160),cc.p(1,1));
// this.addChild(_gradient);
//顺序执行
runAction
//缩放
cc.scaleTo(0.03,0.051,0.049)