物体运动中最基本的就是直线运动
物体以固定速度进行的直线运动,称为匀速直线运动。
- 沿水平方向运动
package
{
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip
{
private var v:int;
public function Main()
{
//物体初始位置
plan.x = 0;
//物体移动速度
v = 3;
this.addEventListener(Event.ENTER_FRAME,onFrame);
}
private function onFrame(e:Event)
{
//移动物体
plan.x += v;
}
}
}
源程序中,即使物体到达画面边缘也不会停止,而是直接移出画面。让我们来将其修改为:当物体碰到画面边缘,会沿反方向弹回:
- 修改为物体碰到画面边缘时折回
package
{
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip
{
private var v:int;
private var STAGE_WIDTH:int;
private var PLAN_WIDTH:int;
public function Main()
{
//物体初始位置
plan.x = 0;
//物体速度
v = 3;
STAGE_WIDTH = stage.stageWidth;
PLAN_WIDTH = plan.width;
this.addEventListener(Event.ENTER_FRAME,onFrame);
}
private function onFrame(e:Event)
{
//移动物体
plan.x += v;
//物体碰到右端
if (plan.x > STAGE_WIDTH - PLAN_WIDTH/2)
{
//弹回
v = -v;
//重设坐标为画面边缘
plan.x = STAGE_WIDTH - PLAN_WIDTH/2;
}
else if (plan.x < PLAN_WIDTH/2)
{
v = -v;
plan.x = PLAN_WIDTH/2;
}
}
}
}