抛物线运动公式总结

竖直上抛运动:
初始化
t = 0;
a = 1;
v0 = 10;

帧事件
_y = (_y + ((a * t) - v0));
t++;

平抛运动:
//初始化
x0=_x;
y0=_y;//初使位置
v=0; //球的速度
rad=0;//球的角度,初使值为0
t=0; //运动时间
dragtime=0; //小球开始拖动的时间;
isdrag=0; //判断球是否被拖动的变量;
isout=0;//判断球是否抛出去了
g=-0.098;//地心的引力常量

onClipEvent(mouseDown){//当鼠标按下
if(hitTest(_root._xmouse,_root._ymouse,true)){//判断鼠标是否和小球接触
isdrag=1;//如果接触的话,就返回isdrag的值为1,目的只是用来做记号,告诉后面的程序执行相关的事件;
isout=0;
v=0;
rad=0;
this.startDrag();//开始拖动
dragtime=getTimer();//获得拖动的时间
}
}

onClipEvent(mouseUp){//松开鼠标
if(isdrag==1){
isdrag=0;
isout=1;
t=1;
rad=Math.atan2(_y-y0,_x-x0);//弧度为单位计算并返回 y/x 的反正切
v=Math.sqrt((_x-x0)*(_x-x0)+(_y-y0)*(_y-y0))/(getTimer()-dragtime);
//勾股定理,再用公式:v=s/t求出速度;
this.stopDrag();//停止拖动
}
}

onClipEvent(enterFrame){//进入贞,MC的Frame不断运行
if(isout==1){
_x+=v*Math.cos(rad)*t;
_y+=v*Math.sin(rad)*t-(g*t*t)/2;//见图解(平抛运动的公式)
t++;//t=t+1;
if(_x>800 or _y>400 ){//如果超出舞台的范围,就重设置MC的位置
isout=0;
_x=x0;
_y=y0;
}



斜抛运动:

onClipEvent (load) {
t = 0;
a = 1;
v0 = 10;
}
onClipEvent (enterFrame) {
_x = (_x + v0);
_y = (_y + ((a * t) - v0));
t++;
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值