帧号
|
Action 的 内 容
|
解 释
|
1
|
Set Variable: "ox" = GetProperty("/mouse",_x)
Set Variable: "oy" = GetProperty("/mouse",_y)
Set Variable: "const" = 34
Set Variable: "step2" = -3
Set Variable: "step" = 3
Set Variable: "i" = const |
第一第二行是获取鼠标X,Y坐标,赋给变量ox、oy以便后面判断鼠标是否移动;const是一个常量,其值为鼠标后面重影的个数;step2的值是重影变小(大)的速度,负数变小,正数变大,绝对值越大,速度越快;step为重影透明度变化的速度,数值越大,变化越快;i是在后面程序中用到的一个变量。 |
2
|
If ((GetProperty("/mouse",_x) <> ox) or
(GetProperty("/mouse",_y) <> oy))
If (i=0)
Set Variable: "i" = const
End If
Duplicate Movie Clip ("/mouse", "mouse"&i,
i)
Set Variable: "i" = i-1
Set Variable: "ox" = GetProperty("/mouse",_x)
Set Variable: "oy" = GetProperty("/mouse",_y)
End If
Set Variable: "n" = const
Loop While (n>0)
Set Property ("/mouse"&n, Alpha) = GetProperty("/mouse"&n,_alpha)-step
Set Property ("/mouse"&n, X Scale) = GetProperty("/mouse"&n,_xscale)+step2
Set Property ("/mouse"&n, Y Scale) = GetProperty("/mouse"&n,_yscale)+step2
Set Variable: "n" = n-1
End Loop |
第一层判断(If)是判断鼠标是否移动,如果移动则执行,没有移动则跳过。在这层If语句中还判断了i是否等于0,如果i减少到了0,则重新把const的值赋给i。接下来的Duplicate
Movie Clip是把实体mouse复制到实体mousei(i是1到const之间的一个数),接着i自减一,并把当前鼠标坐标值重新赋给ox和oy,以便下次判断。在判断外的代码,是每次都必须执行的。首先,先把const的值赋给n,然后做一循环(n从const到1),循环体中是减小实体mousen(n由循环决定)的Alpha值和改变实体mousen的大小。 |
3
|
If ((GetProperty("/mouse",_x) <> ox) or
(GetProperty("/mouse",_y) <> oy))
If (i=0)
Set Variable: "i" = const
End If
Duplicate Movie Clip ("/mouse", "mouse"&i,
i)
Set Variable: "i" = i-1
Set Variable: "ox" = GetProperty("/mouse",_x)
Set Variable: "oy" = GetProperty("/mouse",_y)
End If
Set Variable: "n" = const
Loop While (n>0)
Set Property ("/mouse"&n, Alpha) = GetProperty("/mouse"&n,_alpha)-step
Set Property ("/mouse"&n, X Scale) = GetProperty("/mouse"&n,_xscale)+step2
Set Property ("/mouse"&n, Y Scale) = GetProperty("/mouse"&n,_yscale)+step2
Set Variable: "n" = n-1
End Loop
Go to and Play (2) |
这一帧的Action和第二帧的几乎是一模一样,只是在最后多了一句Go to
and Play (2)。这样做的原因是为了构成一个循环回路(构成一个回路最少要有两帧),反复执行第二第三帧的程序。 |