设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

FLASH中的物理世界(3)

来源:136z.Com 作者:佚名 时间:2005-04-25 23:27:49

五:抛物运动

抛物运动是物体受外力开始运动后,没有再受到外力的作用,其水平运动和垂直运动是彼此独立的。不考虑空气阻力的影响,水平方向的运动是匀速直线运动,垂直方向的运动是自由落体运动,(如图)


此主题相关图片如下:
按此在新窗口浏览图片

下面我们试着用程序来模拟平抛运动

效果:


点击浏览该Flash文件

步骤:

1新建文件800*400像素其他的默认;

2"ctrl"+F8,创建一个影片剪辑,名称“MC”

3回到主场景,"ctrl"+L打开库面版,把刚创建的影片剪辑拖入到舞台,

4选中这个MC,打开对齐面版,相对于舞台---左对齐----底对齐,绑定代码:

onClipEvent(load){//MC被加载时,只运行一次
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;
  }
}
}

//补充:由于抛物运动把时间计算在内的,所以不能单*enterFrame时事件改变小球的位置

加入变量“t”,每次触发enterFrame事件时,代表一个单位的时间变化,我这里用的是12.0fps


点击浏览该文件





补充:抛运动中的竖直上抛运动

物体以一定初速度沿竖直方向,向上抛出后,只受重力作用下的运动。

竖直上抛运动可分为两个阶段来,一个是上升过程,这时它的初速度和
重力加速度g方向相反,是匀减速直线运动。上升到最高位置的时候,末速度为零,
因此这个时候,物体开始作自由落体运动

//这里就只补充程序几个思路吧,就不用物理公式来做了,原理是一样的

步骤:

1新建文件550*400像素其他的默认;

2"ctrl"+F8,创建一个影片剪辑,名称“MC”

3回到主场景,"ctrl"+L打开库面版,把刚创建的影片剪辑拖入到舞台,

4选中这个MC,绑定代码:

onClipEvent (load) {
    t = 0;
    a = 1;
    v0 = 10;
}
onClipEvent (enterFrame) {
    _y  = (_y + ((a * t) - v0));//不难看出,随着(a*t)的增加,_y的值也不断增加
    t++;
}


点击浏览该Flash文件


点击浏览该文件





斜抛运动:
onClipEvent (load) {
    t = 0;
    a = 1;
    v0 = 10;
}
onClipEvent (enterFrame) {
    _x  = (_x + v0);

[1] [2]  下一页

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: