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.
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.