GEuser's CUSTOMIZABLE GUI LIBRARY: Flashing Actors

How to find or create sprites, graphics, sounds and music.

GEuser's CUSTOMIZABLE GUI LIBRARY: Flashing Actors

Postby GEuser » Tue Nov 06, 2012 5:13 am

BASIC INFORMATION

Image
Image
Image

Uses trigonometry function sin() to vary transparency of an actor to create a flashing effect.
The trig. method creates a more smooth transition between flashing phases.

TO USE:
Step 1.. create an ACTOR VARIABLE: flashValue

Step 2. Copy / paste the Global code below into Global Code Editor (add as: flashActor)
( Script=>Global code => Global Code Editor =>[add] )

Step 3. set flashValue to 0 in your CREATE ACTOR EVENT, like this:

Code: Select all
flashValue = 0;


CALL this function from your DRAW ACTOR EVENT like this:

Code: Select all
flashActor(20);


You should now be-able to flash any actor (canvas, text or normal) by simplying calling from it's draw event.

FIND GLOBAL CODES BELOW (with & without comments).

Global Code WITH comments

Code: Select all
// FLASHES ACTORS using the alpha value with trigonometry function sin
// works with text, canvas and normal actors.
//
//  step 1. create an ACTOR VARIABLE: flashValue
//
//  step 2. Add this code to your Global Code Editor as: flashActor
//
//  step 3. set flashValue to 0 in your CREATE ACTOR EVENT, like this:
//
//                                             flashValue = 0;
//
//  CALL this function from your DRAW ACTOR EVENT like this:
//
//                                             flashActor(20);
//
// The number is the flash rate or delay, change it to suit your needs. Have fun :)
//

void flashActor ( int flashFrequency)
{
    double tempVal=0; // temp value to hold calculated flash rate

    flashValue+=1;  // Increment degrees (used for sinewave)
 
    if (flashValue>359) // Has 360 been reached (a full cycle)?
    {
       flashValue=0;  // if yes reset to start of 0 degrees

    }

    // calculate new flashing with sinewave at 'flashFrequency' rate
    // you could use cosine too (or another formula, play around with other trig. funcs)
    //
    // Watch out for Tan (Tangent, has infinity values at 90 & 270 degrees may cause crash).
    tempVal=sin(degtorad(flashValue*flashFrequency));
 
    // store temp value in calling actor's transparency variable
    transp=tempVal;
}



Global Code WITHOUT comments

Code: Select all
void flashActor ( int flashFrequency)
{
    double tempVal=0;

    flashValue+=1;
 
    if (flashValue>359)
    {
       flashValue=0;

    }

    tempVal=sin(degtorad(flashValue*flashFrequency));
    transp=tempVal;
}
GEuser
 
Posts: 204
Joined: Thu Jan 05, 2012 3:08 pm
Score: 19 Give a positive score

Return to Game Resources

Who is online

Users browsing this forum: No registered users and 1 guest