First time here? First time here? Newsletter Signup Newsletter
Search tutorials
Author: Morten Barslund | Website: http://www.hhbk.subnet.dk/GotCha.html

Building a Tsunami (cont.)

The first If statement confirms that the mouse is located inside the box. If it is, then we need to calculate the distance between each object and the cursor. This is done in a loop, where we first determine the distance between the mouse and the top bound. This is necessary, since the object and the mouse aren’t located in the same level (it would only be indifferent, if the top bound was 0). The distance between the object and the mouse is then the object’s vertical position minus the value, we just calculated (the parenthesis).

After we have calculated the distance between the object and the mouse, we want to use this value (“myDif”) to determine the scale and alpha value of the object. The way these values are determined is similar and also very important. If you look at the variable “scaleAmount”, then you’ll notice that it is dependent of “myDif”. If “myDif” equals 0, then “scaleAmount” would be 250 (maximum). If “myDif” is greater, then “scaleAmount” would be smaller and thus a greater distance results in a smaller scale. Since “myDif” is squared, we accomplish symmetry around the location of the mouse. An example of this would be to have two objects, where “myDif” equals –5 and 5. These objects would have the same scale, since (-5)*(-5) = 25 and 5*5 = 25. If “myDif” wasn’t squared, but only divided by 16 (if you increase this number, this will result in a larger scale and an expansion of the tsunami), then another If statement converting “myDif” to an absolute value would be required. Furthermore, a relative small distance would give a relative large scale, which wouldn’t look satisfying. To ensure that an object isn’t smaller than at first (100), we insert an If statement. The alpha value is calculated in exactly the same way; the only difference is that the maximum is 100; the minimum 50 and we divide by 16 instead of 250, 100 and 6 (_xscale and _yscale are measured in percentages with the default set to 100). We then apply these values by using Set Property.

» Level Advanced

Added: 2000-12-27
Rating: 8.97 Votes: 237
(10 being the highest)
» Author
The author wrote this tutorial to explain the infamous effect originally created by Joshua Davis of www.praystation.com. The tutorial was written with his personal permission and the source is simply a modification of the file available at PrayStation.com.
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!


  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.
Featured Flash FLA
» Author: Inocreato
» Title: RaiseTheBlocks
» Description: Raise all the blocks to win the game
Featured Sound Loops
Image for equalize

Audio Player

» Author: TomCat Carty
» Title: The Wood
» Description: Just a little game ending or it can maybe be looped. Recorders with music box and percussion to give the feel of well, I don't know, the woods? Free to use, just credit me. thank you
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: Davisigner
» Description: Hmm... what to say about this one? It's reminiscent of the closing notes of the opening music from the Three Stooges done in a church organ style with a closing cymbal crash. I'll give this one away gratis, but feel free to check out my free loops and potential upcoming license-mandated ones over in the respective part of Flashkit.