/** * @(#) $RCSfile: LightningAngleLoop.as,v $ $Revision: 1.2 $ $Date: 2003/02/14 03:44:59 $ * * Copyright 2003 Orgdot AS. All Rights Reserved. * http://dev.swfit.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * Loop script for the angled lightning. * * @author Olaf Havnes * @version $Revision: 1.2 $ $Date: 2003/02/14 03:44:59 $ * @since SWFIT1.0 */ /** * Build this bolt of lightning. */ if (num_lightning < tot_lightning) { // Set flags kill = false; plain = true; glow = false; // Duplicate the bottom clip lclip = "clip_" add num_lightning; right = eval ("right_" add bot_c); if (right) duplicateMovieClip ("right", lclip, num_lightning); else duplicateMovieClip ("left", lclip, num_lightning); setProperty (lclip, _y, - height_l * bot_c); setProperty (lclip, _x, bot_side_shift); bot_side_shift = right ? bot_side_shift - width_l : bot_side_shift + width_l; bot_c++; num_lightning++; // Duplicate the top clip lclip = "clip_" add num_lightning; right = eval ("right_" add top_c); top_side_shift = right ? top_side_shift + width_l: top_side_shift - width_l; if (right) duplicateMovieClip ("right", lclip, num_lightning); else duplicateMovieClip ("left", lclip, num_lightning); setProperty (lclip, _y, - height_l * top_c); setProperty (lclip, _x, top_side_shift); top_c--; num_lightning++; } /** * Prepare for the next bolt of lightning. */ if (bolt && num_lightning == tot_lightning) { bolt = false; kill = true; tot_lightning = num_lightning + segs; bot_side_shift = 0; top_side_shift = 0; // Pre-generate some values i = 0; right = 0; while (i < segs) { remainder = segs - i; if (remainder == right || right == segs / 2 - 1) { set ("right_" add i, false); right --; } else if (remainder == - right || right == - segs / 2 + 1) { set ("right_" add i, true); right ++; } else { val = random (remainder - right) < remainder / 2; set ("right_" add i, val); right = val ? right + 1 : right - 1; } i++; } top_c = segs - 1; bot_c = 0; } /** * Trigger the next bolt of lightning. */ if (num_lightning == tot_lightning) { glow_counter ++; if (glow_counter == glow_life) { glow_counter = 0; bolt = true; } else { pause++; if (pause >= frame_pause) pause = 0; if (pause == 1) { plain = false; glow = true; } else { plain = true; glow = false; } } }