抛物线运动公式总结
竖直上抛运动:
初始化
t = 0;
a = 1;
v0 = 10;
帧事件
_y = (_y + ((a * t) - v0));
t++;
平抛运动:
//初始化x0=_x; y0=_y;//初使位置v=0; //球的速度rad=0;//球的角度,初使值为0t=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++;}}}