STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 229672 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2596 · P5191 |
This is the info page for Flash #57426 |
effects compilation A compilation of cool effects tutorials |
by mayoarm11 (maor kehati) to be submitted to newgrounds |
home |
effects compilation .fla's of all effects available in the download section |
reset |
+ |
- |
Delay until new particle production: |
Change the amount of particles being produced by playing with the + and - buttons. And don't go crazy w/ the + button, it'll lag... |
Click the next button to proceed. |
Click The alt button to view the alternative version of this effect. |
back |
Firstly, I would like to state that in the alternative version, the max size of the ball can be changed. Change the maxP variable in the main timeline to whatever you want. K, Let's get started on one of my favorite effects: the ion cannon simulator. It's more of a particle cannon, but whatever. Draw your circle, and have it in a movieclip (F8). I just had a simple radial color (light -> dark blue), and some glow filters. Give it the instance name of abc. Make another instance of this movieclip (copy & paste - make sure to erase the instance name). And then embed those two in a movieclip (select them both, and click F8). The second movieclip (with no instance name) should be at (0,0) (x:0,y:0). First movieclip's location doesn't matter. In the parent movieclip (the one on the stage), we're gonna have the following actionscript: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">power = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.abc.randomVar = true; //tells the first ball, that it is the one who is to duplicate the others</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
All that script does is initiate the 'power' variable, which is the center ball's diameter. In addition, it tells the abc movieclip to duplicate more movieclips (the little balls). We will see in the next script how giving this ball's randomVar variable the value of true will do that. And inside this movieclip, we're gonna have the movieclip with instance name of abc have this actionscript: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">bubbleC = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = _root.counter; //counter variable for creating the new ballsie thingies</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_alpha = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">var randomVar:Boolean; //this variable determines wethear the ball is the initial ball, and having it <sbr />creating others, or just a regular ball.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (randomVar != true) { //if it's not the original ball.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">angle = -179+Math.random()*361; //pick random angle value</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist = _parent.power*2+Math.random()*100; //pick random initial value along the angle line. <sbr />Notice that it also depends on the power variable</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goX = Math.sin(angle*Math.PI/180)*dist; //value of the path of the ball in the x axis</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goY = -Math.cos(angle*Math.PI/180)*dist; //y...</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//makes the ball go to its 'starting position':</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x += goX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y += goY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed = dist; //initial speed of the ball</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_width = _height=3+Math.random()*10; //random size</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (randomVar == true) { //if this is the original ball</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter--; //counter combination</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (counter == 0) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = _root.counter; //re-initiates counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">bubbleC++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this, "bubble"+bubbleC, 1+bubbleC); //duplicate a ball</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">d = Math.sqrt((_x*_x)+(_y*_y)); //distance of ball from the center (0,0)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_alpha = (dist-d+_parent.power/2)*100/dist; //the alpha value equals the distance between the <sbr />ball and the center (big ball) - pythagorean theorem</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//ball travels along its path. the ball is actually travelling backwards, but that's not noticable.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x -= goX*(1/speed);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y -= goY*(1/speed);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (speed>0) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed -= 2; //lowers the speed, to create an inward motion</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (d<=(_parent.power+_width)/2 || d<=5) { //if the big ball and this ball are 'touching'... keep in <sbr />mind that _parent.power is also the diameter of the big ball. the d<=5 part is b/c sometimes when <sbr />power is really small, it doesn't 'catch on'</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent.power += _width/12; //add to the power value depending on the ball's size. This makes <sbr />the time the ball grows not be the same every time</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(this); //remove this ball.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
This script is divided into two parts. One part belongs to the abc movieclip, where randomVar = true. This tells the movieclip to duplicate more balls. And if randomvar = false, it tells the balls to move towards the center, change _alpha value, etc. Now we're gonna initiate the _root.counter variable, which represents the speed of production of new particles. On the main timeline, in frame 1, we're going to have: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.counter = 5;</font></p> |
Now we're gonna add the script for the center ball (the movieclip without the instance name): |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_width = _height=0.1; //can't be 0... :(</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_width = _height=_parent.power; //self-explanatory?</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Very simple... Simply tells the ball to grow according to the power value. The reset button's code is very simple. Just make your button, give your blue circle thing that's on your stage an instance name of ball. And the script for the button is simply: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.ball.power = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Now as for the speed of producing the new particles, we're going to add the + and - buttons. Make those two buttons. The code for each is very simple. For the + button it's: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.counter>1) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.counter--;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
And for the - button, it's: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on(press){</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.counter++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
And that's it :) |
:) |
Click the next button to proceed |
Just to let ya'll know, you can adjust the amount of lightning lines in the script, as I realize the lightnings might seem a bit 'overdone', and therefore fake. For those who just copy and paste the script, or download the .fla and not look at it ( you suck), open the actionscript menu in one of the lightning movieclips (F9), and go to find (ctrl+f), and replace 1.35 with whatever number you want. The greater the number, the less 'overdone' the lightning will seem. And if you have multiple lightning 'creators', don't forget to copy that code onto all of your lightnings. Let's get started, for those of you who actually want to learn :) I will firstly explain how this works theoretically. This works in a recursive function. That means that the first line starts off, and that first line can produce up to two additional lightning lines. Then those additional lines can produce up to two additional lines, and so on. You may notice that the length of the lines, as well as their width greatly decreases as we go from the top of the lightning to the bottom. Also, the probability of each individual lightning to produce more lightnings is greater by 1.35 than the probability of its next 'generation' of lightnings. Now... how the hell do we script this? :) |
Draw your lightning line first. I just did a simple linear color, fading from white to %0 alpha white, with some white glow filters (windows->properties->filters). MovieClip that (F8), and give it the instance name of laser. Have your line's location at 0,0 (x:0 , y:0) within your movieclip. Hit F8 again to embed your movieclip within another movieclip. Have your 'laser' movieclip, again, at 0,0. I used the duplicateMovieClip function, so we're gonna need a counter. In your main frame define _root.cou as: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.cou = 0;</font></p> |
Now just place the following code into your movieclip on your stage. There are comments to explain the code. Please try and understand the code, and not just copy & paste it. scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">initX = _x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">var prob:Number;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//prob is the probability variable. The higher the number, the less chance of it duplicating more <sbr />lightning lines</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (prob == undefined) { //prob will only be (equal) undefined for the first lightning line</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">prob = 0.125;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist = (1/prob)*12.5; //possible range of the new line</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if(prob == 0.125){ //prob will only equal 0.125 for the first lightning line, as defined a few lines <sbr />above</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist /= 4; //I did this simply because I noticed the first lightning line was too long, and I didn't like <sbr />it</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">newX = _x+Math.random()*dist-(dist/2); //the 2nd point of the existing line, and the x value of <sbr />the new line</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">newY = _y+Math.random()*dist; //y value</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = _x-newX; //difference between the line's starting value and its end value</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = _y-newY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_rotation = 180-Math.atan2(diffX, diffY)*(180/Math.PI); //"connects" the two 'dots'</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX *= diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY *= diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.laser._height = Math.sqrt(diffX+diffY); //pythagorean theorem used to calculate its height</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.laser._width = (1/prob)/2; //makes it so the bigger the prob variable, the less width the line <sbr />will have</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=2; i++) { //two 'chances' to form a new line</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (Math.random()>=prob || prob == 0.125) { //checks to see if the new line will be created. 1st <sbr />line always creates two more lines automatically</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.cou++; //counter for the lines</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this, _root.cou, _root.cou+1); //duplicates the line</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.cou]._x = newX; //the whole reason why I had the newX variable in the first place :)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.cou]._y = newY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.cou].prob = prob*1.35; //makes it so the probability of the next line producint more <sbr />lines, is less than this line's probability.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">delay = 7+Math.random()*2; //this variable is the delay time between the lightnings</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_alpha -= 15; //makes the fading effect</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_alpha<=0 && prob != 0.125) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(this); //removes the movieclip once it's 'invisible'</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (prob == 0.125) { //here we'll be making a new lightning</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">delay--; //delay is used as a counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (delay<=0) { //combines w/ above statement to form a counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = initX-50+Math.random()*100; //new location of the lightning</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_alpha = 100;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">delay = 7+Math.random()*2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//the next lines are to re-initiate all the variables</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist = (1/prob)*12.5;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist /= 4;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">newX = _x+Math.random()*dist/8-(dist/16);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">newY = _y+Math.random()*dist;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = _x-newX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = _y-newY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_rotation = 180-Math.atan2(diffX, diffY)*(180/Math.PI);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX *= diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY *= diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.laser._height = Math.sqrt(diffX+diffY);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.laser._width = (1/prob)/2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=2; i++) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.cou++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this, _root.cou, _root.cou+1); //here we go again! :D</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.cou]._x = newX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.cou]._y = newY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.cou].prob = prob*1.35;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
That's one lightning 'creator' right there. I have 3 in the .swf above, so just play around with it. You can add cool stuff with this. I actually tried drawing a sea, with a stranded boat on it, but I'm a horrible animator. |
:) |
:) |
:) |
:) |
:) |
Click The alt button to view the alternative version of this effect. |
The interesting thing about this flash is the movement of the dna 'molecules'. The way they criss-cross each other. The movement is all actionscripted by the way... Let's get started. Make an oval shape (doesn't matter what color). Mine is 3*15 (width*height). Movieclip that (F8), and add some glow filters so it'll look nicer. This isn't our molecule movieclip yet. Now we're going to embed that in another movieclip (F8), and that's going to be our molecule movieclip. I have it in another movieclip so that when we re-color the movieclip, the filters will be re-colored too. Give this movieclip an instance name of a. Now add this code: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">angle = 0; //angle value. The movieclip will follow the angle variable</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed = 10; //speed value. You can change this, but it messes up the dna form, so you need to <sbr />change an too</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">an = 8; //amount the angle will change</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">var s:Number; //initial side</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">id = _parent.b; //the 'id' of a molecule. Used to see if the parent dna strand should be deleted (if <sbr />this is the last molecule)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_visible == true) { //if this isn't the initial molecule</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">// movement to follow the angle variable:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x += Math.sin(angle*Math.PI/180)*speed;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y -= Math.cos(angle*Math.PI/180)*speed;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (s == 1) { //if the molecule is going left</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">angle += an; //raise angle. angle 'strives' to be 45</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (Math.abs(angle-45)<-(_height/2)) { //if the movieclip goes out of screen</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (id == _parent.maxn) { //if this is the last movieclip to get deleted</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(_parent); //delete tht parent dna strand</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(this); //delete this movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
That code is the most important in the flash. It's the movement for the molecules. Read it carefully and learn from it, especially the angle calculations (including the s variable). Now embed our 'a' movieclip within another (F8), and give that an instance name of orig. This will be our dna strand. Now we're going to add this code: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = 100+Math.random()*(Stage.width-200); //random x placement with a 'cushion' of 100 pixels</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y = 0; //y placement</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 1; //time counter to produce next set of dna 'molecules'</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">b = 0; //name and depth counter for the molecules</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">maxn = 10+Math.round(Math.random()*30); //amount of molecule sets there will be in this dna <sbr />strand</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.a._visible = false; //initial molecule invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">remove = false; //used to see if the movieclip needs to produce more molecules or not</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">string = "0x"+_root["color"+(1+Math.round(Math.random()*(_root.maxC-1)))]; //picks a random <sbr />color</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">new Color(this).setRGB(string); //colors the movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_visible == true) { //if the movieclip isn't the initial dna strand movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter--; //counter combo</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (counter == 0 && remove == false) { //if it's time to produce a new molecule, and it should <sbr />procude a new molecule</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 3;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=(-1); i<=1; i += 2) { //this will perform the brackets twice. We need this because each set <sbr />is composed of two dna molecules. there is a reason why I'm doing it so i will equal 1, then -1</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//duplicate movieclip:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">b++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this.a, b, b+3);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//placement:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[b]._y = Stage.height; //starts at the bottom</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[b]._x = i*15; //i equals 1 or -1, so it places the molecules on seperate sides of the movieclip <sbr />(15, and -15)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[b].s = (i == -1) ? 1 : 2; //initial side to start. look at the molecule's code to understand this</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (b == maxn) { //if the max molecules has reached</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">remove = true; //don't produce more molecules</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
The code on this movieclip - the dna strand - simply duplicates a dna molecule set (2 molecules) every so often. It also colors the entire strand with a random color from the 6 predefined colors. At this point, we're done making the dna strand. Now we need the code to produce more strands. We're gonna have that on the main timeline: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.orig._visible = false; //initial dna movieclip invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.maxC = 6; //amount of color variables</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//color variables:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.color1 = "FF0000";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.color2 = "FF3300";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.color3 = "FF6600";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.color4 = "FF9900";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.color5 = "FFCC00";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.color6 = "FFFF00";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">a = 0; //name and depth counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">c = 1; //time counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onEnterFrame = function () {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">c--; //counter combo</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (c <= 0) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">c = 20+Math.random()*20;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//duplicate movieclip:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">a++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(_root.orig, a, a+1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">};</font></p> |
Also, as you may have already noticed, the color variables are defined in our main timeline. hooray! :) |
Comments for the .fla: If you want to change the amount of sparks in one explosion, ctrl+f (on stage), and change 300 to the amount you want. If you want to change the colors: Change the sset paragraphs. Change the main, ext1, and ext2 variables to whatever you want. If you add or remov\e entire sset paragraphs, don't forget to change ssetNum to whatever number you have now (the number of sset paragraphs you have - there are 6 in the original script). The script for the coloring on this one might get confusing, but the code for the actual movement of the sparks is relatively easy when compared to the other stuff in the effects section. Let's get started. Firstly, we're gonna draw our spark. I made mine a 1*6 (width*height) white circle, at %75 alpha (I found the fireworks to be too bright at %100). Movieclip that (F8), and I added a white glow filter too. Keep in mind that the color does not matter, as we will be changing it anyways, I chose white because it stands out on the black background. Now the code to color the spark should go somewhere here, but if we place it on the current movieclip, with the white glow filter, only the spark itself will change color, and not the glow with it. We want to change both, so we're going to embed it in another movieclip (F8), and give it an instance name of a, and have the coloring script on that (along with the movement of the sparks): |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">str = "0x"+_parent["color"+(Math.round(1+Math.random()*(_parent.num-1)))]; //picks a random <sbr />color from the ones in the parent movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">new Color(this).setRGB(str); //colors it in that color</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist = Math.random()*100; //random dist variable - represents the length our spark will reach, <sbr />before deleting itself</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">angle = Math.random()*360; //random angle to travel in</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_rotation = angle; //rotates the spark</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed = dist/10; //initial speed. The speed variable helps create an inward motion</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//variables for the x and y values to travel in:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goX = Math.sin(angle*Math.PI/180);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goY = -Math.cos(angle*Math.PI/180);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_visible == true) { //if this movieclip is not the initial movieclip (a)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed -= 0.15; //creates the inward motion</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_alpha = speed/dist*1000; //created the fading out towards the end</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//movement:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x += goX*speed;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y += goY*speed;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (speed<=0) { //if the spark has stopped travelling.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent.counter++; //parent's counter is raised</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_parent.counter == 500) { //if the counter has reached the maximum it can, meaning that this <sbr />spark is the last to get deleted, and now we basically just have an empty movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(_parent); //delete the parent</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(this); //remove this movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
scroll the actionscript with up / down arrow keys. You can use right click->select all |
Two sections of this script; the coloring part, and the movement part. The parent movieclip of this movieclip will hold 12 color string variables (color1, color2, ...), that each, will represent a different color. num will be the amount of colors there are (12), I made this variable for quick editing later. So therefore, what these lines do is have the movieclip pick a random color (from color1 to color12). These colors will all be shades of a certain color (orange, blue, green, etc.). We will see how it does that later. Now as for the movement part; in the load function, we determine the 'fate' of the particular spark. We determine what length it will reach, before fading to %0 alpha, and then removing itself (dist variable), and we determine its angle. And again, appear the cos and sin functions with our angles. The other features are explained in the comments in the code above. Now we're going to embed this movieclip within another, give it the instance name of fire, and have this code in the movieclip on stage: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ssetNum = 6; //max sset paragraphcs in the lines below</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">sset = Math.round(0.5+Math.random()*ssetNum); //picks a random number from 1-6</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">num = 12; //max amount of coloring shades per explosion</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 0; //initial spark counter. This movieclip will be deleted once it reaches 300</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=300; i++) { //do this 300 times</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this.a, i, 2+i); //duplicate the sparks 300 times</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//set colors:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (sset == 1) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">main = "FF";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext1 = "00";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext2 = "33";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else if (sset == 2) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">main = "00";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext1 = "00";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext2 = "33";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else if (sset == 3) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">main = "00";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext1 = "CC";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext2 = "FF";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else if (sset == 4) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">main = "FF";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext1 = "CC";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext2 = "FF";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else if (sset == 5) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">main = "99";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext1 = "CC";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext2 = "FF";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else if (sset == 6) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">main = "FF";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext1 = "66";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ext2 = "99";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//shade colors:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color1 = main+"00"+ext1;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color2 = main+"33"+ext1;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color3 = main+"66"+ext1;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color4 = main+"99"+ext1;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color5 = main+"CC"+ext1;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color6 = main+"FF"+ext1;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color7 = main+"00"+ext2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color8 = main+"33"+ext2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color9 = main+"66"+ext2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color10 = main+"99"+ext2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color11 = main+"CC"+ext2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">color12 = main+"FF"+ext2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.a._visible = false; //makes a invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
All this code does is initiate some variables (including the counter, etc.), and define the color variables. Now we need to make (duplicate) a new firwork every couple of seconds. This code will appear on the main timeline: |
_root.fire._visible = false; //makes fire inivisible counter = 1; //counter for the timing of duplicating. i = 0; //name and depth counter onEnterFrame = function () { counter--; if (counter == 0) { counter = 30; //counter for the timing of duplicating. The smaller the number, the faster new fireworks will appear i++; duplicateMovieClip(_root.fire, i, i+2); //duplicate the firework //placement of the movieclip in a random place on stage, with a frame of 60 pixels (keeps the MC's away from the edge): _root[i]._x = 60+Math.random()*(Stage.width-60); _root[i]._y = 60+Math.random()*(Stage.height-60); } }; } |
yay... =] |
:( |
Add new poles by clicking the button provided. Click on the electric currents to remove them. |
You can do some nice things with this one. Note that the button + placement engine here, is the same one used in TD (tower defense) games. K let's firstly start with having the duplicating poles engine. This includes, having an 'add pole' button, and the user being able to drag the pole and place it in a new location. Basically, what I did was have an initial pole movieclip, that gets duplicated. This movieclip is also used as a cursor, when adding a new pole. If you click on the add pole button in the .swf above, you may notice that your cursor changes into a pole thing. Firstly, draw your pole, and have that in a movieclip (F8), and give it the instance name of pol (yes, no e), and have it centered in your movieclip (x: -width/2 , y: -height/2). Then, draw your 'add pole' button, and give it the actionscript of: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.pol._visible == false) { //if the mouse isn't dragging (if pol is invisible)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pol._visible = true; //make the initial pole movieclip visible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.grid.gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//starts the initial pole at the mouse's location:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pol._x = _root._xmouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pol._y = _root._ymouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">startDrag(_root.pol); //drag the pole</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">Mouse.hide(); //hide the normal mouse</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.drag = true; //drag our boolean variable that tells us wethear we're dragging the pole or not</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Ok, now a couple of things happen once we press that button. Firstly, your cursor changes. But more importantly, we change the visibility of the pol movieclip. This tells us that the next time a user will click the mouse button, that means that a pole should be placed there. It also gives our little blue square an indicitation to appear and show us where we will be placing the next pole (creates a 'fake' grid / matrix). There is a line that I would like to point out in that script that may be useful: _x = Math.round(_root._xmouse / 25)*25; there is a second line for the y value of the movieclip. This tells the movieclip that its _x value will equal to the value of xmouse rounded off to the nearest 25. Moving on... Let's dicuss how we tell the computer when to place a new pole. Simply, by asking it if the mouse has been clicked, and if the visibility value of the pole movieclip = true. We only want to place a new pole if the initial pole is visible, indicitating the user has clicked the 'add button'. This is the script, to be placed on the main timeline: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pol._visible = false;//tells the initial pole to be visible at the begging of the scipt</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//initiating variables:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pole = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.ele = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onMouseDown = function () { //if the mouse is pressed</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.pol._visible == true) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ok = true; //ok tells us if it's 'ok' to add a new pole - meaning if there isn't a pole in that location <sbr />already.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=_root.pole; i++) { //runs through the amount of poles currently on stage.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//calculates the differences between the poles, and where the new pole will be located:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = _root["p"+i]._x-Math.round(_root._xmouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = _root["p"+i]._y-Math.round(_root._ymouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX *= diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY *= diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (diffX+diffY<25*25) { //using pythagorean theorem, we can check if the distance is less than 25 <sbr />pixels (our grid's square side length)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ok = false; //it's not ok to create a new pole</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (ok == true) { //if it is ok to create a new pole</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.grid.gotoAndStop(2);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">Mouse.show(); //show the mouse</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">stopDrag(); //stop dragging _root.pol</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pol._visible = false; //make pol invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//duplicate the pol movieclip, and place it in the mouse coordinates rounded off to the nearest 25</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pole++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(_root.pol, "p"+_root.pole, _root.pole);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root["p"+_root.pole]._x = Math.round(_root._xmouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root["p"+_root.pole]._y = Math.round(_root._ymouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//some quality stuff, to make sure it doesn't lag too much when lots of poles are added:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.pole == 5) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_quality = "MEDIUM";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else if (_root.pole == 10) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_quality = "LOW";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">};</font></p> |
scroll the actionscript with up / down arrow keys. You can use right click->select all |
Now let's look at the little guiding blue square. Draw your square and movieclip that. I did some little animation thing with some masking. Download the .fla if you want to use it. On the second frame of your movieclip, have a blank keyframe. The reason I'm doing it this way, and not toggling the visibility of the movieclip, is because it needs an enterFrame function. If I would toggle the visibility value, we would need the enterFrame function to be on the movieclip, making it perform the enterFrame commands even when it doesn't need it (when pol is invisible). So if we place the actionscript only on the first frame, the script will only read the enterFrame function, if our movieclip is on frame 1. Problem is that you need a movieclip of some kind on your first frame. I made my animation, so it had to be in a movieclip anyways. If you don't have something like that, just drag a random movieclip, and have its visible value false in the load function: onClipEvent(load){ _visible = false; } Then you can add the script: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._x = Math.round(_root._xmouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._y = Math.round(_root._ymouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._x = Math.round(_root._xmouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._y = Math.round(_root._ymouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
All it does is have its parent (the movieclip on the stage) go to mouse coordinates rounded off the nearest 25. And let's not forget having our movieclip starting on the second frame (blank keyframe), by having: onClipEvent (load) { gotoAndStop(2); } K, we're almost done. By now we should have our basic engine done: having a functional button that created duplicates of our pol movieclip. Now come the interesting features of this flash: the lightnings, and the reset button. |
We'll start with creating the lightnings. First, we need to draw the lightnings. I did a simple line, with some lightning thingies, using the brush tool. I then had that tweened, and masked. If you get frustrated with your drawing, you can download the .fla, and use my lightning movieclip. And we're gonna have that start at 0,0 (x:0 , y:0). If you read the script on the main timeline, you may have noticed the _root.ele variable, which, obviously, will be our counter for the lightnings. Now, the time that do we check to see if new lightnings are needed, is once we create the pol. We can do it in the main timeline, in the part where it says if(ok==true){} , but I found it more suiting to have it in the pole's load function. Theoritically, what the scipt is going to do is run over the amount of poles there are, and create lightnings based on the number of current poles there are on the stage. We're going to rotate the lightnings to face the poles, and changing their length, so they will reach the poles. Here's the script, which should be placed on the pole's script (_root.pol 's script). |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_visible == true) { //in the load function, the visibility value will only be false for the initial pole <sbr />(_root.pol)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=_root.pole; i++) { //running through the amount of poles there are on the stage</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//duplicating a lightning movieclip:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.ele++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(_root.elec, _root.ele, 250+_root.ele);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//initiating the movieclip to start in the current pole's coordinates (center of the movieclip)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.ele]._x = _x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.ele]._y = _y;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//calculating the x and y differences between the two objects (poles):</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = _x-_root["p"+i]._x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = _y-_root["p"+i]._y;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.ele]._rotation = 180-Math.atan2(diffX, diffY)*(180/Math.PI); //rotates the lightning to <sbr />face the pole:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//squaring the variables</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX *= diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY *= diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[_root.ele].laser._height = Math.sqrt(diffX+diffY)*2; //changing the length of the lightning to <sbr />make it so that it equal the distance between the two objects</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
scroll the actionscript with up / down arrow keys. You can use right click->select all |
Now, on the lightning's script, we need to delete it two things: have the initial lightning movieclip invisible, and have it remove itself when it is clicked. The script is very simple: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._x = Math.round(_root._xmouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._y = Math.round(_root._ymouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._x = Math.round(_root._xmouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._y = Math.round(_root._ymouse/25)*25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
We're pretty much done right now, let's just complete it by adding the reset button. This is very simple, and the script is quite obvious. Draw your reset button, and this: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_quality = "HIGH";</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=_root.pole; i++) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(_root["p"+i]);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.pole = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=_root.ele; i++) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(_root[i]);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.ele = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
That's it... =] |
a |
K. Just a cool matrix effect. Let's begin. Firstly download the matrix font by clicking the download resources button provided (may take a while for download to begin). If something goes wrong with the download for any reason, the fon't name is mcode15, so just google it or something. Next we make a dynamic text box with this font. Give this text box an instance name of t, and embed lowercase letters (embed button found in the properties panel). If you want to add filters, such as a glow filter which I personally used, this would be the time. Add it on the text field. Next we embed this in a movieclip and give it an instance name of mtext, and give it the following code: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 1+Math.random()*4; //counter to change the letter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.t.text = chr(Math.round(Math.random()*27)+97); //picks a random letter. Note the chr <sbr />casting</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//counter combination:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter--;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (counter <= 0) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 1+Math.random()*4;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this.t.text = chr(Math.round(Math.random()*27)+97); //picks a random letter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
This code gives its dynamic text box a different letter value every approximately 2 secs. Embed this movieclip in another movieclip, give it the instance name of initial, and add this code: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_visible = _name != "initial"; //make it so the initial strand movieclip will be invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if(_visible == true){</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = Math.random()*Stage.width; //random x location</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y = -20; //starts at the top of the stage</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">size = 3+Math.random()*8; //random size factor</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_width /= size;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_height /= size;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed = (1/size)*5; //speed to move downwards</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 1; //counter to produce the next strand</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">number = 0; //name and depth strand counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">len = Math.random()*10+5; //will decide the number of letters in this specific strand. Note that if <sbr />len is 8.95, the number of letters will be 8 (foors) because of the for loop</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=len; i++) { //duplicates len amount of letters</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this.mtext, i, 1+i);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (i == 1) { //if this is the initial letter (first letter being placed)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//place it in these coordinates:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[i]._x = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[i]._y = -30;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else { // if it isn't</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//place it in the same x value, but move it 30 pixels above the previous one:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[i]._x = this[i-1]._x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">this[i]._y = this[i-1]._y-30;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_visible == false) { //if this is the initial strand movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//counter combination:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter--;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (counter == 0) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 5;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (number>250) { //makes it so our counter won't get out of hand</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">number = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">number++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this, number, 2+number); //duplicate a strand</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else { //if this isn't the initial strand</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_y>Stage.height+_height) { //if the movieclip has gone out of stage</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(this); //delete it</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y += speed; //move it downwards</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Don't be that pleased with yourself, even an infant could have done that! |
PLACE THE PARTICLES INSIDE THE GIVEN AREA |
Click the buttons to produce charged particles. Opposites attract - same repel. Click on the particles to increase their size, making them impact on nearby particles more. |
K firstly, draw your particle, and have the - / + sign in a movieclip. Put the + on frame 2, give the movieclip an instance name of s, and give the movieclip this code: All that says is go to the frame that corresponds with the parent's sign boolean variable. And if goes to frame 1 (-), color it red. Now have that movieclip and your circle particle in another movieclip. Center the movieclip (+ in the middile), and give it the instance name of initial. Then add this code to it: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(_parent.sign+1); //goes to the corresponding frame depending on the parent's sign variable</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_currentframe == 1) { //if the movieclip shows minus (first frame)</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">new Color(this).setRGB(0xFF0000); //color it red</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">weight = 1; //magnetic weight variable: the larger - the more impact it will have on other <sbr />variables</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">var sign:Boolean; //boolean for the particle's magnetivity (+ or -)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (sign == undefined) { //if this is the initial movieclip (sign will only be undefined for the initial <sbr />movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_visible = false; //make it invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">sign = true; //just so the 's' movieclip won't go crazy...</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">ID = _root.counter; //the movieclip's index</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_name != "initial") { //if this isn't the initial movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=_root.counter; i++) { //run over the amount of particles on stage</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (i != ID) { //excluding this movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = _x-_root[i]._x; //x value differences</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = _y-_root[i]._y; //y ...</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">angle = 180-(Math.atan2(diffX, diffY)*180/Math.PI); //initiate angle with the angle formed <sbr />between the two movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX *= diffX; //square the variables to be used in the pythagorean theorem (to calculate <sbr />distance)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY *= diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">dist = Math.sqrt(diffX+diffY); //dist = distance between the two movieclips</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (dist>(_width+_root[i]._width)/2) { //if the two objects aren't touching...</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//the movieclip travels along angle, its speed along this path is determined by:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//the distance between the two objects (dist). The bigger dist is, the less the movieclip will move <sbr />(1/dist)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//the other movieclip's sign variable - it needs to know wethear to get closer to the movieclip, or <sbr />repel from it</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//the other movieclip's weight variable - the larger, the bigger the attraction, or repelling</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goX = Math.sin(angle/180*Math.PI);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goY = Math.cos(angle/180*Math.PI);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x += goX*(1/dist)*500*_root[i].weight*((_root[i].sign == sign) ? 1 : -1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y -= goY*(1/dist)*500*_root[i].weight*((_root[i].sign == sign) ? 1 : -1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//use pythagorean theorem to calculate the distance from the center of the stage</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = Stage.width/2 - _x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = Stage.height/2 - _y;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX*=diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY*=diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">while(diffX+diffY>195*195){ //while the distance is greater than 195 (touching the circle)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x -= goX; //move the movieclip backwards</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y += goY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//update the distance for the while:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = Stage.width/2 - _x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = Stage.height/2 - _y;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX*=diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY*=diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) { //when the movieclip is clicked</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (weight<5 && _name != "initial") { //just to put a limit on the weight... so it won't get out of <sbr />hand or w/e</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">weight++; //increase weight by 1, increasing its impact on other particles</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_xscale += 25; //increase its physical size</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_yscale += 25;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
This is the most important code here. This code creates the movement of the particles depending on the magnetic charge of the particles. It also enables its impact on other particles to be changed when its clicked. And the code for it to stay within the defined circle is also found here. Now make the two buttons (+ and -). On the + button, we're gonna have: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(1); //...</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">isPos = true; //tells the movieclip inside to go to the positive frame</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (rollOver) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(2);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (rollOut) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (press) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(3);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (dragOut) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.initial._visible == false) { //this is really asking if 'initial' is being dragged (initial will only <sbr />be visible when it's being dragged)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial.s.gotoAndStop(2); //tells the initial's + / - movieclip to go to frame 2 (+)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">new Color(_root.initial.s).setRGB(0x7FB2FE); //colors the movieclip in blue</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._visible = true; //makes the movieclip visible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//initiates coordinates to be dragged:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._x = _root._xmouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._y = _root._ymouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">startDrag(_root.initial); //drag initial</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">Mouse.hide(); //hide the mouse</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Next, we make the - button, with a similar code to the + button with some minor changes: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">// explanation found on the positive button</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">isPos = false;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (rollOver) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(2);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (rollOut) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (press) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(3);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (dragOut) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">on (release) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.initial._visible == false) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial.s.gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">new Color(_root.initial.s).setRGB(0xFF0000);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._visible = true;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.grid.gotoAndStop(1);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._x = _root._xmouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._y = _root._ymouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">startDrag(_root.initial);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">Mouse.hide();</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Next, we need to place the movieclip when the mouse is pressed and the initial movieclip is being dragged. Also we need to check if the placement is within our defiend area. We do that on the main timeline: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 0; //name and depth counter for particles</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onMouseDown = function () {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_root.initial._visible == true) { //if initial is being dragged</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//pythagorean theorem to see if the movieclip is inside the circle (distance <= 195)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX = _root._xmouse - Stage.width/2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY = _root._ymouse - Stage.height/2;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffX *= diffX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">diffY *= diffY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if(diffX+diffY<195*195){</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">stopDrag(); //stop dragging it</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root.initial._visible = false; //make it invisible</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">Mouse.show(); //show the mouse</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter++; //raise counter to be used in the duplicate function</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(_root.initial, counter, counter+5); //make a new particle movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[counter]._x = _root._xmouse; //place it where the mouse is</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[counter]._y = _root._ymouse;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[counter].sign = _root.initial.s._currentframe-1; //make its magnetic charge to equal <sbr />whatever was just in the initial's 's' movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">} else { if(place._currentframe>37){ //if it isn't inside the cicle, and place's currentframe is <sbr />greather than 37</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">place.gotoAndPlay(1); //place plays from frame 1 (red error message)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">};</font></p> |
Now, this is optional, but I have a white circle 390*390 to show the defined area. Also, I have the placement red error message. If you wish to have that, type your message, have it in a movieclip, and give it the instance name of place. Make your animation within the movieclip of it fading in and out. In the movieclip's load event have it go to the last frame in your animation. And the frame where the text starts to fade out, should be replaced with 37 in the main timeline's code (the code that states: else if(place._currentframe>37){ ) |
mmm.... electrons.... |
Ok, now, if you look at the leaves, you may notice there are 3 depth levels. A depth level differs from the other by its depth (duh), coloring of leaves (further out = darker), and speed of the leaves falling down (further out = slower). The depth levels are simply movieclips, whose orders are arranged according to depth. Let's get started on the first depth level, which would be the one who seems closest to us (biggest leaves). Draw your leaves, or download the .fla and use mine, and movieclip it (F8). Now animate one cycle of your leaf falling. |
This would be one cycle, where your leaf follows the line. You should also add some rotation tweens, and make sure to play with the ease of your tween (found in the properties panel). I have mine at -100 I believe. Also, it is VERY important that the _x of the leaf on your first frame is the first as the _x of the leaf on your last frame. That means that the leaves must line up, like so: |
Now on your first frame, if you have your leaf as a graphic (if you tweened it, flash will automatically may it a graphic), then change it to a movieclip. Now add this code: Now, you need to replace the number 136.9, with the _y differences between the leaves in your first and last frames (the length of the dotted line in the picture a few lines above). The raising of the parent movieclip by the y difference, will make it seems as if the movieclip is moving, instead of simple animation. The second part of that code, simply says that if the parent movieclip goes 'out of bounds', delete it. Now give that movieclip an instance name of leaf, and have this code on the movieclip: |
<p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_parent._y += 136.9;</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_parent._y>Stage.height+_height/2) {</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(_parent);</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
If your leaves just pop out on the stage, instead of enter from the top, or they take too long to start coming down, then you need to change the 1.25 to a more suiting number for your flash. Play around with it. Now embed the leaf movieclip in another (F8), and give that an instance name of b1. The b1 movieclip should be the movieclip that is found on the stage. This movieclip will be our first depth movieclip. Now we put this script: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y = -_height*1.25; //y placement</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = -100+Math.random()*Stage.width; //random x placement</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndPlay(Math.round(1+Math.random()*20)); //random initial animation</font></p><p align="left"><font face="Verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//all depth MC's must start at (0,0)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y = 0;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 1; //counter to produce next leaf</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">number=0; //depth and name counter</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter--; //counter combo</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (counter == 0) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">counter = 20;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//produce new leaf:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">number++;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(this.leaf, number, 2+number);</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Basically, all that script does is produce a new leaf, every 5/6 of a second. Now we need to make 2 additional depth movieclips. Make the second animation for your movieclip. Make the second leaf smaller, and darker, and make the motion of the leaf smaller in proportion to its size. Put the script above on the first frame, name that movieclip leaf, embed it in another movieclip, name that movieclip b2, and then b3. Almost done. Now we just need to tell the first leaf that it is invisible. This is simply done by having this in the main timeline: |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=3; i++) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root["b"+i].leaf.init = true;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
yay! We're done. |
This one's relatively easy to make. Let's start by drawing the volcano. You can use mine if you want, by download the .fla. Now, make that a movieclip (F8), and now the centering of the volcano is important. Center your volcano so that the + mark is the point you want the fireballs to come out of the volcano. Give this movieclip the instance name of volcano, and add this code: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">errupt = false; //boolean to state if the volcano has errupted or not</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">a = 2; //quake variable. the bigger, the more the volcano will shake</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//save initial x and y values:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">initX = _x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">initY = _y;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (errupt == false) { //if the volcano hasn't errupted ( = shake)</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">// shake:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = initX-a/2+Math.random()*a;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y = initY-a/2+Math.random()*a;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">a += 0.25; //increading quake effect</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (a >= 16) { //if a reached 16</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">errupt = true; //volcano has errupted</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">gotoAndPlay(2); //play the animation</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//return to initial x and y values:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x = initX;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y = initY;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">for (i=1; i<=170; i++) { //do 170 times</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">duplicateMovieClip(_root.fire, i, i+100); //duplicate the fireball</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">//fireball placement:</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[i]._x = _x;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_root[i]._y = _y;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Not much to this code. It simply has the gradual shaking effect, and then it 'errupts' by duplicating 170 instances of the fireball movieclip which we are going to create now. Make your fireball, and movieclip it (F8), and give it the instance name of fire. My fireball is a simple 4*4 circle with a radial color from red to orange (outside to center). Add some glow filters or something to make it nice. Now we're going to add this code: scroll the actionscript with up / down arrow keys. You can use right click->select all |
<p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (load) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">asize = 1+Math.random(); //determines the size of the ball</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_width /= asize;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_height /= asize;</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">grav = Math.random()*50; //determines the height the ball will reach</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">speed = Math.random()*50; //determines the distance the ball will make</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">angle = -90+Math.random()*180; //random angle</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goX = -Math.sin(angle/180*Math.PI)*speed; //the value the ball should fly in the _x axis</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">goY = -Math.cos(angle/180*Math.PI); //value the ball should fly in the _y axis. there is no *grav, <sbr />because the grav variable changes in the enterFrame function</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">onClipEvent (enterFrame) {</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_x += goX; //fly ball, fly!</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">_y += goY*grav; //here we add the grav variable.</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">grav--; //creates gravity</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">if (_x-_width<0 || _x+_width>Stage.width || _y+_height>Stage.height) { //if the ball goes out of <sbr />stage... no top boundary, b/c sometimes the balls go up, and fall back down</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">removeMovieClip(this); //remove the movieclip</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p><p align="left"><font face="verdana" size="10" color="#0066ff" letterSpacing="0.000000" kerning="0">}</font></p> |
Couple of things that code does: firstly, it picks a random size for the fireball, then a random angle, maximum height and distance the ball will reach, and ofcourse the movement of the ball. Now we need to make the initial fireball invisible in the main timeline's code. In the main time line, I also added the code for the producing of the clouds, you can remove it if you want: And now all that's left is the reset button. Make your button, and add this code onto it: |
_root.fire._visible = false; //makes initial fireball invisible |
on (release) { if (_root.volcano.errupt == true) { //if the volcano has errupted _root.volcano.errupt = false; //tell it it hasn't errupted. you're lying to it :P for (i=1; i<=170; i++) { removeMovieClip(_root[i]); //remove all the fireballs } } _root.volcano.a = 2; //re-initiate the volcano's quake variable } |
You're probably gonna need volcano insurance now. Don't worry, I know a guy. |
And there it is... an errupting volcano :) |
download the .fla's |
ActionScript [AS1/AS2]
Frame 1NewgroundsAPI.connectMovie(3595); played = false; Stage.showMenu = false; stop();Frame 2if (played == false) { played = true; bgSound = new Sound(this); bgSound.attachSound("s1"); bgSound.start(0, 1); } pcou = 1; stop(); text1 = "Ion Particle Effect"; text2 = "Electricity"; text3 = "DNA"; text4 = "FireWorks"; text5 = "Lightning Poles"; text6 = "Matrix Effect"; text7 = "Magnetic Particles"; text8 = "Falling Objects"; text9 = "Volcano Erruption"; text10 = "Download .Fla's";Instance of Symbol 64 MovieClip in Frame 2onClipEvent (load) { power = 0; this.abc.randomVar = true; }Instance of Symbol 73 MovieClip in Frame 2onClipEvent (load) { this.roll._visible = false; } on (rollOver) { this.roll._visible = true; } on (rollOut) { this.roll._visible = false; } on (release) { this.gotoAndStop((_currentframe % 2) + 1); if (_currentframe == 2) { stopAllSounds(); } else { bgSound = new Sound(this); bgSound.attachSound("s1"); bgSound.start(0, 1); } }Frame 3counter = 1;Frame 4cou = 0;Frame 5t.orig._visible = false; _root.maxC = 6; _root.color1 = "0000FF"; _root.color2 = "0033FF"; _root.color3 = "0066FF"; _root.color4 = "0099FF"; _root.color5 = "00CCFF"; _root.color6 = "00FFFF"; a = 0; c = 1; onEnterFrame = function () { c--; if (c <= 0) { c = 10 + (Math.random() * 10); a++; duplicateMovieClip (t.orig, a, a + 1); } };Frame 6t.fire._visible = false; c = 1; depthcou = 0; onEnterFrame = function () { if ((t._currentframe == 1) && (_root._currentframe == 6)) { c--; if (c == 0) { c = 30; depthcou++; duplicateMovieClip (t.fire, depthcou, depthcou + 2); _root.t[depthcou]._x = 60 + (Math.random() * (Stage.width - 60)); _root.t[depthcou]._y = 60 + (Math.random() * (Stage.height - 60)); } } };Frame 7_root.t.pol._visible = false; _root.pole = 0; _root.ele = 0; onMouseDown = function () { if (_root.t.pol._visible == true) { ok = true; i = 1; while (i <= _root.pole) { diffX = _root.t["p" + i]._x - (Math.round(_root._xmouse / 25) * 25); diffY = _root.t["p" + i]._y - (Math.round(_root._ymouse / 25) * 25); diffX = diffX * diffX; diffY = diffY * diffY; if ((diffX + diffY) < 625) { ok = false; } i++; } if (ok == true) { _root.t.grid.gotoAndStop(2); Mouse.show(); stopDrag(); _root.t.pol._visible = false; _root.pole++; duplicateMovieClip (_root.t.pol, "p" + _root.pole, _root.pole + 10); _root.t["p" + _root.pole]._x = Math.round(_root._xmouse / 25) * 25; _root.t["p" + _root.pole]._y = Math.round(_root._ymouse / 25) * 25; if (_root.pole == 5) { _quality = "MEDIUM"; } else if (_root.pole == 10) { _quality = "LOW"; } } } };Frame 9magcou = 0; onMouseDown = function () { if (t.initial._visible == true) { diffX = _root._xmouse - (Stage.width / 2); diffY = _root._ymouse - (Stage.height / 2); diffX = diffX * diffX; diffY = diffY * diffY; if ((diffX + diffY) < 38025) { stopDrag(); _root.t.initial._visible = false; Mouse.show(); magcou++; duplicateMovieClip (_root.t.initial, magcou, magcou + 5); _root.t[magcou]._x = _root._xmouse; _root.t[magcou]._y = _root._ymouse; _root.t[magcou].sign = _root.t.initial.s._currentframe - 1; } else if (t.place._currentframe > 37) { t.place.gotoAndPlay(1); } } };Frame 10i = 1; while (i <= 3) { _root.t["b" + i].leaf.init = true; i++; }Frame 11_root.t.fire._visible = false;Frame 12stop(); text1 = "Ion Particle Effect"; text2 = "Electricity"; text3 = "DNA"; text4 = "FireWorks"; text5 = "Lightning Poles"; text6 = "Matrix Effect"; text7 = "Magnetic Particles"; text8 = "Falling Objects"; text9 = "Volcano Erruption";Symbol 11 Buttonon (release) { NewgroundsAPI.loadNewgrounds(); }Symbol 17 Buttonon (release) { NewgroundsAPI.loadNewgrounds(); }Symbol 19 MovieClip Frame 1function startAd(ngad_url) { trace("opening " + ngad_url); System.security.allowDomain("70.87.128.99"); System.security.allowInsecureDomain("70.87.128.99"); System.security.allowDomain("ads.shizmoo.com"); System.security.allowInsecureDomain("ads.shizmoo.com"); System.security.allowDomain("www.cpmstar.com"); System.security.allowInsecureDomain("www.cpmstar.com"); System.security.allowDomain("server.cpmstar.com"); System.security.allowInsecureDomain("server.cpmstar.com"); var ngads_redirect = new XML(); ngads_redirect.ignoreWhite = true; ngads_redirect.onLoad = function (success) { trace("[NEWGROUNDS FLASH ADS] :: You may get a 'Security Sandbox Violation' ... this is normal, do not freak out!"); if (success) { ng_ad.loadMovie(ngads_redirect.toString(), "GET"); } }; ngads_redirect.load(ngad_url); } if (NewgroundsAPI.getAdURL()) { startAd(NewgroundsAPI.getAdURL()); } NewgroundsAPI.onAdsApproved = function (ad_url) { startAd(ad_url); }; stop();Symbol 28 MovieClip Frame 1stop();Symbol 28 MovieClip Frame 13stop();Symbol 28 MovieClip Frame 32stop();Instance of Symbol 26 MovieClip in Symbol 28 MovieClip Frame 33onClipEvent (enterFrame) { onMouseUp = function () { i = 1; while (i <= 5) { if ((_parent["b" + i]._currentframe == 34) && (!_parent["b" + i].hitTest(_root._xmouse, _root._ymouse, true))) { _parent["b" + i].gotoAndPlay(14); } i++; } }; }Symbol 29 MovieClip Frame 1stop();Symbol 37 MovieClip Frame 1textVar = "..::loading::.."; loo = false; a = 0.75; _root.onEnterFrame = function () { if (_root.getBytesLoaded() >= _root.getBytesTotal()) { textVar = "..::done::.."; fill_MC._width = fill_MC._width - a; fill_MC._x = fill_MC._x + (a / 2); if (fill_MC._width < a) { fill_MC._visible = false; _root.play(); } a = a * 1.1; } else { fill_MC._xscale = (_root.getBytesLoaded() / _root.getBytesTotal()) * 100; } precentInst.text = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100) + "%"; };Symbol 403 MovieClip [__Packages.NewgroundsAPI] Frame 0class NewgroundsAPI { static var tracker_id, host, version, debug, error_format, header_format, normal_format, link_format; function NewgroundsAPI () { } static function connectMovie(id) { if (!id) { SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)"); } else if (!tracker_id) { SendMessage("Connecting to API gateway..."); tracker_id = id; host = _url.split("/")[2].toLowerCase(); if (host.length < 1) { host = "localhost"; } var _local2 = new Object(); SendEvent(MOVIE_VIEWS); } } static function setMovieVersion(movie_version) { if (!movie_version) { SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)"); } else { version = movie_version; } } static function debugMode() { debug = true; } static function addCustomEvent(stat_id, stat_name) { if (!stat_id) { SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else if (!stat_name) { SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else { custom_events[stat_name] = CUSTOM_STATS + stat_id; SendMessage("Created custom event: " + stat_name); } } static function addCustomLink(stat_id, stat_name) { if (!stat_id) { SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else if (!stat_name) { SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else { custom_links[stat_name] = CUSTOM_STATS + stat_id; SendMessage((("Created custom link " + stat_id) + ": ") + stat_name); } } static function loadMySite() { SendLink(AUTHOR_SITE); } static function loadNewgrounds(special) { if (special) { var _local1 = {page:special}; } SendLink(NEWGROUNDS, _local1); } static function logCustomEvent(event_name) { if (!event_name) { SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)"); } else if (!custom_events[event_name]) { SendError("Attempted to log undefined custom event: " + event_name); } else { SendEvent(custom_events[event_name]); } } static function loadCustomLink(link_name) { if (!link_name) { SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)"); } else if (!custom_links[link_name]) { SendError("Attempted to open undefined custom link: " + link_name); } else { SendLink(custom_links[link_name]); } } static function getAdURL() { return(movie_options.ad_url); } static function getMovieURL() { if (movie_options.movie_url) { return(movie_options.movie_url); } return("Newgrounds.com"); } static function getNewVersionURL() { return((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + NEW_VERSION); } static function SendEvent(id) { SendStat(id, false); } static function SendLink(id, extra) { SendStat(id, true, extra); } static function ReadGatewayData(params) { for (var _local2 in params) { params[_local2] = unescape(params[_local2]); movie_options[_local2] = params[_local2]; } if (params.settings_loaded) { SendMessage("You have successfully connected to the Newgrounds API gateway!"); SendMessage(("Movie Identified as '" + movie_options.movie_name) + "'"); if (movie_options.message) { SendMessage(movie_options.message); } if (movie_options.ad_url) { SendMessage("Your movie has been approved to run Flash Ads"); onAdsApproved(movie_options.ad_url); } if (movie_options.movie_version and (movie_options.movie_version.toString() != version.toString())) { SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!"); onNewVersionAvailable(movie_options.movie_version, getMovieURL(), getNewVersionURL()); } if (movie_options.deny_host) { SendMessage("You have blocked 'localHost' in your API settings."); SendMessage("If you wish to test your movie you will need to remove this block."); onDenyHost(host, getMovieURL(), getNewVersionURL()); } if (movie_options.request_portal_url == 1) { var _local4 = (((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_url); var _local3 = new XML(); _local3.ignoreWhite = true; _local3.load(_local4); } } else if (!movie_options.settings_loaded) { SendError("Could not establish connection to the API gateway."); } } static function SendStat(stat_id, open_in_browser, extra) { if (!tracker_id) { SendError("API calls cannot be made without a valid movie id."); SendError("Did you remember to add the \"NewgroundsAPI.connectMovie()\" code?"); } else { var _local7 = (((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + stat_id; for (var _local9 in extra) { _local7 = _local7 + ((("&" + escape(_local9)) + "=") + escape(extra[_local9])); } trace(_local7); if (debug) { _local7 = _local7 + "&debug=1"; } if (open_in_browser) { getURL (_local7, "_blank"); } else { var _local10 = new XML(); _local10.ignoreWhite = true; _local10.onLoad = function (success) { var _local6 = new Object(); var _local3 = 0; while (_local3 < this.firstChild.childNodes.length) { var _local4 = this.firstChild.childNodes[_local3]; var _local5 = _local4.nodeName; var _local2 = _local4.attributes.value; if (_local2 == Number(_local2)) { _local2 = Number(_local2); } _local6[_local5] = _local2; _local3++; } NewgroundsAPI.ReadGatewayData(_local6); }; _local10.load(_local7); } } } static function SendError(msg) { trace("[NEWGROUNDS API ERROR] :: " + msg); } static function SendMessage(msg) { trace("[NEWGROUNDS API] :: " + msg); } static function InitTextFormats() { if (!error_format) { error_format = new TextFormat(); error_format.font = "Arial Black"; error_format.size = 48; error_format.color = 16711680 /* 0xFF0000 */; } if (!header_format) { header_format = new TextFormat(); header_format.font = "Arial Black"; header_format.size = 24; header_format.color = 16777215 /* 0xFFFFFF */; } if (!normal_format) { normal_format = new TextFormat(); normal_format.font = "Arial"; normal_format.bold = true; normal_format.size = 12; normal_format.color = 16777215 /* 0xFFFFFF */; } if (!link_format) { link_format = new TextFormat(); link_format.color = 16776960 /* 0xFFFF00 */; link_format.underline = true; } } static function onNewVersionAvailable(version, movie_url, redirect_url) { InitTextFormats(); var _local2 = new Object(); _local2.x = Stage.width / 2; _local2.y = Stage.height / 2; _root.createEmptyMovieClip("NGAPI_new_version_overlay", _root.getNextHighestDepth()); _root.NGAPI_new_version_overlay.lineStyle(1, 0, 100); _root.NGAPI_new_version_overlay.beginFill(0, 70); _root.NGAPI_new_version_overlay.moveTo(-10, -10); _root.NGAPI_new_version_overlay.lineTo(-10, 1000); _root.NGAPI_new_version_overlay.lineTo(1000, 1000); _root.NGAPI_new_version_overlay.lineTo(1000, -10); _root.NGAPI_new_version_overlay.lineTo(-10, -10); _root.NGAPI_new_version_overlay.endFill(); _root.NGAPI_new_version_overlay.lineStyle(10, 0, 100); _root.NGAPI_new_version_overlay.beginFill(51); _root.NGAPI_new_version_overlay.moveTo(_local2.x - 240, _local2.y - 120); _root.NGAPI_new_version_overlay.lineTo(_local2.x + 240, _local2.y - 120); _root.NGAPI_new_version_overlay.lineTo(_local2.x + 240, _local2.y + 80); _root.NGAPI_new_version_overlay.lineTo(_local2.x - 240, _local2.y + 80); _root.NGAPI_new_version_overlay.lineTo(_local2.x - 240, _local2.y - 120); _root.NGAPI_new_version_overlay.endFill(); _root.NGAPI_new_version_overlay.createEmptyMovieClip("exit", 1000); _root.NGAPI_new_version_overlay.exit.lineStyle(2, 39423, 100); _root.NGAPI_new_version_overlay.exit.beginFill(0, 50); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 210, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 230, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 230, _local2.y - 90); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 210, _local2.y - 90); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 210, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.endFill(); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 214, _local2.y - 106); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 226, _local2.y - 94); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 226, _local2.y - 106); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 214, _local2.y - 94); _root.NGAPI_new_version_overlay.exit.onMouseUp = function () { if (_root.NGAPI_new_version_overlay.exit.hitTest(_root._xmouse, _root._ymouse)) { _root.NGAPI_new_version_overlay.removeMovieClip(); } }; var _local3 = (("Version " + version) + " is now available at:") + newline; var _local5 = _local3.length; _local3 = _local3 + movie_url; var _local4 = _local3.length; _root.NGAPI_new_version_overlay.createTextField("mouseblocker", 99, -10, -10, 1000, 1000); _root.NGAPI_new_version_overlay.createTextField("newversion", 100, _local2.x - 210, _local2.y - 90, 400, 80); _root.NGAPI_new_version_overlay.newversion.text = "New Version Available!"; _root.NGAPI_new_version_overlay.newversion.setTextFormat(header_format); _root.NGAPI_new_version_overlay.createTextField("message", 101, (Stage.width - 400) / 2, Stage.height / 2, 400, 40); _root.NGAPI_new_version_overlay.message.text = _local3; _root.NGAPI_new_version_overlay.message.multiline = true; _root.NGAPI_new_version_overlay.message.wordWrap = true; _root.NGAPI_new_version_overlay.message.html = true; _root.NGAPI_new_version_overlay.message.setTextFormat(normal_format); link_format.url = redirect_url; _root.NGAPI_new_version_overlay.message.setTextFormat(_local5, _local4, link_format); } static function onDenyHost(hostname, movie_url, redirect_url) { InitTextFormats(); _root.createEmptyMovieClip("NGAPI_deny_host_overlay", _root.getNextHighestDepth()); _root.NGAPI_deny_host_overlay.lineStyle(20, 0, 100); _root.NGAPI_deny_host_overlay.beginFill(6684672); _root.NGAPI_deny_host_overlay.moveTo(0, 0); _root.NGAPI_deny_host_overlay.lineTo(Stage.width, 0); _root.NGAPI_deny_host_overlay.lineTo(Stage.width, Stage.height); _root.NGAPI_deny_host_overlay.lineTo(0, Stage.height); _root.NGAPI_deny_host_overlay.lineTo(0, 0); _root.NGAPI_deny_host_overlay.endFill(); var _local2 = ("This movie has not been approved for use on " + hostname) + "."; _local2 = _local2 + "\r\rFor an aproved copy, please visit:\r"; var _local4 = _local2.length; _local2 = _local2 + movie_url; var _local3 = _local2.length; _root.NGAPI_deny_host_overlay.createTextField("mousekill", 100, 0, 0, Stage.width, Stage.height); _root.NGAPI_deny_host_overlay.createTextField("error", 101, (Stage.width - 400) / 2, (Stage.height / 2) - 100, 400, 200); _root.NGAPI_deny_host_overlay.error.text = "ERROR!"; _root.NGAPI_deny_host_overlay.error.setTextFormat(error_format); _root.NGAPI_deny_host_overlay.createTextField("message", 102, (Stage.width - 400) / 2, Stage.height / 2, 400, 200); _root.NGAPI_deny_host_overlay.message.text = _local2; _root.NGAPI_deny_host_overlay.message.multiline = true; _root.NGAPI_deny_host_overlay.message.wordWrap = true; _root.NGAPI_deny_host_overlay.message.html = true; _root.NGAPI_deny_host_overlay.message.setTextFormat(normal_format); link_format.url = redirect_url; _root.NGAPI_deny_host_overlay.message.setTextFormat(_local4, _local3, link_format); } static function isInstalled() { return(true); } static function onAdsApproved(ad_url) { } static var movie_options = new Object(); static var custom_events = new Object(); static var custom_links = new Object(); static var MOVIE_VIEWS = 1; static var AUTHOR_SITE = 2; static var NEWGROUNDS = 3; static var NEW_VERSION = 4; static var CUSTOM_STATS = 50; static var GATEWAY_URL = "http://www.ngads.com/gateway.php"; }Instance of Symbol 45 MovieClip in Symbol 46 MovieClip Frame 1onClipEvent (load) { this.t.text = _root["text" + _parent._parent._parent._name]; }Symbol 47 MovieClip Frame 21stop();Symbol 49 MovieClip Frame 13stop();Symbol 51 Buttonon (press) { _root.gotoAndStop(3); }Symbol 52 Buttonon (press) { _root.gotoAndStop(4); }Symbol 53 Buttonon (press) { _root.gotoAndStop(5); }Symbol 54 Buttonon (press) { _root.gotoAndStop(6); }Symbol 55 Buttonon (press) { _root.gotoAndStop(7); }Symbol 56 Buttonon (press) { _root.gotoAndStop(8); }Symbol 57 Buttonon (press) { _root.gotoAndStop(9); }Symbol 58 Buttonon (press) { _root.gotoAndStop(10); }Symbol 59 Buttonon (press) { _root.gotoAndStop(11); }Symbol 60 Buttonon (press) { _root.gotoAndStop(12); }Instance of Symbol 63 MovieClip "abc" in Symbol 64 MovieClip Frame 1onClipEvent (load) { bubbleC = 0; counter = _root.pcou; _alpha = 0; var randomVar; if (randomVar != true) { angle = -179 + (Math.random() * 361); dist = 25 + (Math.random() * 85.4); goX = Math.sin((angle * Math.PI) / 180) * dist; goY = (-Math.cos((angle * Math.PI) / 180)) * dist; _x = (_x + goX); _y = (_y + goY); speed = dist; _height = (3 + (Math.random() * 10)); _width = (3 + (Math.random() * 10)); } } onClipEvent (enterFrame) { if (randomVar == true) { counter--; if (counter <= 0) { i = 1; while (i <= ((_root.counter >= 1) ? 1 : (Math.abs(2 - _root.counter)))) { counter = _root.pcou; bubbleC++; duplicateMovieClip (this, "bubble" + bubbleC, 1 + bubbleC); i++; } } } else { d = Math.sqrt((_x * _x) + (_y * _y)); _alpha = ((((dist - d) + (_parent.power / 2)) * 100) / dist); _x = (_x - (goX * (1 / speed))); _y = (_y - (goY * (1 / speed))); if (speed > 0) { speed = speed - 2; } if ((d <= (_width / 2)) || (d <= 5)) { removeMovieClip(this); } } }Symbol 73 MovieClip Frame 1stop();Instance of Symbol 63 MovieClip in Symbol 74 MovieClip Frame 1onClipEvent (load) { _height = 0.1; _width = 0.1; } onClipEvent (enterFrame) { _height = _parent.power; _width = _parent.power; }Instance of Symbol 63 MovieClip "abc" in Symbol 74 MovieClip Frame 1onClipEvent (load) { bubbleC = 0; counter = _root.counter; _alpha = 0; var randomVar; if (randomVar != true) { angle = -179 + (Math.random() * 361); dist = (_parent.power * 2) + (Math.random() * 100); goX = Math.sin((angle * Math.PI) / 180) * dist; goY = (-Math.cos((angle * Math.PI) / 180)) * dist; _x = (_x + goX); _y = (_y + goY); speed = dist; _height = (3 + (Math.random() * 10)); _width = (3 + (Math.random() * 10)); } } onClipEvent (enterFrame) { if (randomVar == true) { counter--; if (counter <= 0) { i = 1; while (i <= ((_root.counter >= 1) ? 1 : (Math.abs(2 - _root.counter)))) { counter = _root.counter; bubbleC++; duplicateMovieClip (this, "bubble" + bubbleC, 1 + bubbleC); i++; } } } else { d = Math.sqrt((_x * _x) + (_y * _y)); _alpha = ((((dist - d) + (_parent.power / 2)) * 100) / dist); _x = (_x - (goX * (1 / speed))); _y = (_y - (goY * (1 / speed))); if (speed > 0) { speed = speed - 2; } if ((d <= ((_parent.power + _width) / 2)) || (d <= 5)) { _parent.power = _parent.power + (_width / 12); removeMovieClip(this); } } }Symbol 84 Buttonon (release) { _root.counter--; }Symbol 86 Buttonon (press) { _root.counter++; }Symbol 95 Buttonon (press) { _root.t.nextFrame(); }Symbol 99 MovieClip Frame 1stop();Instance of Symbol 108 MovieClip "link_mc" in Symbol 109 MovieClip Frame 1onClipEvent (load) { this.t.text = _parent._parent._name; }Symbol 109 MovieClip Frame 13stop();Instance of Symbol 108 MovieClip "link_mc" in Symbol 111 MovieClip Frame 1onClipEvent (load) { this.t.text = _parent._parent._name; }Symbol 111 MovieClip Frame 13stop();Symbol 113 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/040908/76281_ionflash8format.php", "_blank"); }Symbol 116 Buttonon (press) { _root.t.prevFrame(); }Symbol 135 MovieClip Frame 1stop();Instance of Symbol 74 MovieClip "ball" in Symbol 135 MovieClip Frame 1onClipEvent (load) { power = 0; this.abc.randomVar = true; }Instance of Symbol 80 MovieClip in Symbol 135 MovieClip Frame 1onClipEvent (load) { gotoAndStop (1); } on (rollOver) { gotoAndStop (2); } on (rollOut) { gotoAndStop (1); } on (dragOver) { gotoAndStop (3); } on (dragOut) { gotoAndStop (1); } on (press) { gotoAndStop (3); _parent.ball.power = 0; } on (press) { gotoAndStop (2); }Instance of Symbol 99 MovieClip in Symbol 135 MovieClip Frame 1on (release) { _visible = false; _parent.a1._visible = false; _parent.a2._visible = false; } on (rollOver) { gotoAndStop (2); } on (rollOut) { gotoAndStop (1); }Instance of Symbol 99 MovieClip "a1" in Symbol 135 MovieClip Frame 1onClipEvent (load) { new Color(this).setRGB(3355443); }Symbol 135 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 136 Buttonon (press) { _root.gotoAndStop(2); }Symbol 156 MovieClip Frame 1stop();Instance of Symbol 140 MovieClip in Symbol 156 MovieClip Frame 1onClipEvent (load) { initX = _x; var prob; if (prob == undefined) { prob = 0.125; } dist = (1 / prob) * 12.5; if (prob == 0.125) { dist = dist / 4; } newX = (_x + (Math.random() * dist)) - (dist / 2); newY = _y + (Math.random() * dist); diffX = _x - newX; diffY = _y - newY; _rotation = (180 - (Math.atan2(diffX, diffY) * 57.2957795130823)); diffX = diffX * diffX; diffY = diffY * diffY; this.laser._height = Math.sqrt(diffX + diffY); this.laser._width = (1 / prob) / 2; i = 1; while (i <= 2) { if ((Math.random() >= prob) || (prob == 0.125)) { _root.cou++; duplicateMovieClip (this, _root.cou, _root.cou + 1); _parent[_root.cou]._x = newX; _parent[_root.cou]._y = newY; _parent[_root.cou].prob = prob * 1.35; } i++; } delay = 7 + (Math.random() * 2); } onClipEvent (enterFrame) { _alpha = (_alpha - 15); if ((_alpha <= 0) && (prob != 0.125)) { removeMovieClip(this); } if (prob == 0.125) { delay--; if (delay <= 0) { _x = ((initX - 50) + (Math.random() * 100)); _alpha = 100; delay = 7 + (Math.random() * 2); dist = (1 / prob) * 12.5; dist = dist / 4; newX = (_x + ((Math.random() * dist) / 8)) - (dist / 16); newY = _y + (Math.random() * dist); diffX = _x - newX; diffY = _y - newY; _rotation = (180 - (Math.atan2(diffX, diffY) * 57.2957795130823)); diffX = diffX * diffX; diffY = diffY * diffY; this.laser._height = Math.sqrt(diffX + diffY); this.laser._width = (1 / prob) / 2; i = 1; while (i <= 2) { _root.cou++; duplicateMovieClip (this, _root.cou, _root.cou + 1); _parent[_root.cou]._x = newX; _parent[_root.cou]._y = newY; _parent[_root.cou].prob = prob * 1.35; i++; } } } }Instance of Symbol 140 MovieClip in Symbol 156 MovieClip Frame 1onClipEvent (load) { initX = _x; var prob; if (prob == undefined) { prob = 0.125; } dist = (1 / prob) * 12.5; if (prob == 0.125) { dist = dist / 4; } newX = (_x + (Math.random() * dist)) - (dist / 2); newY = _y + (Math.random() * dist); diffX = _x - newX; diffY = _y - newY; _rotation = (180 - (Math.atan2(diffX, diffY) * 57.2957795130823)); diffX = diffX * diffX; diffY = diffY * diffY; this.laser._height = Math.sqrt(diffX + diffY); this.laser._width = (1 / prob) / 2; i = 1; while (i <= 2) { if ((Math.random() >= prob) || (prob == 0.125)) { _root.cou++; duplicateMovieClip (this, _root.cou, _root.cou + 1); _parent[_root.cou]._x = newX; _parent[_root.cou]._y = newY; _parent[_root.cou].prob = prob * 1.35; } i++; } delay = 7 + (Math.random() * 2); } onClipEvent (enterFrame) { _alpha = (_alpha - 15); if ((_alpha <= 0) && (prob != 0.125)) { removeMovieClip(this); } if (prob == 0.125) { delay--; if (delay <= 0) { _x = ((initX - 50) + (Math.random() * 100)); _alpha = 100; delay = 7 + (Math.random() * 2); dist = (1 / prob) * 12.5; dist = dist / 4; newX = (_x + ((Math.random() * dist) / 8)) - (dist / 16); newY = _y + (Math.random() * dist); diffX = _x - newX; diffY = _y - newY; _rotation = (180 - (Math.atan2(diffX, diffY) * 57.2957795130823)); diffX = diffX * diffX; diffY = diffY * diffY; this.laser._height = Math.sqrt(diffX + diffY); this.laser._width = (1 / prob) / 2; i = 1; while (i <= 2) { _root.cou++; duplicateMovieClip (this, _root.cou, _root.cou + 1); _parent[_root.cou]._x = newX; _parent[_root.cou]._y = newY; _parent[_root.cou].prob = prob * 1.35; i++; } } } }Instance of Symbol 140 MovieClip in Symbol 156 MovieClip Frame 1onClipEvent (load) { initX = _x; var prob; if (prob == undefined) { prob = 0.125; } dist = (1 / prob) * 12.5; if (prob == 0.125) { dist = dist / 4; } newX = (_x + (Math.random() * dist)) - (dist / 2); newY = _y + (Math.random() * dist); diffX = _x - newX; diffY = _y - newY; _rotation = (180 - (Math.atan2(diffX, diffY) * 57.2957795130823)); diffX = diffX * diffX; diffY = diffY * diffY; this.laser._height = Math.sqrt(diffX + diffY); this.laser._width = (1 / prob) / 2; i = 1; while (i <= 2) { if ((Math.random() >= prob) || (prob == 0.125)) { _root.cou++; duplicateMovieClip (this, _root.cou, _root.cou + 1); _parent[_root.cou]._x = newX; _parent[_root.cou]._y = newY; _parent[_root.cou].prob = prob * 1.35; } i++; } delay = 7 + (Math.random() * 2); } onClipEvent (enterFrame) { _alpha = (_alpha - 15); if ((_alpha <= 0) && (prob != 0.125)) { removeMovieClip(this); } if (prob == 0.125) { delay--; if (delay <= 0) { _x = ((initX - 50) + (Math.random() * 100)); _alpha = 100; delay = 7 + (Math.random() * 2); dist = (1 / prob) * 12.5; dist = dist / 4; newX = (_x + ((Math.random() * dist) / 8)) - (dist / 16); newY = _y + (Math.random() * dist); diffX = _x - newX; diffY = _y - newY; _rotation = (180 - (Math.atan2(diffX, diffY) * 57.2957795130823)); diffX = diffX * diffX; diffY = diffY * diffY; this.laser._height = Math.sqrt(diffX + diffY); this.laser._width = (1 / prob) / 2; i = 1; while (i <= 2) { _root.cou++; duplicateMovieClip (this, _root.cou, _root.cou + 1); _parent[_root.cou]._x = newX; _parent[_root.cou]._y = newY; _parent[_root.cou].prob = prob * 1.35; i++; } } } }Symbol 156 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Instance of Symbol 159 MovieClip "a" in Symbol 160 MovieClip Frame 1onClipEvent (load) { angle = 0; speed = 10; an = 8; var s; id = _parent.b; } onClipEvent (enterFrame) { if (_visible == true) { _x = (_x + (Math.sin((angle * Math.PI) / 180) * speed)); _y = (_y - (Math.cos((angle * Math.PI) / 180) * speed)); if (s == 1) { angle = angle + an; if (Math.abs(angle - 45) < an) { s = 2; } } else { angle = angle - an; if (Math.abs(angle + 45) < an) { s = 1; } } _rotation = angle; if (_y < (-(_height / 2))) { if (id == _parent.maxn) { removeMovieClip(_parent); } removeMovieClip(this); } } }Symbol 162 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/070908/48394_dna_alt.php", "_blank"); }Symbol 163 Buttonon (press) { i = 1; while (i <= _root.a) { removeMovieClip(_root.t[i]); i++; } _root.t.nextFrame(); }Symbol 178 MovieClip Frame 1stop();Instance of Symbol 160 MovieClip "orig" in Symbol 178 MovieClip Frame 1onClipEvent (load) { _x = (100 + (Math.random() * (Stage.width - 200))); _y = 0; counter = 1; b = 0; maxn = 10 + Math.round(Math.random() * 30); this.a._visible = false; remove = false; string = "0x" + _root["color" + (1 + Math.round(Math.random() * (_root.maxC - 1)))]; new Color(this).setRGB(string); } onClipEvent (enterFrame) { if (_visible == true) { counter--; if ((counter == 0) && (remove == false)) { counter = 3; i = -1; while (i <= 1) { b++; duplicateMovieClip (this.a, b, b + 3); this[b]._y = Stage.height; this[b]._x = i * 15; this[b].s = ((i == -1) ? 1 : 2); if (b == maxn) { remove = true; } i = i + 2; } } } }Symbol 178 MovieClip Frame 2onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 178 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Instance of Symbol 181 MovieClip "a" in Symbol 182 MovieClip Frame 1onClipEvent (load) { str = "0x" + _parent["color" + Math.round(1 + (Math.random() * (_parent.num - 1)))]; new Color(this).setRGB(str); dist = Math.random() * 100; angle = Math.random() * 360; _rotation = angle; speed = dist / 10; goX = Math.sin((angle * Math.PI) / 180); goY = -Math.cos((angle * Math.PI) / 180); } onClipEvent (enterFrame) { if (_visible == true) { speed = speed - 0.15; _alpha = ((speed / dist) * 1000); _x = (_x + (goX * speed)); _y = (_y + (goY * speed)); if (speed <= 0) { _parent.counter++; if (_parent.counter == 300) { removeMovieClip(_parent); } removeMovieClip(this); } } }Symbol 183 Buttonon (press) { i = 1; while (i <= _root.depthcou) { removeMovieClip(_root.t[i]); i++; } _root.t.nextFrame(); }Symbol 198 MovieClip Frame 1stop();Instance of Symbol 182 MovieClip "fire" in Symbol 198 MovieClip Frame 1onClipEvent (load) { ssetNum = 6; sset = Math.round(0.5 + (Math.random() * ssetNum)); num = 12; counter = 0; i = 1; while (i <= 300) { duplicateMovieClip (this.a, i, 2 + i); i++; } if (sset == 1) { main = "FF"; ext1 = "00"; ext2 = "33"; } else if (sset == 2) { main = "00"; ext1 = "00"; ext2 = "33"; } else if (sset == 3) { main = "00"; ext1 = "CC"; ext2 = "FF"; } else if (sset == 4) { main = "FF"; ext1 = "CC"; ext2 = "FF"; } else if (sset == 5) { main = "99"; ext1 = "CC"; ext2 = "FF"; } else if (sset == 6) { main = "FF"; ext1 = "66"; ext2 = "99"; } color1 = (main + "00") + ext1; color2 = (main + "33") + ext1; color3 = (main + "66") + ext1; color4 = (main + "99") + ext1; color5 = (main + "CC") + ext1; color6 = (main + "FF") + ext1; color7 = (main + "00") + ext2; color8 = (main + "33") + ext2; color9 = (main + "66") + ext2; color10 = (main + "99") + ext2; color11 = (main + "CC") + ext2; color12 = (main + "FF") + ext2; this.a._visible = false; }Symbol 198 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 198 MovieClip Frame 5onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 199 Buttonon (press) { i = 1; while (i <= _root.depthcou) { removeMovieClip(_root.t[i]); i++; } _root.depthcou = 0; _root.gotoAndStop(2); }Instance of Symbol 220 MovieClip in Symbol 221 MovieClip Frame 1onClipEvent (load) { gotoAndPlay(_root.selectFrame); } onClipEvent (enterFrame) { _root.selectFrame = _currentframe; }Instance of Symbol 222 MovieClip "grid" in Symbol 223 MovieClip Frame 1onClipEvent (load) { _parent._x = Math.round(_root._xmouse / 25) * 25; _parent._y = Math.round(_root._ymouse / 25) * 25; } onClipEvent (enterFrame) { _parent._x = Math.round(_root._xmouse / 25) * 25; _parent._y = Math.round(_root._ymouse / 25) * 25; }Instance of Symbol 227 MovieClip in Symbol 228 MovieClip Frame 1onClipEvent (load) { gotoAndPlay(Math.round(0.5 + (Math.random() * 15))); }Symbol 229 MovieClip Frame 1stop();Symbol 234 MovieClip Frame 1stop();Symbol 236 Buttonon (release) { if (_root.t.pol._visible == false) { _root.t.pol._visible = true; _root.t.grid.gotoAndStop(1); _root.t.pol._x = _root._xmouse; _root.t.pol._y = _root._ymouse; startDrag (_root.t.pol); Mouse.hide(); _root.drag = true; } }Symbol 237 Buttonon (release) { _quality = "HIGH"; i = 1; while (i <= _root.pole) { removeMovieClip(_root.t["p" + i]); i++; } _root.pole = 0; i = 1; while (i <= _root.ele) { removeMovieClip(_root.t[i]); i++; } _root.ele = 0; }Symbol 240 Buttonon (press) { _quality = "HIGH"; i = 1; while (i <= _root.pole) { removeMovieClip(_root.t["p" + i]); i++; } _root.pole = 0; i = 1; while (i <= _root.ele) { removeMovieClip(_root.t[i]); i++; } _root.ele = 0; _root.t.nextFrame(); }Symbol 269 MovieClip Frame 1stop();Instance of Symbol 223 MovieClip "grid" in Symbol 269 MovieClip Frame 1onClipEvent (load) { gotoAndStop (2); _quality = "HIGH"; i = 1; while (i <= _root.pole) { removeMovieClip(_parent["p" + i]); i++; } _root.pole = 0; i = 1; while (i <= _root.ele) { removeMovieClip(_parent[i]); i++; } _root.t.pol._visible = false; _root.ele = 0; }Instance of Symbol 229 MovieClip "elec" in Symbol 269 MovieClip Frame 1onClipEvent (load) { _visible = (_root.ele != 0); } on (release) { removeMovieClip(this); }Instance of Symbol 232 MovieClip "pol" in Symbol 269 MovieClip Frame 1onClipEvent (load) { if (_visible == true) { i = 1; while (i <= _root.pole) { _root.ele++; duplicateMovieClip (_parent.elec, _root.ele, 250 + _root.ele); _parent[_root.ele]._x = _x; _parent[_root.ele]._y = _y; diffX = _x - _root.t["p" + i]._x; diffY = _y - _root.t["p" + i]._y; _parent[_root.ele]._rotation = 180 - (Math.atan2(diffX, diffY) * 57.2957795130823); diffX = diffX * diffX; diffY = diffY * diffY; _parent[_root.ele].laser._height = Math.sqrt(diffX + diffY) * 2; i++; } } }Instance of Symbol 234 MovieClip in Symbol 269 MovieClip Frame 1on (release) { _visible = false; _parent.a1._visible = false; _parent.a2._visible = false; } on (rollOver) { gotoAndStop (2); } on (rollOut) { gotoAndStop (1); }Instance of Symbol 234 MovieClip "a1" in Symbol 269 MovieClip Frame 1onClipEvent (load) { new Color(this).setRGB(3355443); }Symbol 269 MovieClip Frame 2onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 269 MovieClip Frame 4onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 269 MovieClip Frame 8onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 270 Buttonon (press) { _quality = "HIGH"; _root.gotoAndStop(2); }Instance of Symbol 273 MovieClip "mtext" in Symbol 274 MovieClip Frame 1onClipEvent (load) { counter = 1 + (Math.random() * 4); this.t.text = chr(Math.round(Math.random() * 27) + 97); } onClipEvent (enterFrame) { counter--; if (counter <= 0) { counter = 1 + (Math.random() * 4); this.t.text = chr(Math.round(Math.random() * 27) + 97); } }Symbol 275 Buttonon (press) { getURL ("http://www.deviantart.com/download/2040700/mcode15.zip", "_blank"); }Symbol 276 Buttonon (press) { i = 1; while (i <= _root.t.initial.number) { removeMovieClip(_root.t[i]); i++; } _root.t.nextFrame(); }Symbol 291 MovieClip Frame 1stop();Instance of Symbol 274 MovieClip "initial" in Symbol 291 MovieClip Frame 1onClipEvent (load) { _visible = (_name != "initial"); if (_visible == true) { _x = (Math.random() * Stage.width); _y = -20; size = 3 + (Math.random() * 8); _width = (_width / size); _height = (_height / size); speed = (1 / size) * 10; } counter = 1; number = 0; len = (Math.random() * 10) + 5; i = 1; while (i <= len) { duplicateMovieClip (this.mtext, i, 1 + i); if (i == 1) { this[i]._x = 0; this[i]._y = -30; } else { this[i]._x = this[i - 1]._x; this[i]._y = this[i - 1]._y - 30; } i++; } } onClipEvent (enterFrame) { if (_visible == false) { counter--; if (counter == 0) { counter = 3; if (number > 250) { number = 0; } number++; duplicateMovieClip (this, number, 5 + number); _parent[number]._y = -20; } } else { if (_y > (Stage.height + _height)) { removeMovieClip(this); } _y = (_y + speed); } }Symbol 291 MovieClip Frame 2onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 291 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Instance of Symbol 300 MovieClip "s" in Symbol 301 MovieClip Frame 1onClipEvent (load) { gotoAndStop(_parent.sign + 1); if (_currentframe == 1) { new Color(this).setRGB(16711680); } }Symbol 302 MovieClip Frame 1stop();Instance of Symbol 300 MovieClip "sign" in Symbol 303 MovieClip Frame 1onClipEvent (load) { gotoAndStop(_parent.isPos + 1); if (_currentframe == 1) { new Color(this).setRGB(16711680); } }Instance of Symbol 300 MovieClip "sign" in Symbol 303 MovieClip Frame 2onClipEvent (load) { gotoAndStop(_parent.isPos + 1); new Color(this).setRGB(16777215); }Symbol 306 MovieClip Frame 52stop();Symbol 310 Buttonon (press) { i = 1; while (i <= _root.magcou) { removeMovieClip(_root.t[i]); i++; } _root.t.nextFrame(); }Symbol 311 Buttonon (press) { i = 1; while (i <= _root.magcou) { removeMovieClip(_root.t[i]); i++; } }Symbol 334 MovieClip Frame 1stop();Instance of Symbol 301 MovieClip "initial" in Symbol 334 MovieClip Frame 1onClipEvent (load) { weight = 1; var sign; if (sign == undefined) { _visible = false; sign = true; } ID = _root.magcou; } onClipEvent (enterFrame) { if (_name != "initial") { i = 1; while (i <= _root.magcou) { if (i != ID) { diffX = _x - _root.t[i]._x; diffY = _y - _root.t[i]._y; angle = 180 - ((Math.atan2(diffX, diffY) * 180) / Math.PI); diffX = diffX * diffX; diffY = diffY * diffY; dist = Math.sqrt(diffX + diffY); if (dist > ((_width + _root.t[i]._width) / 2)) { goX = Math.sin((angle / 180) * Math.PI); goY = Math.cos((angle / 180) * Math.PI); _x = (_x + ((((goX * (1 / dist)) * 500) * _root.t[i].weight) * ((_root.t[i].sign == sign) ? 1 : -1))); _y = (_y - ((((goY * (1 / dist)) * 500) * _root.t[i].weight) * ((_root.t[i].sign == sign) ? 1 : -1))); diffX = (Stage.width / 2) - _x; diffY = (Stage.height / 2) - _y; diffX = diffX * diffX; diffY = diffY * diffY; while ((diffX + diffY) > 38025) { _x = (_x - goX); _y = (_y + goY); diffX = (Stage.width / 2) - _x; diffY = (Stage.height / 2) - _y; diffX = diffX * diffX; diffY = diffY * diffY; } } } i++; } } } on (release) { if ((weight < 5) && (_name != "initial")) { weight++; _xscale = (_xscale + 25); _yscale = (_yscale + 25); } }Instance of Symbol 303 MovieClip in Symbol 334 MovieClip Frame 1onClipEvent (load) { gotoAndStop (1); isPos = true; } on (rollOver) { gotoAndStop (2); } on (rollOut) { gotoAndStop (1); } on (press) { gotoAndStop (3); } on (dragOut) { gotoAndStop (1); } on (release) { if (_root.t.initial._visible == false) { _root.t.initial.s.gotoAndStop(2); new Color(_root.t.initial.s).setRGB(8368894); _root.t.initial._visible = true; _root.t.initial._x = _root._xmouse; _root.t.initial._y = _root._ymouse; startDrag (_root.t.initial); Mouse.hide(); } }Instance of Symbol 303 MovieClip in Symbol 334 MovieClip Frame 1onClipEvent (load) { gotoAndStop (1); isPos = false; } on (rollOver) { gotoAndStop (2); } on (rollOut) { gotoAndStop (1); } on (press) { gotoAndStop (3); } on (dragOut) { gotoAndStop (1); } on (release) { if (_root.t.initial._visible == false) { _root.t.initial.s.gotoAndStop(1); new Color(_root.t.initial.s).setRGB(16711680); _root.t.initial._visible = true; _root.t.initial._x = _root._xmouse; _root.t.initial._y = _root._ymouse; startDrag (_root.t.initial); Mouse.hide(); } }Instance of Symbol 306 MovieClip "place" in Symbol 334 MovieClip Frame 1onClipEvent (load) { gotoAndStop (52); }Instance of Symbol 302 MovieClip in Symbol 334 MovieClip Frame 1on (release) { _visible = false; _parent.a1._visible = false; _parent.a2._visible = false; _parent.place._y = 0; } on (rollOver) { gotoAndStop (2); } on (rollOut) { gotoAndStop (1); }Symbol 334 MovieClip Frame 2onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 334 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 334 MovieClip Frame 4onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 334 MovieClip Frame 5onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Instance of Symbol 337 MovieClip in Symbol 338 MovieClip Frame 1onClipEvent (load) { _parent._y = _parent._y + 34.8; if (_parent._y > (Stage.height + (_height / 2))) { removeMovieClip(_parent); } }Instance of Symbol 338 MovieClip "leaf" in Symbol 339 MovieClip Frame 1onClipEvent (load) { _y = ((-_height) * 1.25); _x = (-100 + (Math.random() * Stage.width)); gotoAndPlay(Math.round(1 + (Math.random() * 20))); }Instance of Symbol 341 MovieClip in Symbol 342 MovieClip Frame 1onClipEvent (load) { _parent._y = _parent._y + 136.1; if (_parent._y > (Stage.height + (_height / 2))) { removeMovieClip(_parent); } }Instance of Symbol 342 MovieClip "leaf" in Symbol 343 MovieClip Frame 1onClipEvent (load) { _y = ((-_height) * 1.75); _x = (-100 + (Math.random() * Stage.width)); gotoAndPlay(Math.round(1 + (Math.random() * 20))); }Instance of Symbol 346 MovieClip in Symbol 347 MovieClip Frame 1onClipEvent (load) { _parent._y = _parent._y + 136.9; if (_parent._y > (Stage.height + (_height / 2))) { removeMovieClip(_parent); } }Instance of Symbol 347 MovieClip "leaf" in Symbol 348 MovieClip Frame 1onClipEvent (load) { _y = ((-_height) * 1.25); _x = (-100 + (Math.random() * Stage.width)); gotoAndPlay(Math.round(1 + (Math.random() * 20))); }Symbol 349 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/2308/81242_moon_wo_preloader.php", "_blank"); }Symbol 350 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/2308/81309_bubbles_wo_preloader.php", "_blank"); }Symbol 368 MovieClip Frame 1stop();Instance of Symbol 339 MovieClip "b3" in Symbol 368 MovieClip Frame 1onClipEvent (load) { _x = 0; _y = 0; counter = 1; number = 0; } onClipEvent (enterFrame) { counter--; if (counter == 0) { counter = 20; number++; duplicateMovieClip (this.leaf, number, 2 + number); } }Instance of Symbol 343 MovieClip "b2" in Symbol 368 MovieClip Frame 1onClipEvent (load) { _x = 0; _y = 0; counter = 1; number = 0; } onClipEvent (enterFrame) { counter--; if (counter == 0) { counter = 20; number++; duplicateMovieClip (this.leaf, number, 2 + number); } }Instance of Symbol 348 MovieClip "b1" in Symbol 368 MovieClip Frame 1onClipEvent (load) { _x = 0; _y = 0; counter = 1; number = 0; } onClipEvent (enterFrame) { counter--; if (counter == 0) { counter = 20; number++; duplicateMovieClip (this.leaf, number, 2 + number); } }Symbol 368 MovieClip Frame 2onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 368 MovieClip Frame 5onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 373 MovieClip Frame 1stop();Symbol 374 Buttonon (press) { if (_root.t.volcano.errupt == true) { _root.t.volcano.errupt = false; i = 1; while (i <= 170) { removeMovieClip(_root.t[i]); i++; } } _root.t.volcano.a = 2; }Symbol 375 Buttonon (press) { if (_root.t.volcano.errupt == true) { _root.t.volcano.errupt = false; i = 1; while (i <= 170) { removeMovieClip(_root.t[i]); i++; } } _root.t.volcano.a = 2; _root.t.nextFrame(); }Symbol 380 Buttonon (press) { _root.t.prevFrame(); _root.t.fire._visible = false; }Symbol 392 MovieClip Frame 1stop();Instance of Symbol 373 MovieClip "volcano" in Symbol 392 MovieClip Frame 1onClipEvent (load) { errupt = false; a = 2; initX = _x; initY = _y; } onClipEvent (enterFrame) { if (errupt == false) { _x = ((initX - (a / 2)) + (Math.random() * a)); _y = ((initY - (a / 2)) + (Math.random() * a)); a = a + 0.25; if (a >= 16) { errupt = true; gotoAndPlay (2); _x = initX; _y = initY; i = 1; while (i <= 170) { duplicateMovieClip (_root.t.fire, i, i + 100); _root.t[i]._x = _x; _root.t[i]._y = _y; i++; } } } }Instance of Symbol 372 MovieClip "fire" in Symbol 392 MovieClip Frame 1onClipEvent (load) { asize = 0.5 + Math.random(); _width = (_width / asize); _height = (_height / asize); grav = Math.random() * 50; speed = Math.random() * 50; angle = -90 + (Math.random() * 180); goX = (-Math.sin((angle / 180) * Math.PI)) * speed; goY = -Math.cos((angle / 180) * Math.PI); } onClipEvent (enterFrame) { _x = (_x + goX); _y = (_y + (goY * grav)); grav--; if ((((_x - _width) < 0) || ((_x + _width) > Stage.width)) || ((_y + _height) > Stage.height)) { removeMovieClip(this); } }Symbol 392 MovieClip Frame 2onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 392 MovieClip Frame 3onEnterFrame = function () { if (Key.isDown(38)) { te.t._y++; } else if (Key.isDown(40)) { te.t._y--; } };Symbol 393 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/070908/66604_ionregular.fla", "_blank"); }Symbol 394 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/030908/76862_electricity.fla", "_blank"); }Symbol 395 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/070908/48381_dna.fla", "_blank"); }Symbol 396 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/060908/37992_fireworks.fla", "_blank"); }Symbol 397 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/060908/43518_lightning_poles.fla", "_blank"); }Symbol 399 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/140908/59818_matrix8.fla", "_blank"); }Symbol 400 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/190908/50198_electron-proton.fla", "_blank"); }Symbol 401 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/070908/38281_falling_leaves_wo_preloader.fla", "_blank"); }Symbol 402 Buttonon (press) { getURL ("http://spamtheweb.com/ul/upload/070908/54283_volcano.fla", "_blank"); }
Library Items
Symbol 1 Sound [s1] | ||
Symbol 2 Sound [s2] | Used by:49 | |
Symbol 3 Font | Used by:4 5 61 107 398 | |
Symbol 4 Text | Uses:3 | Used by:Timeline |
Symbol 5 Text | Uses:3 | Used by:Timeline |
Symbol 6 Graphic | Used by:19 | |
Symbol 7 Graphic | Used by:11 | |
Symbol 8 Graphic | Used by:11 | |
Symbol 9 Graphic | Used by:11 | |
Symbol 10 Graphic | Used by:11 227 | |
Symbol 11 Button | Uses:7 8 9 10 | Used by:19 |
Symbol 12 Graphic | Used by:19 | |
Symbol 13 Graphic | Used by:19 | |
Symbol 14 Graphic | Used by:18 | |
Symbol 15 Graphic | Used by:17 | |
Symbol 16 Graphic | Used by:17 | |
Symbol 17 Button | Uses:15 16 | Used by:18 |
Symbol 18 MovieClip | Uses:14 17 | Used by:19 |
Symbol 19 MovieClip | Uses:6 11 12 13 18 | Used by:Timeline |
Symbol 20 Graphic | Used by:21 | |
Symbol 21 MovieClip | Uses:20 | Used by:29 |
Symbol 22 Graphic | Used by:23 40 | |
Symbol 23 MovieClip | Uses:22 | Used by:29 |
Symbol 24 Graphic | Used by:26 28 | |
Symbol 25 Graphic | Used by:28 | |
Symbol 26 MovieClip | Uses:24 | Used by:28 |
Symbol 27 Graphic | Used by:28 47 49 50 51 52 53 54 55 56 57 58 59 60 393 394 395 396 397 399 400 401 402 | |
Symbol 28 MovieClip | Uses:24 25 26 27 | Used by:29 |
Symbol 29 MovieClip | Uses:21 23 28 | Used by:37 |
Symbol 30 Graphic | Used by:37 | |
Symbol 31 Graphic | Used by:32 | |
Symbol 32 MovieClip | Uses:31 | Used by:37 |
Symbol 33 Font | Used by:34 36 | |
Symbol 34 EditableText | Uses:33 | Used by:37 |
Symbol 35 MovieClip | Used by:37 | |
Symbol 36 EditableText | Uses:33 | Used by:37 |
Symbol 37 MovieClip | Uses:29 30 32 34 35 36 | Used by:Timeline |
Symbol 403 MovieClip [__Packages.NewgroundsAPI] | ||
Symbol 38 Graphic | Used by:39 | |
Symbol 39 MovieClip | Uses:38 | Used by:Timeline |
Symbol 40 MovieClip | Uses:22 | Used by:Timeline |
Symbol 41 Graphic | Used by:42 51 52 53 54 55 56 57 58 59 60 393 394 395 396 397 399 400 401 402 | |
Symbol 42 MovieClip | Uses:41 | Used by:47 49 50 |
Symbol 43 Font | Used by:44 | |
Symbol 44 EditableText | Uses:43 | Used by:45 51 52 53 54 55 56 57 58 59 60 393 394 395 396 397 399 400 401 402 |
Symbol 45 MovieClip | Uses:44 | Used by:46 |
Symbol 46 MovieClip | Uses:45 | Used by:47 49 50 |
Symbol 47 MovieClip | Uses:42 27 46 | Used by:51 52 53 54 55 56 57 58 59 60 393 394 395 396 397 399 400 401 402 |
Symbol 48 Graphic | Used by:49 | |
Symbol 49 MovieClip | Uses:48 27 46 2 42 | Used by:51 52 53 54 55 56 57 58 59 60 393 394 395 396 397 399 400 401 402 |
Symbol 50 MovieClip | Uses:27 42 46 | Used by:51 52 53 54 55 56 57 58 59 60 393 394 395 396 397 399 400 401 402 |
Symbol 51 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 52 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 53 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 54 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 55 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 56 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 57 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 58 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 59 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 60 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 61 Text | Uses:3 | Used by:Timeline |
Symbol 62 Graphic | Used by:63 | |
Symbol 63 MovieClip | Uses:62 | Used by:64 74 |
Symbol 64 MovieClip | Uses:63 | Used by:Timeline |
Symbol 65 Graphic | Used by:73 | |
Symbol 66 Graphic | Used by:67 | |
Symbol 67 MovieClip | Uses:66 | Used by:70 |
Symbol 68 Graphic | Used by:69 | |
Symbol 69 MovieClip | Uses:68 | Used by:70 |
Symbol 70 MovieClip | Uses:67 69 | Used by:73 |
Symbol 71 Graphic | Used by:72 | |
Symbol 72 MovieClip | Uses:71 | Used by:73 |
Symbol 73 MovieClip | Uses:65 70 72 | Used by:Timeline |
Symbol 74 MovieClip | Uses:63 | Used by:135 |
Symbol 75 Graphic | Used by:76 84 86 | |
Symbol 76 MovieClip | Uses:75 | Used by:80 84 86 |
Symbol 77 Graphic | Used by:80 236 237 303 311 374 | |
Symbol 78 Font | Used by:79 82 85 87 88 89 96 100 114 115 117 120 123 124 125 126 127 128 129 130 131 132 133 134 141 142 143 144 145 146 149 150 151 152 153 154 161 164 165 168 169 172 173 174 184 185 188 189 190 193 194 195 196 238 241 242 245 246 249 250 251 252 253 254 257 258 259 260 261 262 277 278 281 282 290 308 312 314 315 318 319 322 323 326 327 330 331 351 354 356 357 358 359 360 363 364 365 376 377 381 382 385 386 387 390 391 | |
Symbol 79 Text | Uses:78 | Used by:80 237 311 374 |
Symbol 80 MovieClip | Uses:76 77 79 | Used by:135 |
Symbol 81 Graphic | Used by:84 86 | |
Symbol 82 Text | Uses:78 | Used by:83 84 |
Symbol 83 MovieClip | Uses:82 | Used by:84 |
Symbol 84 Button | Uses:76 81 83 75 82 | Used by:135 |
Symbol 85 Text | Uses:78 | Used by:86 |
Symbol 86 Button | Uses:76 81 85 75 | Used by:135 |
Symbol 87 Text | Uses:78 | Used by:135 |
Symbol 88 EditableText | Uses:78 | Used by:135 |
Symbol 89 Text | Uses:78 | Used by:90 |
Symbol 90 MovieClip | Uses:89 | Used by:135 |
Symbol 91 Graphic | Used by:92 95 116 163 183 240 276 310 375 380 | |
Symbol 92 MovieClip | Uses:91 | Used by:95 116 163 183 240 276 310 375 380 |
Symbol 93 Graphic | Used by:95 116 163 183 240 276 310 375 380 | |
Symbol 94 Graphic | Used by:95 116 163 183 240 276 310 375 380 | |
Symbol 95 Button | Uses:92 93 94 91 | Used by:135 156 178 198 269 291 334 368 392 |
Symbol 96 Text | Uses:78 | Used by:135 |
Symbol 97 Graphic | Used by:99 | |
Symbol 98 Graphic | Used by:99 234 302 | |
Symbol 99 MovieClip | Uses:97 98 | Used by:135 |
Symbol 100 Text | Uses:78 | Used by:135 |
Symbol 101 Graphic | Used by:102 113 136 162 199 270 275 349 350 | |
Symbol 102 MovieClip | Uses:101 | Used by:113 136 162 199 270 275 349 350 |
Symbol 103 Graphic | Used by:104 113 136 162 199 270 275 349 350 | |
Symbol 104 MovieClip | Uses:103 | Used by:113 136 162 199 270 275 349 350 |
Symbol 105 Graphic | Used by:109 111 113 136 162 199 270 275 349 350 | |
Symbol 106 Graphic | Used by:109 | |
Symbol 107 EditableText | Uses:3 | Used by:108 113 136 162 199 270 275 349 350 |
Symbol 108 MovieClip | Uses:107 | Used by:109 111 113 136 162 199 270 275 349 350 |
Symbol 109 MovieClip | Uses:105 106 108 | Used by:113 136 162 199 270 275 349 350 |
Symbol 110 Graphic | Used by:111 | |
Symbol 111 MovieClip | Uses:105 110 108 | Used by:113 136 162 199 270 275 349 350 |
Symbol 112 Graphic | Used by:113 136 162 199 270 275 349 350 | |
Symbol 113 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:135 |
Symbol 114 Text | Uses:78 | Used by:135 |
Symbol 115 EditableText | Uses:78 289 313 | Used by:135 |
Symbol 116 Button | Uses:92 93 94 91 | Used by:135 156 178 198 269 291 334 368 392 |
Symbol 117 Text | Uses:78 | Used by:135 |
Symbol 118 Graphic | Used by:119 | |
Symbol 119 MovieClip | Uses:118 | Used by:122 148 167 171 187 192 244 248 256 280 284 317 321 325 329 362 379 384 |
Symbol 120 EditableText | Uses:78 289 313 | Used by:121 |
Symbol 121 MovieClip | Uses:120 | Used by:122 |
Symbol 122 MovieClip | Uses:119 121 | Used by:135 |
Symbol 123 Text | Uses:78 | Used by:135 |
Symbol 124 EditableText | Uses:78 289 313 | Used by:135 |
Symbol 125 Text | Uses:78 | Used by:135 |
Symbol 126 EditableText | Uses:78 289 313 | Used by:135 |
Symbol 127 Text | Uses:78 | Used by:135 |
Symbol 128 EditableText | Uses:78 289 313 | Used by:135 |
Symbol 129 Text | Uses:78 | Used by:135 |
Symbol 130 EditableText | Uses:78 289 313 | Used by:135 |
Symbol 131 Text | Uses:78 | Used by:135 |
Symbol 132 EditableText | Uses:78 289 313 | Used by:135 |
Symbol 133 Text | Uses:78 | Used by:135 |
Symbol 134 Text | Uses:78 | Used by:135 155 |
Symbol 135 MovieClip | Uses:74 80 84 86 87 88 90 95 96 99 100 113 114 115 116 117 122 123 124 125 126 127 128 129 130 131 132 133 134 | Used by:Timeline |
Symbol 136 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:Timeline |
Symbol 137 Graphic | Used by:156 | |
Symbol 138 Graphic | Used by:139 | |
Symbol 139 MovieClip | Uses:138 | Used by:140 |
Symbol 140 MovieClip | Uses:139 | Used by:156 |
Symbol 141 Text | Uses:78 | Used by:156 178 198 269 291 334 368 392 |
Symbol 142 Text | Uses:78 | Used by:156 |
Symbol 143 Text | Uses:78 | Used by:156 |
Symbol 144 EditableText | Uses:78 289 313 | Used by:156 |
Symbol 145 Text | Uses:78 | Used by:156 |
Symbol 146 EditableText | Uses:78 289 313 | Used by:147 |
Symbol 147 MovieClip | Uses:146 | Used by:148 |
Symbol 148 MovieClip | Uses:119 147 | Used by:156 |
Symbol 149 Text | Uses:78 | Used by:156 |
Symbol 150 Text | Uses:78 | Used by:155 177 197 |
Symbol 151 Text | Uses:78 | Used by:155 |
Symbol 152 Text | Uses:78 | Used by:155 |
Symbol 153 Text | Uses:78 | Used by:155 |
Symbol 154 Text | Uses:78 | Used by:155 |
Symbol 155 MovieClip | Uses:150 151 134 152 153 154 | Used by:156 |
Symbol 156 MovieClip | Uses:137 140 95 141 142 116 143 144 145 148 149 155 | Used by:Timeline |
Symbol 157 Graphic | Used by:158 | |
Symbol 158 MovieClip | Uses:157 | Used by:159 |
Symbol 159 MovieClip | Uses:158 | Used by:160 |
Symbol 160 MovieClip | Uses:159 | Used by:178 |
Symbol 161 Text | Uses:78 | Used by:178 368 |
Symbol 162 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:178 |
Symbol 163 Button | Uses:92 93 94 91 | Used by:178 |
Symbol 164 Text | Uses:78 | Used by:178 |
Symbol 165 EditableText | Uses:78 289 313 | Used by:166 |
Symbol 166 MovieClip | Uses:165 | Used by:167 |
Symbol 167 MovieClip | Uses:119 166 | Used by:178 |
Symbol 168 Text | Uses:78 | Used by:178 |
Symbol 169 EditableText | Uses:78 289 313 | Used by:170 |
Symbol 170 MovieClip | Uses:169 | Used by:171 |
Symbol 171 MovieClip | Uses:119 170 | Used by:178 |
Symbol 172 Text | Uses:78 | Used by:178 |
Symbol 173 EditableText | Uses:78 289 313 | Used by:178 |
Symbol 174 Text | Uses:78 | Used by:178 |
Symbol 175 Bitmap | Used by:176 | |
Symbol 176 Graphic | Uses:175 | Used by:177 |
Symbol 177 MovieClip | Uses:176 150 | Used by:178 |
Symbol 178 MovieClip | Uses:160 161 162 163 141 164 167 95 116 168 171 172 173 174 177 | Used by:Timeline |
Symbol 179 Graphic | Used by:180 | |
Symbol 180 MovieClip | Uses:179 | Used by:181 |
Symbol 181 MovieClip | Uses:180 | Used by:182 |
Symbol 182 MovieClip | Uses:181 | Used by:198 |
Symbol 183 Button | Uses:92 93 94 91 | Used by:198 |
Symbol 184 Text | Uses:78 | Used by:198 |
Symbol 185 EditableText | Uses:78 289 313 | Used by:186 |
Symbol 186 MovieClip | Uses:185 | Used by:187 |
Symbol 187 MovieClip | Uses:119 186 | Used by:198 |
Symbol 188 Text | Uses:78 | Used by:198 |
Symbol 189 Text | Uses:78 | Used by:198 |
Symbol 190 EditableText | Uses:78 289 313 | Used by:191 |
Symbol 191 MovieClip | Uses:190 | Used by:192 |
Symbol 192 MovieClip | Uses:119 191 | Used by:198 |
Symbol 193 Text | Uses:78 | Used by:198 |
Symbol 194 Text | Uses:78 | Used by:198 |
Symbol 195 Text | Uses:78 | Used by:198 |
Symbol 196 Text | Uses:78 | Used by:197 |
Symbol 197 MovieClip | Uses:150 196 | Used by:198 |
Symbol 198 MovieClip | Uses:182 183 141 184 95 116 187 188 189 192 193 194 195 197 | Used by:Timeline |
Symbol 199 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:Timeline |
Symbol 200 Graphic | Used by:269 | |
Symbol 201 Graphic | Used by:220 | |
Symbol 202 Graphic | Used by:220 | |
Symbol 203 ShapeTweening | Used by:220 | |
Symbol 204 ShapeTweening | Used by:220 | |
Symbol 205 ShapeTweening | Used by:220 | |
Symbol 206 ShapeTweening | Used by:220 | |
Symbol 207 ShapeTweening | Used by:220 | |
Symbol 208 ShapeTweening | Used by:220 | |
Symbol 209 ShapeTweening | Used by:220 | |
Symbol 210 ShapeTweening | Used by:220 | |
Symbol 211 ShapeTweening | Used by:220 | |
Symbol 212 ShapeTweening | Used by:220 | |
Symbol 213 ShapeTweening | Used by:220 | |
Symbol 214 ShapeTweening | Used by:220 | |
Symbol 215 ShapeTweening | Used by:220 | |
Symbol 216 ShapeTweening | Used by:220 | |
Symbol 217 ShapeTweening | Used by:220 | |
Symbol 218 ShapeTweening | Used by:220 | |
Symbol 219 Graphic | Used by:220 | |
Symbol 220 MovieClip | Uses:201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | Used by:221 |
Symbol 221 MovieClip | Uses:220 | Used by:222 |
Symbol 222 MovieClip | Uses:221 | Used by:223 |
Symbol 223 MovieClip | Uses:222 | Used by:269 |
Symbol 224 Graphic | Used by:227 | |
Symbol 225 Graphic | Used by:226 | |
Symbol 226 MovieClip | Uses:225 | Used by:227 |
Symbol 227 MovieClip | Uses:10 224 226 | Used by:228 |
Symbol 228 MovieClip | Uses:227 | Used by:229 |
Symbol 229 MovieClip | Uses:228 | Used by:269 |
Symbol 230 Graphic | Used by:231 236 | |
Symbol 231 MovieClip | Uses:230 | Used by:232 |
Symbol 232 MovieClip | Uses:231 | Used by:236 269 |
Symbol 233 Graphic | Used by:234 236 237 302 311 374 | |
Symbol 234 MovieClip | Uses:233 98 | Used by:236 237 269 311 374 |
Symbol 235 Graphic | Used by:236 237 303 311 374 | |
Symbol 236 Button | Uses:234 235 232 77 233 230 | Used by:269 |
Symbol 237 Button | Uses:234 235 79 77 233 | Used by:269 |
Symbol 238 Text | Uses:78 | Used by:239 |
Symbol 239 MovieClip | Uses:238 | Used by:269 |
Symbol 240 Button | Uses:92 93 94 91 | Used by:269 |
Symbol 241 Text | Uses:78 | Used by:269 |
Symbol 242 EditableText | Uses:78 289 313 | Used by:243 |
Symbol 243 MovieClip | Uses:242 | Used by:244 |
Symbol 244 MovieClip | Uses:119 243 | Used by:269 |
Symbol 245 Text | Uses:78 | Used by:269 |
Symbol 246 EditableText | Uses:78 289 313 | Used by:247 |
Symbol 247 MovieClip | Uses:246 | Used by:248 |
Symbol 248 MovieClip | Uses:119 247 | Used by:269 |
Symbol 249 Text | Uses:78 | Used by:269 |
Symbol 250 Text | Uses:78 | Used by:269 |
Symbol 251 EditableText | Uses:78 289 313 | Used by:269 |
Symbol 252 Text | Uses:78 | Used by:269 |
Symbol 253 Text | Uses:78 | Used by:269 |
Symbol 254 EditableText | Uses:78 289 313 | Used by:255 |
Symbol 255 MovieClip | Uses:254 | Used by:256 |
Symbol 256 MovieClip | Uses:119 255 | Used by:269 |
Symbol 257 Text | Uses:78 | Used by:269 |
Symbol 258 Text | Uses:78 | Used by:269 |
Symbol 259 EditableText | Uses:78 289 313 | Used by:269 |
Symbol 260 Text | Uses:78 | Used by:269 |
Symbol 261 EditableText | Uses:78 289 313 | Used by:269 |
Symbol 262 Text | Uses:78 | Used by:269 |
Symbol 263 Graphic | Used by:268 | |
Symbol 264 Graphic | Used by:268 | |
Symbol 265 Graphic | Used by:268 | |
Symbol 266 Graphic | Used by:268 | |
Symbol 267 Graphic | Used by:268 | |
Symbol 268 MovieClip | Uses:263 264 265 266 267 | Used by:269 |
Symbol 269 MovieClip | Uses:200 223 229 232 236 237 234 239 240 141 241 244 95 116 245 248 249 250 251 252 253 256 257 258 259 260 261 262 268 | Used by:Timeline |
Symbol 270 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:Timeline |
Symbol 271 Font | Used by:272 | |
Symbol 272 EditableText | Uses:271 | Used by:273 |
Symbol 273 MovieClip | Uses:272 | Used by:274 |
Symbol 274 MovieClip | Uses:273 | Used by:291 |
Symbol 275 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:291 |
Symbol 276 Button | Uses:92 93 94 91 | Used by:291 |
Symbol 277 Text | Uses:78 | Used by:291 |
Symbol 278 EditableText | Uses:78 289 313 | Used by:279 |
Symbol 279 MovieClip | Uses:278 | Used by:280 |
Symbol 280 MovieClip | Uses:119 279 | Used by:291 |
Symbol 281 Text | Uses:78 | Used by:291 |
Symbol 282 EditableText | Uses:78 289 313 | Used by:283 |
Symbol 283 MovieClip | Uses:282 | Used by:284 |
Symbol 284 MovieClip | Uses:119 283 | Used by:291 |
Symbol 285 Bitmap | Used by:286 | |
Symbol 286 Graphic | Uses:285 | Used by:291 |
Symbol 287 Graphic | Used by:288 | |
Symbol 288 MovieClip | Uses:287 | Used by:291 334 392 |
Symbol 289 Font | Used by:115 120 124 126 128 130 132 144 146 165 169 173 185 190 242 246 251 254 259 261 278 282 290 314 315 319 323 327 357 359 360 364 377 382 | |
Symbol 290 Text | Uses:78 289 | Used by:291 |
Symbol 291 MovieClip | Uses:274 275 276 141 277 280 95 116 281 284 286 288 290 | Used by:Timeline |
Symbol 292 Graphic | Used by:293 | |
Symbol 293 MovieClip | Uses:292 | Used by:334 |
Symbol 294 Graphic | Used by:295 | |
Symbol 295 MovieClip | Uses:294 | Used by:301 |
Symbol 296 Graphic | Used by:297 | |
Symbol 297 MovieClip | Uses:296 | Used by:300 |
Symbol 298 Graphic | Used by:299 | |
Symbol 299 MovieClip | Uses:298 | Used by:300 |
Symbol 300 MovieClip | Uses:297 299 | Used by:301 303 |
Symbol 301 MovieClip | Uses:295 300 | Used by:334 |
Symbol 302 MovieClip | Uses:233 98 | Used by:303 334 |
Symbol 303 MovieClip | Uses:302 235 300 77 | Used by:334 |
Symbol 304 Font | Used by:305 | |
Symbol 305 Text | Uses:304 | Used by:306 |
Symbol 306 MovieClip | Uses:305 | Used by:334 |
Symbol 307 Graphic | Used by:309 | |
Symbol 308 Text | Uses:78 | Used by:309 |
Symbol 309 MovieClip | Uses:307 308 | Used by:334 |
Symbol 310 Button | Uses:92 93 94 91 | Used by:334 |
Symbol 311 Button | Uses:234 235 79 77 233 | Used by:334 |
Symbol 312 Text | Uses:78 | Used by:334 |
Symbol 313 Font | Used by:115 120 124 126 128 130 132 144 146 165 169 173 185 190 242 246 251 254 259 261 278 282 314 315 319 323 327 357 359 360 364 377 382 | |
Symbol 314 EditableText | Uses:78 289 313 | Used by:334 |
Symbol 315 EditableText | Uses:78 289 313 | Used by:316 |
Symbol 316 MovieClip | Uses:315 | Used by:317 |
Symbol 317 MovieClip | Uses:119 316 | Used by:334 |
Symbol 318 Text | Uses:78 | Used by:334 |
Symbol 319 EditableText | Uses:78 289 313 | Used by:320 |
Symbol 320 MovieClip | Uses:319 | Used by:321 |
Symbol 321 MovieClip | Uses:119 320 | Used by:334 |
Symbol 322 Text | Uses:78 | Used by:334 |
Symbol 323 EditableText | Uses:78 289 313 | Used by:324 |
Symbol 324 MovieClip | Uses:323 | Used by:325 |
Symbol 325 MovieClip | Uses:119 324 | Used by:334 |
Symbol 326 Text | Uses:78 | Used by:334 |
Symbol 327 EditableText | Uses:78 289 313 | Used by:328 |
Symbol 328 MovieClip | Uses:327 | Used by:329 |
Symbol 329 MovieClip | Uses:119 328 | Used by:334 |
Symbol 330 Text | Uses:78 | Used by:334 |
Symbol 331 Text | Uses:78 | Used by:334 |
Symbol 332 Bitmap | Used by:333 | |
Symbol 333 Graphic | Uses:332 | Used by:334 |
Symbol 334 MovieClip | Uses:293 301 303 306 309 302 310 141 311 312 314 317 95 116 318 321 322 325 326 329 330 288 331 333 | Used by:Timeline |
Symbol 335 Graphic | Used by:368 | |
Symbol 336 Graphic | Used by:337 | |
Symbol 337 MovieClip | Uses:336 | Used by:338 |
Symbol 338 MovieClip | Uses:337 | Used by:339 |
Symbol 339 MovieClip | Uses:338 | Used by:368 |
Symbol 340 Graphic | Used by:341 | |
Symbol 341 MovieClip | Uses:340 | Used by:342 |
Symbol 342 MovieClip | Uses:341 | Used by:343 |
Symbol 343 MovieClip | Uses:342 | Used by:368 |
Symbol 344 Graphic | Used by:345 | |
Symbol 345 MovieClip | Uses:344 | Used by:346 |
Symbol 346 MovieClip | Uses:345 | Used by:347 |
Symbol 347 MovieClip | Uses:346 | Used by:348 |
Symbol 348 MovieClip | Uses:347 | Used by:368 |
Symbol 349 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:368 |
Symbol 350 Button | Uses:102 104 109 111 105 112 108 101 103 107 | Used by:368 |
Symbol 351 Text | Uses:78 | Used by:368 |
Symbol 352 Bitmap | Used by:353 | |
Symbol 353 Graphic | Uses:352 | Used by:368 |
Symbol 354 Text | Uses:78 | Used by:368 |
Symbol 355 Graphic | Used by:368 | |
Symbol 356 Text | Uses:78 | Used by:368 |
Symbol 357 EditableText | Uses:78 289 313 | Used by:368 |
Symbol 358 Text | Uses:78 | Used by:368 |
Symbol 359 EditableText | Uses:78 289 313 | Used by:368 |
Symbol 360 EditableText | Uses:78 289 313 | Used by:361 |
Symbol 361 MovieClip | Uses:360 | Used by:362 |
Symbol 362 MovieClip | Uses:119 361 | Used by:368 |
Symbol 363 Text | Uses:78 | Used by:368 |
Symbol 364 EditableText | Uses:78 289 313 | Used by:368 |
Symbol 365 Text | Uses:78 | Used by:368 |
Symbol 366 Bitmap | Used by:367 | |
Symbol 367 Graphic | Uses:366 | Used by:368 |
Symbol 368 MovieClip | Uses:335 339 343 348 95 141 161 349 350 351 353 116 354 355 356 357 358 359 362 363 364 365 367 | Used by:Timeline |
Symbol 369 Graphic | Used by:392 | |
Symbol 370 Graphic | Used by:373 | |
Symbol 371 Graphic | Used by:372 | |
Symbol 372 MovieClip | Uses:371 | Used by:373 392 |
Symbol 373 MovieClip | Uses:370 372 | Used by:392 |
Symbol 374 Button | Uses:234 235 79 77 233 | Used by:392 |
Symbol 375 Button | Uses:92 93 94 91 | Used by:392 |
Symbol 376 Text | Uses:78 | Used by:392 |
Symbol 377 EditableText | Uses:78 289 313 | Used by:378 |
Symbol 378 MovieClip | Uses:377 | Used by:379 |
Symbol 379 MovieClip | Uses:119 378 | Used by:392 |
Symbol 380 Button | Uses:92 93 94 91 | Used by:392 |
Symbol 381 Text | Uses:78 | Used by:392 |
Symbol 382 EditableText | Uses:78 289 313 | Used by:383 |
Symbol 383 MovieClip | Uses:382 | Used by:384 |
Symbol 384 MovieClip | Uses:119 383 | Used by:392 |
Symbol 385 Text | Uses:78 | Used by:392 |
Symbol 386 Text | Uses:78 | Used by:392 |
Symbol 387 Text | Uses:78 | Used by:392 |
Symbol 388 Bitmap | Used by:389 | |
Symbol 389 Graphic | Uses:388 | Used by:392 |
Symbol 390 Text | Uses:78 | Used by:392 |
Symbol 391 Text | Uses:78 | Used by:392 |
Symbol 392 MovieClip | Uses:369 373 372 374 375 141 376 379 95 380 381 384 385 386 387 389 116 288 390 391 | Used by:Timeline |
Symbol 393 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 394 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 395 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 396 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 397 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 398 Text | Uses:3 | Used by:Timeline |
Symbol 399 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 400 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 401 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Symbol 402 Button | Uses:47 49 50 27 41 44 | Used by:Timeline |
Instance Names
"1" | Frame 2 | Symbol 51 Button |
"2" | Frame 2 | Symbol 52 Button |
"3" | Frame 2 | Symbol 53 Button |
"4" | Frame 2 | Symbol 54 Button |
"5" | Frame 2 | Symbol 55 Button |
"6" | Frame 2 | Symbol 56 Button |
"7" | Frame 2 | Symbol 57 Button |
"8" | Frame 2 | Symbol 58 Button |
"9" | Frame 2 | Symbol 59 Button |
"10" | Frame 2 | Symbol 60 Button |
"t" | Frame 3 | Symbol 135 MovieClip |
"back" | Frame 3 | Symbol 136 Button |
"t" | Frame 4 | Symbol 156 MovieClip |
"t" | Frame 5 | Symbol 178 MovieClip |
"t" | Frame 6 | Symbol 198 MovieClip |
"back" | Frame 6 | Symbol 199 Button |
"t" | Frame 7 | Symbol 269 MovieClip |
"back" | Frame 7 | Symbol 270 Button |
"t" | Frame 8 | Symbol 291 MovieClip |
"t" | Frame 9 | Symbol 334 MovieClip |
"t" | Frame 10 | Symbol 368 MovieClip |
"t" | Frame 11 | Symbol 392 MovieClip |
"1" | Frame 12 | Symbol 393 Button |
"2" | Frame 12 | Symbol 394 Button |
"3" | Frame 12 | Symbol 395 Button |
"4" | Frame 12 | Symbol 396 Button |
"5" | Frame 12 | Symbol 397 Button |
"6" | Frame 12 | Symbol 399 Button |
"7" | Frame 12 | Symbol 400 Button |
"8" | Frame 12 | Symbol 401 Button |
"9" | Frame 12 | Symbol 402 Button |
"back" | Frame 12 | Symbol 136 Button |
"ng_ad" | Symbol 19 MovieClip Frame 1 | Symbol 18 MovieClip |
"fill_MC" | Symbol 37 MovieClip Frame 1 | Symbol 32 MovieClip |
"precentInst" | Symbol 37 MovieClip Frame 1 | Symbol 34 EditableText |
"fill_MC" | Symbol 37 MovieClip Frame 1 | Symbol 35 MovieClip |
"textInst" | Symbol 37 MovieClip Frame 1 | Symbol 36 EditableText |
"t" | Symbol 45 MovieClip Frame 1 | Symbol 44 EditableText |
"link_mc" | Symbol 47 MovieClip Frame 1 | Symbol 46 MovieClip |
"link_mc" | Symbol 49 MovieClip Frame 1 | Symbol 46 MovieClip |
"link_mc" | Symbol 50 MovieClip Frame 1 | Symbol 46 MovieClip |
"abc" | Symbol 64 MovieClip Frame 1 | Symbol 63 MovieClip |
"roll" | Symbol 73 MovieClip Frame 1 | Symbol 70 MovieClip |
"abc" | Symbol 74 MovieClip Frame 1 | Symbol 63 MovieClip |
"t" | Symbol 108 MovieClip Frame 1 | Symbol 107 EditableText |
"link_mc" | Symbol 109 MovieClip Frame 1 | Symbol 108 MovieClip |
"link_mc" | Symbol 111 MovieClip Frame 1 | Symbol 108 MovieClip |
"t" | Symbol 122 MovieClip Frame 1 | Symbol 121 MovieClip |
"ball" | Symbol 135 MovieClip Frame 1 | Symbol 74 MovieClip |
"tdhjjhj" | Symbol 135 MovieClip Frame 1 | Symbol 84 Button |
"ct" | Symbol 135 MovieClip Frame 1 | Symbol 88 EditableText |
"a2" | Symbol 135 MovieClip Frame 1 | Symbol 90 MovieClip |
"a1" | Symbol 135 MovieClip Frame 1 | Symbol 99 MovieClip |
"Alt" | Symbol 135 MovieClip Frame 1 | Symbol 113 Button |
"te" | Symbol 135 MovieClip Frame 3 | Symbol 122 MovieClip |
"laser" | Symbol 140 MovieClip Frame 1 | Symbol 139 MovieClip |
"t" | Symbol 148 MovieClip Frame 1 | Symbol 147 MovieClip |
"te" | Symbol 156 MovieClip Frame 3 | Symbol 148 MovieClip |
"a" | Symbol 160 MovieClip Frame 1 | Symbol 159 MovieClip |
"t" | Symbol 167 MovieClip Frame 1 | Symbol 166 MovieClip |
"t" | Symbol 171 MovieClip Frame 1 | Symbol 170 MovieClip |
"orig" | Symbol 178 MovieClip Frame 1 | Symbol 160 MovieClip |
"Alt" | Symbol 178 MovieClip Frame 1 | Symbol 162 Button |
"te" | Symbol 178 MovieClip Frame 2 | Symbol 167 MovieClip |
"te" | Symbol 178 MovieClip Frame 3 | Symbol 171 MovieClip |
"a" | Symbol 182 MovieClip Frame 1 | Symbol 181 MovieClip |
"t" | Symbol 187 MovieClip Frame 1 | Symbol 186 MovieClip |
"t" | Symbol 192 MovieClip Frame 1 | Symbol 191 MovieClip |
"fire" | Symbol 198 MovieClip Frame 1 | Symbol 182 MovieClip |
"te" | Symbol 198 MovieClip Frame 3 | Symbol 187 MovieClip |
"te" | Symbol 198 MovieClip Frame 5 | Symbol 192 MovieClip |
"grid" | Symbol 223 MovieClip Frame 1 | Symbol 222 MovieClip |
"laser" | Symbol 229 MovieClip Frame 1 | Symbol 228 MovieClip |
"t" | Symbol 244 MovieClip Frame 1 | Symbol 243 MovieClip |
"t" | Symbol 248 MovieClip Frame 1 | Symbol 247 MovieClip |
"t" | Symbol 256 MovieClip Frame 1 | Symbol 255 MovieClip |
"grid" | Symbol 269 MovieClip Frame 1 | Symbol 223 MovieClip |
"elec" | Symbol 269 MovieClip Frame 1 | Symbol 229 MovieClip |
"pol" | Symbol 269 MovieClip Frame 1 | Symbol 232 MovieClip |
"a1" | Symbol 269 MovieClip Frame 1 | Symbol 234 MovieClip |
"a2" | Symbol 269 MovieClip Frame 1 | Symbol 239 MovieClip |
"te" | Symbol 269 MovieClip Frame 2 | Symbol 244 MovieClip |
"te" | Symbol 269 MovieClip Frame 4 | Symbol 248 MovieClip |
"te" | Symbol 269 MovieClip Frame 8 | Symbol 256 MovieClip |
"t" | Symbol 273 MovieClip Frame 1 | Symbol 272 EditableText |
"mtext" | Symbol 274 MovieClip Frame 1 | Symbol 273 MovieClip |
"t" | Symbol 280 MovieClip Frame 1 | Symbol 279 MovieClip |
"t" | Symbol 284 MovieClip Frame 1 | Symbol 283 MovieClip |
"initial" | Symbol 291 MovieClip Frame 1 | Symbol 274 MovieClip |
"resource" | Symbol 291 MovieClip Frame 1 | Symbol 275 Button |
"te" | Symbol 291 MovieClip Frame 2 | Symbol 280 MovieClip |
"te" | Symbol 291 MovieClip Frame 3 | Symbol 284 MovieClip |
"s" | Symbol 301 MovieClip Frame 1 | Symbol 300 MovieClip |
"sign" | Symbol 303 MovieClip Frame 1 | Symbol 300 MovieClip |
"sign" | Symbol 303 MovieClip Frame 2 | Symbol 300 MovieClip |
"t" | Symbol 317 MovieClip Frame 1 | Symbol 316 MovieClip |
"t" | Symbol 321 MovieClip Frame 1 | Symbol 320 MovieClip |
"t" | Symbol 325 MovieClip Frame 1 | Symbol 324 MovieClip |
"t" | Symbol 329 MovieClip Frame 1 | Symbol 328 MovieClip |
"initial" | Symbol 334 MovieClip Frame 1 | Symbol 301 MovieClip |
"place" | Symbol 334 MovieClip Frame 1 | Symbol 306 MovieClip |
"a2" | Symbol 334 MovieClip Frame 1 | Symbol 309 MovieClip |
"a1" | Symbol 334 MovieClip Frame 1 | Symbol 302 MovieClip |
"te" | Symbol 334 MovieClip Frame 2 | Symbol 317 MovieClip |
"te" | Symbol 334 MovieClip Frame 3 | Symbol 321 MovieClip |
"te" | Symbol 334 MovieClip Frame 4 | Symbol 325 MovieClip |
"te" | Symbol 334 MovieClip Frame 5 | Symbol 329 MovieClip |
"leaf" | Symbol 339 MovieClip Frame 1 | Symbol 338 MovieClip |
"leaf" | Symbol 343 MovieClip Frame 1 | Symbol 342 MovieClip |
"leaf" | Symbol 348 MovieClip Frame 1 | Symbol 347 MovieClip |
"t" | Symbol 362 MovieClip Frame 1 | Symbol 361 MovieClip |
"b3" | Symbol 368 MovieClip Frame 1 | Symbol 339 MovieClip |
"b2" | Symbol 368 MovieClip Frame 1 | Symbol 343 MovieClip |
"b1" | Symbol 368 MovieClip Frame 1 | Symbol 348 MovieClip |
"Alt1" | Symbol 368 MovieClip Frame 1 | Symbol 349 Button |
"Alt2" | Symbol 368 MovieClip Frame 1 | Symbol 350 Button |
"te" | Symbol 368 MovieClip Frame 5 | Symbol 362 MovieClip |
"t" | Symbol 379 MovieClip Frame 1 | Symbol 378 MovieClip |
"t" | Symbol 384 MovieClip Frame 1 | Symbol 383 MovieClip |
"volcano" | Symbol 392 MovieClip Frame 1 | Symbol 373 MovieClip |
"fire" | Symbol 392 MovieClip Frame 1 | Symbol 372 MovieClip |
"te" | Symbol 392 MovieClip Frame 2 | Symbol 379 MovieClip |
"te" | Symbol 392 MovieClip Frame 3 | Symbol 384 MovieClip |
Special Tags
FileAttributes (69) | Timeline Frame 1 | Access local files only, Metadata not present, AS1/AS2. |
Protect (24) | Timeline Frame 1 | 31 bytes "..$1$EO$Vq0LJ/gEi9OY.Nuzyog2Z/." |
ExportAssets (56) | Timeline Frame 1 | Symbol 1 as "s1" |
ExportAssets (56) | Timeline Frame 1 | Symbol 2 as "s2" |
ExportAssets (56) | Timeline Frame 1 | Symbol 403 as "__Packages.NewgroundsAPI" |
Dynamic Text Variables
textVar | Symbol 36 EditableText | "" |
_root.counter | Symbol 88 EditableText | "" |
|