| 正弦运动动画特效制作
本节运用Lingo语言控制一个小精灵,使它按照正弦运动。本实例的要点是确定精灵的位置(使用循环语句),使精灵的X轴位置逐渐增大,Y轴位置按照一定的表达式对应X轴位置,更新设置舞台后,就能观看到按正弦运动的精灵效果。
正弦运动动画制作操作步骤如下:
(1) 进入Director 8.5。执行Modify→Movie→Properties命令,在舞台属性检查器对话框中将电影舞台的大小设置为640×480,然后将电影背景颜色设置为白色,如图7-1所示。

图7-1 设置舞台属性
(2) 执行File→Import命令,调入本书光盘中的046(笑脸)文件,然后将Internal Cast窗口中的演员拖动到舞台中并调整大小,如图7-2所示。

图7-2 舞台中添加精灵
(3) 执行Window→Paint命令,打开Paint窗口,然后使用直线(Line)工具,在窗口中画一条水平线段,如图7-3所示。

图7-3 画一条水平线
(4) 在Paint窗口中单击“+”按钮,新建一个Paint窗口,然后使用直线(Line)工具,在窗口中画一条垂直线段,如图7-4所示。

图7-4 画一条垂直线
(5) 分别将Internal Cast窗口中的水平线和垂直线拖动到舞台上,然后执行Window→Score命令,打开Score窗口将3个精灵帧数调整为第1帧,如图7-5所示。

图7-5 设置精灵帧数
(6) 在舞台中单击笑脸精灵,打开Property Inspector对话框的Sprite选项卡,设置精灵的位置X=27,Y=27,然后单击Trails(跟踪)按钮,并在Ink下拉列表框中选择Transparent选项,如图7-6所示。

图7-6 设置精灵属性
(7) 使用同样的方法,在舞台中选择水平线段,在Property Inspector对话框,设置水平线段的位置X=41,Y=28,然后单击Trails按钮,并在Ink下拉列表框中选择Transparent选项。
(8) 在舞台中选择垂直线段,在Property Inspector对话框,设置垂直线段的位置X=24,Y=41,然后单击Trails按钮,并在Ink下拉列表框中选择Transparent选项。精灵的位置如图7-7所示。

图7-7 精灵位置
(9) 执行Window→Script命令,要求退出第1帧时播放动画,所以在exitFrame句柄首加入水平线段的Lingo控制语句,在打开的Movie Script 4电影脚本窗口中输入以下脚本,如图7-8所示。
on exitFrame me
set x = 27
repeat while (x<=520)
set the locH of sprite 2 to x
set x = x + 27
updatestage
wait
end repeat

图7-8 在电影脚本中输入脚本程序
说明:
“set x = 27”是初始化水平位置,其垂直位置保持Y=27不变。在循环语句中随x的递增,逐步设置水平线段的水平位置,并通过语句updatestage更新窗口。
(10) 在exitFrame句柄中,加入垂直线段的Lingo控制语句如下:
set y = 27
repeat while (y<=440)
set the locV of sprite 3 to y
set y = y+27
updatestage
wait
end repeat
wait
说明:
“set y = 27”是初始化垂直线段的垂直位置,其水平位置保持X=27不变。在循环语句中随y的递增,逐步设置垂直线段的垂直位置,并通过语句updatestage更新窗口。
(11) 加入对笑脸精灵的Lingo控制语句:
set x =27
repeat while (x<=500)
set y=220–200*sin(pi*(x+40)/120)
set the locH of sprite 1 to x
set the locV of sprite 1 to y
updatestage
wait
set x = x+10
end repeat
end
说明:
the locH 和the locV分别表示笑脸精灵的水平位置和垂直位置。
(12) 最后再加入wait句柄:
on wait
repeat with n=1 to 9000
end repeat
end
说明:
该函数通过循环语句,廷迟了时间。
(13) 保存电影,执行Window→Inspectors→Property命令,在控制面板中播放电影,效果如图7-9所示。

图7-9 最后效果 |