|
Set this script in second keyframe (remove the Trace action if
it's ok)
Set Variable: "n" = 0
Loop While (n Our var ("PosY") must be "dynamic" because there will be a different one for each rub.
The origine pos for a rub (where distance = 0) will be equal to the rub selected + the height of a rub
Set Variable: "PosY"&n = GetProperty (n,_y)+RubHeight
During the loop, one of the rubs (n) corresponds to the one selected...
If it's the case...
If (TargetRub = n)
Comment : --------------- subrub part ---------
We begin the same loop but for subrubs (z ---> units)
Set Variable: "z" = 0
Loop While (zHere, var TargetRub and var n have the same value (see if condition) !
Duplicate Movie Clip ("Subrub",TargetRub&"_"&z,(TargetRub*10)+z)
Then, like for rubs placement, we place subrub regards with the previous one.
And if it's the first subrub, its yposition will be regard to the corresponding rub.
If (z=1)
Set Variable: "YPosition" = GetProperty(n,_y)+(RubHeight/2)+(SubrubHeight/2)
Else
Set Variable: "YPosition" = GetProperty (TargetRub&"_"&(z-1),_y)+SubrubHeight
End If
Set Property (TargetRub&"_"&z, Y Position) = YPosition
We set the corresponding label depending of current n and current z.
We have 2 loops so we ALWAYS have a different couple of numbers.
Set Variable: TargetRub&"_"&z&":Label" = eval ("LabelRub"&n&"_Subrub"&z)
End Loop
we are able to estimate how many place will take all the subrubs for this rub
Set Variable: "MaxDistance" = eval ("Total_Subrubs_Rub"&TargetRub)*SubrubHeight
Comment : -----------------------------------------------
Now, we increase Distance
Set Variable: "Distance"&n = eval ("Distance"&n)+5
But if this one> place taken by subrubs, we stop to increase Distance var
If (eval ("Distance"&n)>=MaxDistance)
Set Variable: "Distance"&n = MaxDistance
End If
If current n is not equal to the rub selected (all other rubs)
Else
Comment : --------------- subrub part ---------
We reverse loop to remove dupplicated subrubs if there were
Set Variable: "z" = 10
Loop While (z>0)
Set Variable: "z" = z-1
Remove Movie Clip (n&"_"&z)
End Loop
Comment : -----------------------------------------------
Then we decrease Distance until this equal 0.
Set Variable: "Distance"&n = eval ("Distance"&n)-10
If (eval ("Distance"&n)<=0)
Set Variable: "Distance"&n = 0
End If
End If
At last, we set to each rub + 1 the corresponding y position.
Set Property (n+1, Y Position) = eval ("PosY"&n)+eval ("Distance"&n)
End Loop
We just don't forget to set a "0" visibility to our original
subrub under the line for rub in keyframe 1:
Set Property ("Rub", Visibility) = 0
Set Property ("Subrub", Visibility) = 0
|