美文网首页
前端动画之自由落体落体运动

前端动画之自由落体落体运动

作者: 梦醒一场空 | 来源:发表于2017-05-08 16:22 被阅读0次

自由落体2

body{

position:relative;

}

.ball{

position:absolute;

top:0;

width:50px;

height:50px;

background-color:#00b3ee;

border-radius:50px;

}

varball=document.getElementsByClassName('ball')[0];

varfreeDrop=function(obj){

varinit_pos=obj.direction=='Y'?obj.ele.offsetTop:obj.ele.offseetLeft;

varinitTar=init_pos+obj.target;//具体设定位移

varinit_speed=obj.init_speed;

varele=obj.ele;

varacc=obj.acceleration;//加速度

vartime=0;//初试时间

vardistance;//位移

varcur_speed=init_speed;//当前速度

varrebound_speed;//反弹速度

varrebound_pos=ele.offsetTop;//每次反弹最高处的位置

varisclear=false;

varis_first=true;

vartime_add=0.5;//自增值过大会有残影

functionsetPos(pos){

if(obj.direction=='Y'){

ele.style.top=pos+"px";

}else{

ele.style.left=pos+'px';

}

};

vartimer=setInterval(function() {

if(cur_speed>=0){

//元素的初始位置加上运动位移

distance=rebound_pos+cur_speed*time+0.5*acc*Math.pow(time,2);

setPos(distance);

time+=time_add;

if(distance>=initTar) {

setPos(initTar);

//是否第一次下落

init_speed=is_first?init_speed:0;

cur_speed=-(acc*time+init_speed);

is_first=false;

console.log("碰壁前的速度"+cur_speed);

time=0;

};

}else{

//碰壁时的动能损失

if(time==0){

//                    cur_speed*=obj.reduction;

//                    cur_speed=-Math.floor(-cur_speed);

cur_speed+=obj.reduction;//这时候的速度是负值

console.log("碰壁后的速度"+cur_speed);

};

//反弹的最高点位置是临界位置减去反弹最大位移

distance=initTar-(-cur_speed*time-0.5*acc*Math.pow(time,2));

//到达最大位置时取消定时器

setPos(distance);

time+=time_add;

//如果设置加速度过大,那么由于time每次加1 就会造成反弹速度会大于或者等于

//下降时的最大速度,与需求效果相反,这时候的处理是

// 1。if(acc*(time+acc)>=Math.floor(-cur_speed)){

//2.减小time自增值

if(acc*time>=Math.floor(-cur_speed)){

if(Math.abs(distance-initTar)<=1){

clearInterval(timer);

}

time=0;

cur_speed=0;

rebound_pos=ele.offsetTop;

}

}

},obj.quality_effect);

};

freeDrop({

ele:document.getElementsByClassName("ball")[0],//设置碰撞物体

target:300,//从开始位置到结束位置的距离

init_speed:10,

direction:"Y",

quality_effect:10,//通过这个参数设置体验质量变化效果

acceleration:2,//加速度

duration:3000,//3000ms

reduction:2,//碰撞损失

//或者设置碰撞次数

bump_times:3,

});

相关文章

  • 前端动画之自由落体落体运动

    自由落体2 body{ position:relative; } .ball{ position:absolute...

  • 自定义View+Animation仿真实现小球自由落体+弹跳效果

    昨天在郭神的公众号推送里看到了一篇关于小球自由落体动画加载控件的文章推送,就琢磨着班门弄斧做一个小球自由落体动画,...

  • 自由落体运动

    /7.27 10:44 李阿怪啊,其实时间并不真情 浮浮草草你的人生 并不能定一个真情 三十岁,一个时间堵住喉咙...

  • 实现炮弹抛物线效果(转)

    比如迫击炮发射的子弹是抛物线运行的,并且在垂直方向上子弹做自由落体运动,如果垂直方向上不做自由落体(仅仅是一个匀速...

  • 贺州市中学1809班物理第八小组:自由落体的探究

    1.自由落体运动 定义 2.自由落体加速度 (1)定义 在同一地点,一切物体自由下落的加速度都相同.这个加速度叫自...

  • 自由落体

    那些田野里的禾苗等待雨水到来整日等待太阳和起风的日子鸽子从对面阁楼的窗户突然整群起飞 玻璃瓶子从空中掉下跌成了大小...

  • 自由落体

    (文/叔丁) 砸向牛顿头顶的苹果 修炼成了人形 花园从记忆里删除 意念在时空中放浪 足下的新鲜触感,瞬间膨胀 攥着...

  • 自由落体

    自由落体 一 刘国文站在阳台上望着相隔不到两米的隔壁阳台,阴云密布的深夜吞噬了狭窄的街道和低矮的楼房,微弱的路灯光...

  • 自由落体

    “义务和爱情,是我的两只翅膀。” ——聂鲁达 蔷薇的前面,我们的汤匙和咖啡暗示 微醉的周末,过滤的阳光与城市握手。...

  • 自由落体

    烟灰洒了一地 天色凄凄 风雨欲来 夏至的第二天想下雨 好想给你送一把伞 却怕你说你的城市不下雨 诗人说 勇敢爱 痛...

网友评论

      本文标题:前端动画之自由落体落体运动

      本文链接:https://www.haomeiwen.com/subject/qtgjtxtx.html