8.5.2 创建程序实例

     下面通过实例8-5讲解直线位移动画的脚本编写。

(1)如图8-20在舞台上建议一个球形MovieClip对象,命名为LineRunner。帧率设置为20

8.5.2 创建程序实例_第1张图片

计划编写脚本令其在A(80120)B(380310)C(45070)三个点之间逆时针作直线运动。显然,其运动路线由三段直线位移动画构成。

(2)在代码编辑器中,写入代码创建一个定时器linetimer。其延迟周期为50,总计数为150

var linetimer:Timer = new Timer(50 150);

linetimer.addEventListener("timer" linetimerHandler);

linetimer.addEventListener("timerComplete" animComplete);

linetimer.start();

 

function linetimerHandler(event:TimerEvent):void {

         //动画代码编写入口

}

(3)为了方便操作,需要杂代码中保存ABC三个点的坐标。虽然可以使用其他方法实现,但使用AS3提供的Point类可以把数据集中管理。

var stoppoint:Array=new Array(3);

//使用对象属性为point赋值

stoppoint[0]=new Point;

stoppoint[0].x=80;

stoppoint[0].y=120;

//使用构造函数赋初始值

stoppoint[1]=new Point(380310);

stoppoint[2]=new Point(45070);

以上代码,首先是声明了一个Array数组stoppoint,然后创建三个Point对象,为stoppoint数组内的子项使用。注意:这里演示了两种办法创建Point对象。

现在,可以用代码语言来表述将要实现的动画了:显示对象LineRunner将在计时器1-50次触发中从stoppoint[0]直线移动到stoppoint[1],然后在计时器51-100次触发中从stoppoint[1]直线移动到stoppoint[2],在计时器最后的50次触发中,从stoppoint[2]直线移动到stoppoint[0],完成这次动画。

你可能感兴趣的:(8.5.2 创建程序实例)