Search Tutorials
Setting the Actions II - Duplicating the MovieClip with a Loop Action Continuing in Frame 1 of the Box Actions Layer, the next section of the Actions is where the ChangingBox movie ("box" instance) is duplicated across the screen. Duplicating the boxes is performed by using the Loop action. Click on Loop and fill in the Loop While command with: d>= 46. Inside the Loop command is where the Duplicate Move Clip command is placed. Click on Duplicate Movie Clip and make sure "Duplicate Movie Clip" circle is blocked. Then add the target you want to duplicate ("/box"), the new name, which will be "/box"&d (make sure it is marked as an expression and not literal), and the depth to which it should be duplicated: d, another expression. We now need to set the x position of the newly created boxes. To do this a Set Property command is added which should read: Set Property ("/box"&d, X Position) = origx + d*sizex (this should be an expression). To refresh and explain, "origx" is the x location of the "box" instance, "sizex" is the width of the "box" instance and "d" at this time is equal to 1. Doing the math this places the new instance just created ("/box1") next to the original instance "/box". At this stage it will be more conducive to copy the remaining action scripting commands in. The actions screen should read as follows:
Loop While (d <= 46)
Duplicate Movie Clip ("/box", "box"&d, d)
Set Property ("box"&d, X Position) = origx + d*sizex
If (GetProperty("box"&d, _x) <%gt> squares*sizex + origx - 5)
Set Property ("box"&d, Y Position) = origy + sizey
Set Property ("box"&d, X Position) = origx
If (n < squares)
Set Property ("box"&d, X Position) = origx + n*sizex
Set Variable: "n" = n+1
Else If (ntwo < squares)
Set Property ("box"&d, Y Position) = origy+2*sizey
Set Property ("box"&d, X Position) = origx + ntwo*sizex
Set Variable: "ntwo" = ntwo+1
Else If (nthree < squares)
Set Property ("box"&d, Y Position) = origy+3*sizey
Set Property ("box"&d, X Position) = origx + nthree*sizex
Set Variable: "nthree" = nthree+1
Else If (nfour < squares)
Set Property ("box"&d, Y Position) = origy+4*sizey
Set Property ("box"&d, X Position) = origx + nfour*sizex
Set Variable: "nfour" = nfour+1
End If
End If
Set Variable: "d" = d+1
End Loop
This is the complete code, playing the Flash movie at this time would likely yield the desired results, more or less. Explaining what is happening within the Loop action will aid in fine tuning your Flash movie.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|