- Home /
Cannot Get Light To Flash - Help
Hello,
I have a beacon light within a game object on my scene. What I want it to do is simply flash on and off every second, but its just not doing anything - it just remains on.
Here is my script:
var BeaconLight : Light; var Triggered : boolean = false; var WarningSound : AudioClip;
function Start(){ InvokeRepeating("Beacon", 0, 1); }
function Beacon(){ BeaconLight.light.intensity = 1; yield WaitForSeconds(1); BeaconLight.light.intensity = 0; return; }
I also tried using: BeaconLight.enabled = false;
I have a feeling its to do with my timer, and how it gets invoked?
Please help me out.
Thank, Ollie
Answer by Eric5h5 · Dec 12, 2010 at 10:29 PM
You can't use InvokeRepeating for coroutines. You don't need to explicitly set 1 or 0 anyway; you can just alternate between them, so the function doesn't need to be a coroutine.
// Use lowercase for variable names; it's less confusing var beaconLight : Light; var triggered : boolean = false; var warningSound : AudioClip;
function Start(){ beaconLight.intensity = 0; InvokeRepeating("Beacon", 0, 1); }
function Beacon(){ // beaconLight is already a Light, so you don't need to refer to .light beaconLight.intensity = 1-beaconLight.intensity; // You don't need "return" at the end of functions. They stop anyway. }
Thanks for the reply, but its not flashing -- its just staying on!?
Your answer
Follow this Question
Related Questions
Perfect sinus 0 Answers
Trying to get object to blink (speed acording to timer) 2 Answers
Does anyone know of some good scripting tutorials? 2 Answers