BBM.net is designed to save you time and deliver the highest quality royalty-free music for your multimedia projects. Features include: over 450 Music Loop Packages from some of the best composers in the business, our music search engine to speed your selection process, alternate music versions & bonus sounds to use for rollovers or transitions, free technical support and free consulting.
On our scene, we'll
first insert a new layer at top and name it "actions". Open first keyframe's
properties (double-click on it) -----> Action tab
Now, we insert our constants (constants var are vars that will be
used by the script but not changed by it as contrary as a counter
for example). So we put them before the "program" :
Comment : ::::::::: Our constants ::::::
Set Variable: "TotalRubs" = 7
We'll need the height of the rub so we get it
Set Variable: "RubHeight" = GetProperty ("Rub",_height)
Then we input now the label we want for each rub (assuming we've got 7)
Note that all values of them are character string with ""
Comment : -----------------------------------------------
Set Variable: "LabelRub1" = "I"
Comment : -----------------------------------------------
Set Variable: "LabelRub2" = "am"
Comment : -----------------------------------------------
Set Variable: "LabelRub3" = "learning"
Comment : -----------------------------------------------
Set Variable: "LabelRub4" = "to"
Comment : -----------------------------------------------
Set Variable: "LabelRub5" = "create"
Comment : -----------------------------------------------
Set Variable: "LabelRub6" = "awesome"
Comment : -----------------------------------------------
Set Variable: "LabelRub7" = "menu"
Comment : ::::::::: Dupplicating part ::::::
let's always initialize our counter before "Loop" action :
Set Variable: "n" = 0
Do actions in loop as many time as our "TotalRubs" var
Loop While (nDO NOT FORGET to increase our counter !
Set Variable: "n" = n+1
Our var ("PosY") must be "dynamic" because there will be a different one for each rub.you must fill three parameters (target, new name, depth).
Duplicate Movie Clip ("Rub", n, n*10)
We'll see later more about this "if condition"
If (n=1)
We define here the future position of our dupplicated movies
Set Variable: "YPosition" = 30
Else
Set Variable: "YPosition" = GetProperty (n-1, _y) + RubHeight
End If
At last, we set our "YPosition" var to our dupplicated movie
Set Property (n, Y Position) = YPosition
We set the corresponding label for each rub dupplicated
Set Variable: n&":Label" = eval ("LabelRub"&n)
End Loop
We don't need the original Rub MC, so we set to him an invisibility.
Set Property ("Rub", Visibility) = 0
Here we have set a number as a new name (our
counter) for ours dupplicated movies because we'll see later that
number as target movie is really practical ! About the third parameter...well,
doesn't matter, the important thing about it you must relember is
: ALL DUPPLICATED MOVIES MUST HAVE A DIFFERENT
DEPTH !!!. If not, you won't see any dupplicated movie having
the same depth number than another dupplicated previously. Biggest
is your number, more at top will be your MC. Why do we set the depth
at n*10 ? Imagine that rubs will have decimal depth and subrub units
depth...rub 1 : depth 10, Rub 3 subrub 2 : depth 32. So note that
with this calcul we can't set more than 9 subrubs per rub...
Well, we'll place rubs with a reference rub. In fact, eachrub will
be placed with regard to the previous one + the height of a rub.
So the first rub need to have a properly y position because it doesn't
have any reference rub.
Now about setting the right label, to define a var inside an MC,
we must set the path of this MC, ":" to mean the next
word will be the var name. Ex, you're inside an MC and you want
to define a var up in hierarchy, you'll set : "../:MyVar"
= "something". Here, the var we want to define is inside
our dupplicated movie (with n as name---->see the new name we
set on dupplicating) so the path of our var will contain expression
(n) and caracter string (":Label"). Then about the value,
we set previously in our constants labels for each rub ("LabelRub1"="I",
etc, ...), so our value, like its name, should be "dynamic"
cauz it contain caracter string ("LabelRub") and an expression
(n). So to set a value that is dynamic, we'll need to use the function
eval (that eval the value of a var from its name) : eval ("LabelRub"&n).
Is it quite clear ??? Sorry for my horrible english writing...
Daafy works with Flash since 2 years but began to script (never scripted before) since few months with Flash 4. Like you, he began by downloading sources with some white nights, coffee & other...