STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228034
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/65149108?noj=FRM65149108-20DC" width="1" height="1"></div>

Trap the Tiger.swf

This is the info page for
Flash #100714

(Click the ID number above for more basic data on this flash file.)


Text
Play

Help

<p align="center"><font face="JungleFever" size="25" color="#990000" letterSpacing="0.500000" kerning="0"><a href="http://www.onemorelevel.com">OneMoreLevel presents:</a></font></p>

More Games

Trap the Tiger

Highscore: x

<p align="left"><font face="JungleFever" size="16" color="#ffffff" letterSpacing="0.000000" kerning="0"><a href="http://www.onemorelevel.com">Copyright 2010 OneMoreLevel</a></font></p>

Score: 43583

Level: 43583

Highscore: x

The tiger escaped!

Menu

Play again

Success!

How to play

The goal of the game is simple: trap the tiger!
You can do this by clicking the light tiles, to make them turn darker.

Every time you click a tile to
close it down, the tiger
gets to move one  tile in any
direction (as long as it's not
on dark tiles).

The round ends when either you trap the tiger
between six dark tiles, or the tiger escapes at
the edge of the playing field.

When you win a round, you are
awarded points. You get 10 points
for completing the round. Additionally,
you get 5 points for every tile that is
not yet darkened out.

Each level has 1 less dark square to begin with, Good luck!

ActionScript [AS3]

Section 1
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function getObjectLength(_arg1:Object):uint{ var _local3:String; var _local2:uint; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function concatObjects(... _args):Object{ var _local3:Object; var _local5:String; var _local2:Object = {}; var _local4:int; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package caurina.transitions
Section 2
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var valueStart:Number; public var valueComplete:Number; public var originalValueComplete:Object; public var arrayIndex:Number; public var extra:Object; public var isSpecialProperty:Boolean; public var hasModifier:Boolean; public var modifierFunction:Function; public var modifierParameters:Array; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } public function toString():String{ var _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } } }//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var getValue:Function; public var setValue:Function; public var parameters:Array; public var preProcess:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 5
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var modifyValues:Function; public var getValue:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 6
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 7
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var __tweener_controller__:MovieClip; private static var _engineExists:Boolean = false; private static var _inited:Boolean = false; private static var _currentTime:Number; private static var _currentTimeFrame:Number; private static var _tweenList:Array; private static var _timeScale:Number = 1; private static var _transitionList:Object; private static var _specialPropertyList:Object; private static var _specialPropertyModifierList:Object; private static var _specialPropertySplitterList:Object; public static var autoOverwrite:Boolean = true; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; var _local7:Object = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time; var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay; var _local10:Array = new Array(); var _local11:Object = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; var _local12:Object = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){ removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); }; _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; var _local5:Object = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time; var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removedLocally:Boolean; var i:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; var removed:Boolean; var tl:uint = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function removeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } public static function pauseAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function resumeAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; var _local4:Boolean; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local5:uint; var _local6:String; var _local7:Boolean; var _local3:TweenListObj = _tweenList[_arg1]; var _local4:TweenListObj = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; var _local3:Number = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; var isOver:Boolean; var cTime:Number = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ if (!_inited){ init(); }; var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ if (!_inited){ init(); }; var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ if (!_inited){ init(); }; var _local4:SpecialPropertySplitter = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function updateTime():void{ _currentTime = getTimer(); } public static function updateFrame():void{ _currentTimeFrame++; } public static function onEnterFrame(_arg1:Event):void{ updateTime(); updateFrame(); var _local2:Boolean; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; if (!Boolean(_tweenList)){ return ([]); }; var _local4:Array = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; if (!Boolean(_tweenList)){ return (0); }; var _local3:Number = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getVersion():String{ return ("AS3 1.33.74"); } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } } }//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var scope:Object; public var properties:Object; public var timeStart:Number; public var timeComplete:Number; public var useFrames:Boolean; public var transition:Function; public var transitionParams:Object; public var onStart:Function; public var onUpdate:Function; public var onComplete:Function; public var onOverwrite:Function; public var onError:Function; public var onStartParams:Array; public var onUpdateParams:Array; public var onCompleteParams:Array; public var onOverwriteParams:Array; public var onStartScope:Object; public var onUpdateScope:Object; public var onCompleteScope:Object; public var onOverwriteScope:Object; public var onErrorScope:Object; public var rounded:Boolean; public var isPaused:Boolean; public var timePaused:Number; public var isCaller:Boolean; public var count:Number; public var timesCalled:Number; public var waitFrames:Boolean; public var skipUpdates:Number; public var updatesSkipped:Number; public var hasStarted:Boolean; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local3:String; var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local3:String; var _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); var _local2:Boolean; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local2:Object = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 9
//MainTimeline (trap_fla.MainTimeline) package trap_fla { import flash.events.*; import caurina.transitions.*; import flash.display.*; import flash.text.*; import flash.net.*; import flash.utils.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.geom.*; import flash.media.*; import flash.printing.*; import flash.profiler.*; import flash.sampler.*; import flash.ui.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public const GRID_START_X = 95.5; public const GRID_START_Y = 43; public const GRID_SPACING = 5; public const GRID_ROWS = 11; public const GRID_COLS = 11; public const COLOR_SCHEMES; public const COLOR_MODE = "RANDOM"; public const FADE_TIME = 0.5; public const PAUSE_BETWEEN_LEVEL = 3; public const LIGHTEN_AMOUNT = 30; public const LEVEL_POINTS = 50; public const NOBRICK_POINTS = 5; public const HELP_SCHEME; public var scorefield:TextField; public var successtext:MovieClip; public var catMC:MovieClip; public var menubtn:SimpleButton; public var highscorefield:TextField; public var helpbtn:SimpleButton; public var levelfield:TextField; public var escaped:MovieClip; public var playbtn:SimpleButton; public var moregames:SimpleButton; public var so:SharedObject; public var highscore; public var gridMCArray; public var shortestRouteArray; public var gridfieldMC; public var currentTheme:Array; public var currentLevel; public var currentCatXY:Array; public var score; public var colorscheme:Array; public var clickEnabled; public var escapeDirection; public var i; public var j; public function MainTimeline(){ COLOR_SCHEMES = new Array([0xCCCCCC, 0x1C1C1C], [16174798, 9046024], [13563598, 745739], [15724539, 8487415]); HELP_SCHEME = new Array(0xCCCCCC, 0x888888); super(); addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function moregamesbutton(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.onemorelevel.com"); navigateToURL(_local2); } public function createNewGrid(_arg1:Array, _arg2:MovieClip){ var _local4:*; var _local5:*; highscorefield.text = ("Highscore: " + so.data.highscore); var _local3:* = 0; while (_local3 < GRID_COLS) { _local4 = 0; _arg1.push(new Array()); shortestRouteArray.push(new Array()); _local5 = 0; while (_local5 < GRID_ROWS) { _arg1[_local3].push(new cell()); _arg1[_local3][_local5].x = (GRID_START_X + ((_local3 + (_local4 * 0.5)) * (GRID_SPACING + _arg1[_local3][_local5].width))); _arg1[_local3][_local5].y = (GRID_START_Y + (_local5 * (GRID_SPACING + _arg1[_local3][_local5].height))); _local4 = ((_local4 + 1) % 2); _arg2.addChild(_arg1[_local3][_local5]); _local5++; }; _local3++; }; } public function lowestNeighbour(_arg1, _arg2, _arg3=false){ var _local7:int; var _local8:int; var _local4:* = (_arg2 % 2); var _local5:* = new Array(); var _local6:* = 0; while (_local6 < 6) { _local7 = ((_arg2 - 1) + (_local6 / 2)); _local8 = ((_arg1 + (_local4 * (((_local6 / 2) + 1) % 2))) - ((_local6 + 1) % 2)); if (_local6 == 3){ _local8 = (_local8 + 1); }; if ((((((((_local8 >= 0)) && ((_local8 < GRID_COLS)))) && ((_local7 >= 0)))) && ((_local7 < GRID_ROWS)))){ if (shortestRouteArray[_local8][_local7] > -1){ _local5.push(new Array(shortestRouteArray[_local8][_local7], _local8, _local7, _local6)); }; } else { if (_arg3){ return (new Array(0, _local6)); }; }; _local6++; }; _local5.sort(orderNumerically); return (_local5[0]); } public function populateShortestRoute(){ var _local2:*; var _local3:*; var _local4:*; var _local1:* = 0; while (_local1 < GRID_COLS) { _local3 = 0; while (_local3 < GRID_ROWS) { shortestRouteArray[_local1][_local3] = (GRID_ROWS * GRID_COLS); if (gridMCArray[_local1][_local3].enabled){ if ((((((((_local1 == 0)) || ((_local3 == 0)))) || ((_local1 == (GRID_COLS - 1))))) || ((_local3 == (GRID_ROWS - 1))))){ shortestRouteArray[_local1][_local3] = 1; }; } else { shortestRouteArray[_local1][_local3] = -1; }; _local3++; }; _local1++; }; do { _local2 = shortestRouteArray.toString(); _local1 = 1; while (_local1 < (GRID_COLS - 1)) { _local3 = 1; while (_local3 < (GRID_ROWS - 1)) { if (((gridMCArray[_local1][_local3].enabled) || ((((currentCatXY[0] == _local1)) && ((currentCatXY[1] == _local3)))))){ _local4 = lowestNeighbour(_local1, _local3); if (((_local4) && ((_local4[0] < 121)))){ shortestRouteArray[_local1][_local3] = (_local4[0] + 1); }; }; _local3++; }; _local1++; }; } while (_local2 != shortestRouteArray.toString()); } public function startLevel(_arg1:int){ var _local4:*; var _local5:*; var _local6:*; hideAllCatsButOne(2); restoreAllCats(); levelfield.text = ("Level: " + currentLevel); Tweener.addTween(catMC, {alpha:1, time:FADE_TIME, transition:"easeInOutCubic"}); Tweener.addTween(gridfieldMC, {alpha:1, time:FADE_TIME, transition:"easeInOutCubic"}); if (scorefield.alpha == 0){ Tweener.addTween(scorefield, {alpha:1, time:FADE_TIME, transition:"easeInOutCubic"}); }; colorscheme = getColorScheme(_arg1); var _local2:* = ((30 - _arg1) + 1); var _local3:* = 0; while (_local3 < GRID_COLS) { _local4 = 0; while (_local4 < GRID_ROWS) { delete gridMCArray[_local3][_local4].oricolor; gridMCArray[_local3][_local4].enabled = true; gridMCArray[_local3][_local4].buttonMode = true; gridMCArray[_local3][_local4].addEventListener(MouseEvent.CLICK, clickedCell); gridMCArray[_local3][_local4].addEventListener(MouseEvent.MOUSE_OVER, applyLighten); gridMCArray[_local3][_local4].addEventListener(MouseEvent.MOUSE_OUT, removeLighten); setColor(gridMCArray[_local3][_local4], colorscheme[0]); _local4++; }; _local3++; }; currentCatXY = new Array(((((GRID_COLS + 1) / 2) - 1) | 0), ((((GRID_ROWS + 1) / 2) - 1) | 0)); disableCell(gridMCArray[currentCatXY[0]][currentCatXY[1]], false); catMC.x = gridMCArray[currentCatXY[0]][currentCatXY[1]].x; catMC.y = gridMCArray[currentCatXY[0]][currentCatXY[1]].y; this.setChildIndex(catMC, (numChildren - 1)); while (_local2 > 0) { _local5 = ((Math.random() * GRID_COLS) | 0); _local6 = ((Math.random() * GRID_ROWS) | 0); if (gridMCArray[_local5][_local6].enabled){ disableCell(gridMCArray[_local5][_local6]); _local2--; }; }; populateShortestRoute(); clickEnabled = true; } public function applyLighten(_arg1:Event){ var _local2:ColorTransform = _arg1.currentTarget.core.transform.colorTransform; _arg1.currentTarget.oricolor = _local2.color; var _local3:* = ((_local2.color / (0x0100 * 0x0100)) | 0); var _local4:* = (((_local2.color - (_local3 * (0x0100 * 0x0100))) / 0x0100) | 0); var _local5:* = (((_local2.color - (_local3 * (0x0100 * 0x0100))) - (_local4 * 0x0100)) | 0); _local3 = (_local3 + LIGHTEN_AMOUNT); _local4 = (_local4 + LIGHTEN_AMOUNT); _local5 = (_local5 + LIGHTEN_AMOUNT); if (_local3 > 0xFF){ _local3 = 0xFF; }; if (_local4 > 0xFF){ _local4 = 0xFF; }; if (_local5 > 0xFF){ _local5 = 0xFF; }; _local2.color = ((((_local3 * 0x0100) * 0x0100) + (_local4 * 0x0100)) + _local5); _arg1.currentTarget.core.transform.colorTransform = _local2; } public function removeLighten(_arg1:Event){ var _local2:ColorTransform; if (_arg1.currentTarget.oricolor){ _local2 = _arg1.currentTarget.core.transform.colorTransform; _local2.color = _arg1.currentTarget.oricolor; _arg1.currentTarget.core.transform.colorTransform = _local2; }; } public function clickedCell(_arg1:Event){ if (clickEnabled){ disableCell(_arg1.currentTarget); _arg1.currentTarget.dispatchEvent(new Event(MouseEvent.MOUSE_OVER)); populateShortestRoute(); moveCat(); }; } public function moveCat(){ var levelscore:*; var i:*; var j:*; var lowest:*; clickEnabled = false; if (checkIfTrapped()){ levelscore = LEVEL_POINTS; i = 0; while (i < GRID_COLS) { j = 0; while (j < GRID_ROWS) { if (gridMCArray[i][j].enabled){ levelscore = (levelscore + NOBRICK_POINTS); }; j = (j + 1); }; i = (i + 1); }; incrementScore(levelscore); setChildIndex(successtext, (numChildren - 1)); successtext.alpha = 0; successtext.visible = true; Tweener.addTween(successtext, {alpha:1, time:FADE_TIME, transition:"easeInOutCubic"}); Tweener.addTween(successtext, {alpha:0, time:FADE_TIME, delay:(PAUSE_BETWEEN_LEVEL - FADE_TIME), onComplete:function (){ successtext.visible = false; }, transition:"easeInOutCubic"}); Tweener.addTween(gridfieldMC, {alpha:0, time:FADE_TIME, delay:PAUSE_BETWEEN_LEVEL, transition:"easeInOutCubic"}); Tweener.addTween(catMC, {alpha:0, time:FADE_TIME, delay:PAUSE_BETWEEN_LEVEL, onComplete:function (){ startLevel(++currentLevel); }, transition:"easeInOutCubic"}); } else { lowest = lowestNeighbour(currentCatXY[0], currentCatXY[1], true); if (lowest[0] > 0){ enableCell(gridMCArray[currentCatXY[0]][currentCatXY[1]], false); currentCatXY[0] = lowest[1]; currentCatXY[1] = lowest[2]; hideAllCatsButOne(fromZtoCircle(lowest[3])); catMC[("jump" + fromZtoCircle(lowest[3]))].gotoAndPlay(1); } else { setChildIndex(escaped, (numChildren - 1)); escaped.alpha = 0; escaped.visible = true; escapeDirection = fromZtoCircle(lowest[1]); hideAllCatsButOne(escapeDirection); catMC[("jump" + escapeDirection)].gotoAndPlay(1); Tweener.addTween(escaped, {alpha:1, time:FADE_TIME, transition:"easeInOutCubic"}); }; }; } public function restoreAllCats(){ var _local1:* = 1; while (_local1 <= 6) { catMC[("jump" + _local1)].gotoAndStop(1); _local1++; }; } public function hideAllCatsButOne(_arg1){ var _local2:* = 1; while (_local2 <= 6) { if (_local2 != _arg1){ catMC[("jump" + _local2)].visible = false; } else { catMC[("jump" + _arg1)].visible = true; }; _local2++; }; } public function moveDone(){ var _local1:*; if (!escaped.visible){ catMC.x = gridMCArray[currentCatXY[0]][currentCatXY[1]].x; catMC.y = gridMCArray[currentCatXY[0]][currentCatXY[1]].y; disableCell(gridMCArray[currentCatXY[0]][currentCatXY[1]], false); clickEnabled = true; } else { if (escapeDirection > 0){ switch (escapeDirection){ case 2: case 3: catMC.y = (catMC.y + gridMCArray[0][0].height); break; case 5: case 6: catMC.y = (catMC.y - gridMCArray[0][0].height); break; }; _local1 = catMC.x; switch (escapeDirection){ case 1: catMC.x = (catMC.x + (gridMCArray[1][0].x - gridMCArray[0][0].x)); break; case 2: case 6: catMC.x = (catMC.x + (gridMCArray[0][1].x - gridMCArray[0][0].x)); break; case 3: case 5: catMC.x = (catMC.x - (gridMCArray[0][1].x - gridMCArray[0][0].x)); break; case 4: catMC.x = (catMC.x - (gridMCArray[1][0].x - gridMCArray[0][0].x)); break; }; catMC[("jump" + escapeDirection)].play(); }; }; } public function checkIfTrapped(){ var _local3:int; var _local4:int; var _local1:* = (currentCatXY[1] % 2); var _local2:* = 0; while (_local2 < 6) { _local3 = ((currentCatXY[1] - 1) + (_local2 / 2)); _local4 = ((currentCatXY[0] + (_local1 * (((_local2 / 2) + 1) % 2))) - ((_local2 + 1) % 2)); if (_local2 == 3){ _local4 = (_local4 + 1); }; if ((((((((_local4 >= 0)) && ((_local4 < GRID_COLS)))) && ((_local3 >= 0)))) && ((_local3 < GRID_ROWS)))){ if (gridMCArray[_local4][_local3].enabled){ return (false); }; } else { return (false); }; _local2++; }; return (true); } public function disableCell(_arg1, _arg2=true){ _arg1.enabled = false; _arg1.buttonMode = false; _arg1.removeEventListener(MouseEvent.CLICK, clickedCell); if (_arg2){ setColor(_arg1, colorscheme[1]); }; } public function enableCell(_arg1:MovieClip, _arg2=true){ _arg1.enabled = true; _arg1.buttonMode = true; _arg1.addEventListener(MouseEvent.CLICK, clickedCell); if (_arg2){ setColor(_arg1, colorscheme[0]); }; } public function setColor(_arg1:MovieClip, _arg2:int){ var _local3:ColorTransform = _arg1.core.transform.colorTransform; _local3.color = _arg2; _arg1.core.transform.colorTransform = _local3; } public function getColorScheme(_arg1:int):Array{ if (COLOR_MODE == "RANDOM"){ return (COLOR_SCHEMES[((Math.random() * COLOR_SCHEMES.length) | 0)]); }; if (COLOR_MODE == "ORDERED"){ return (COLOR_SCHEMES[((_arg1 % (COLOR_SCHEMES.length + 1)) - 1)]); }; return (undefined); } public function incrementScore(_arg1){ var _local2:SharedObject; score = (score + _arg1); scorefield.text = ("Score: " + score); highscorefield.text = ("Highscore: " + so.data.highscore); if (score > highscore){ _local2 = SharedObject.getLocal("OneMoreLevelTrapCat"); _local2.data.highscore = score; _local2.flush(); highscorefield.text = ("Highscore: " + _local2.data.highscore); }; } public function playAgain(_arg1:Event){ var e = _arg1; Tweener.addTween(catMC, {alpha:0, time:FADE_TIME, transition:"easeInOutCubic"}); Tweener.addTween(scorefield, {alpha:0, time:FADE_TIME, transition:"easeInOutCubic"}); Tweener.addTween(gridfieldMC, {alpha:0, time:FADE_TIME, transition:"easeInOutCubic"}); score = 0; incrementScore(0); currentLevel = 1; escapeDirection = 0; Tweener.addTween(escaped, {alpha:0, time:FADE_TIME, onComplete:function (){ escaped.visible = false; startLevel(1); }, transition:"easeInOutCubic"}); } public function fromZtoCircle(_arg1){ var _local2:* = new Array(5, 6, 4, 1, 3, 2); return (_local2[_arg1]); } public function gotoMenu(_arg1:Event){ while (numChildren > 0) { removeChild(getChildAt((numChildren - 1))); }; } public function moregamesbutton2(_arg1:MouseEvent){ var _local2:URLRequest = new URLRequest("http://www.onemorelevel.com"); navigateToURL(_local2); } public function orderNumerically(_arg1, _arg2):Number{ var _local3:* = Number(_arg1[0]); var _local4:* = Number(_arg2[0]); if (_local3 < _local4){ return (-1); }; if (_local3 > _local4){ return (1); }; return (((Math.round(Math.random()) * 2) - 1)); } function frame1(){ stop(); playbtn.addEventListener(MouseEvent.CLICK, function (){ gotoAndStop("game"); }); helpbtn.addEventListener(MouseEvent.CLICK, function (){ gotoAndStop("help"); }); highscorefield.text = "Try and catch me!"; moregames.addEventListener(MouseEvent.CLICK, moregamesbutton); so = SharedObject.getLocal("OneMoreLevelTrapCat"); if (!so.data.highscore){ so.data.highscore = 0; so.flush(); }; highscore = so.data.highscore; if (highscore > 0){ highscorefield.text = ("Highscore: " + highscore); } else { highscorefield.text = "Try and catch me!"; }; MochiBot.track(this, "0abb34ea"); } function frame2(){ gridMCArray = new Array(); shortestRouteArray = new Array(); gridfieldMC = new MovieClip(); currentLevel = 1; score = 0; clickEnabled = false; escapeDirection = 0; successtext.visible = false; escaped.visible = false; escaped.playagainbtn.addEventListener(MouseEvent.CLICK, playAgain); escaped.menubtn.addEventListener(MouseEvent.CLICK, gotoMenu); escaped.moregames2.addEventListener(MouseEvent.CLICK, moregamesbutton2); catMC.alpha = 0; scorefield.alpha = 0; gridfieldMC.alpha = 0; incrementScore(0); addChild(gridfieldMC); catMC.jump1.addFrameScript(0, function (){ catMC.jump1.stop(); moveDone(); }); catMC.jump2.addFrameScript(0, function (){ catMC.jump2.stop(); moveDone(); }); catMC.jump3.addFrameScript(0, function (){ catMC.jump3.stop(); moveDone(); }); catMC.jump4.addFrameScript(0, function (){ catMC.jump4.stop(); moveDone(); }); catMC.jump5.addFrameScript(0, function (){ catMC.jump5.stop(); moveDone(); }); catMC.jump6.addFrameScript(0, function (){ catMC.jump6.stop(); moveDone(); }); createNewGrid(gridMCArray, gridfieldMC); startLevel(currentLevel); highscorefield.text = ("Highscore: " + so.data.highscore); } function frame3(){ i = 0; while (i < 4) { j = 0; while (j < 3) { j++; }; i++; }; menubtn.addEventListener(MouseEvent.CLICK, function (){ gotoAndStop("menu"); }); } } }//package trap_fla
Section 10
//cell (cell) package { import flash.display.*; public dynamic class cell extends MovieClip { public var overlay3d:MovieClip; public var core:MovieClip; } }//package
Section 11
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:5
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClipUses:3Used by:5
Symbol 5 MovieClip {cell}Uses:2 4
Symbol 6 BitmapUsed by:7
Symbol 7 GraphicUses:6Used by:Timeline
Symbol 8 GraphicUsed by:12 14 57
Symbol 9 FontUsed by:10 13 15 17 20 21 22 47 48 49 51 53 56 60 62
Symbol 10 TextUses:9Used by:12
Symbol 11 GraphicUsed by:12 14 57
Symbol 12 ButtonUses:8 10 11Used by:Timeline
Symbol 13 TextUses:9Used by:14
Symbol 14 ButtonUses:8 13 11Used by:Timeline
Symbol 15 EditableTextUses:9Used by:Timeline
Symbol 16 GraphicUsed by:19
Symbol 17 TextUses:9Used by:19
Symbol 18 GraphicUsed by:19
Symbol 19 ButtonUses:16 17 18Used by:58  Timeline
Symbol 20 TextUses:9Used by:Timeline
Symbol 21 EditableTextUses:9Used by:Timeline
Symbol 22 EditableTextUses:9Used by:Timeline
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClipUses:23Used by:Timeline
Symbol 25 GraphicUsed by:Timeline
Symbol 26 GraphicUsed by:32
Symbol 27 GraphicUsed by:32
Symbol 28 GraphicUsed by:32
Symbol 29 GraphicUsed by:32
Symbol 30 GraphicUsed by:32
Symbol 31 GraphicUsed by:32
Symbol 32 MovieClipUses:26 27 28 29 30 31Used by:46
Symbol 33 GraphicUsed by:38
Symbol 34 GraphicUsed by:38
Symbol 35 GraphicUsed by:38
Symbol 36 GraphicUsed by:38
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:33 34 35 36 37Used by:46
Symbol 39 GraphicUsed by:45
Symbol 40 GraphicUsed by:45
Symbol 41 GraphicUsed by:45
Symbol 42 GraphicUsed by:45
Symbol 43 GraphicUsed by:45
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClipUses:39 40 41 42 43 44Used by:46
Symbol 46 MovieClipUses:32 38 45Used by:Timeline
Symbol 47 EditableTextUses:9Used by:Timeline
Symbol 48 EditableTextUses:9Used by:Timeline
Symbol 49 EditableTextUses:9Used by:Timeline
Symbol 50 GraphicUsed by:58
Symbol 51 TextUses:9Used by:58
Symbol 52 GraphicUsed by:55
Symbol 53 TextUses:9Used by:55
Symbol 54 GraphicUsed by:55
Symbol 55 ButtonUses:52 53 54Used by:58  Timeline
Symbol 56 TextUses:9Used by:57
Symbol 57 ButtonUses:8 56 11Used by:58
Symbol 58 MovieClipUses:50 51 55 57 19Used by:Timeline
Symbol 59 GraphicUsed by:61
Symbol 60 TextUses:9Used by:61
Symbol 61 MovieClipUses:59 60Used by:Timeline
Symbol 62 TextUses:9Used by:Timeline
Symbol 63 FontUsed by:64 66 67 68 69
Symbol 64 TextUses:63Used by:Timeline
Symbol 65 GraphicUsed by:Timeline
Symbol 66 TextUses:63Used by:Timeline
Symbol 67 TextUses:63Used by:Timeline
Symbol 68 TextUses:63Used by:Timeline
Symbol 69 TextUses:63Used by:Timeline
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:Timeline

Instance Names

"playbtn"Frame 1Symbol 12 Button
"helpbtn"Frame 1Symbol 14 Button
"moregames"Frame 1Symbol 19 Button
"highscorefield"Frame 1Symbol 21 EditableText
"catMC"Frame 2Symbol 46 MovieClip
"scorefield"Frame 2Symbol 47 EditableText
"levelfield"Frame 2Symbol 48 EditableText
"highscorefield"Frame 2Symbol 49 EditableText
"escaped"Frame 2Symbol 58 MovieClip
"successtext"Frame 2Symbol 61 MovieClip
"menubtn"Frame 3Symbol 55 Button
"core"Symbol 5 MovieClip {cell} Frame 1Symbol 2 MovieClip
"overlay3d"Symbol 5 MovieClip {cell} Frame 1Symbol 4 MovieClip
"jump1"Symbol 46 MovieClip Frame 1Symbol 32 MovieClip
"jump2"Symbol 46 MovieClip Frame 1Symbol 38 MovieClip
"jump3"Symbol 46 MovieClip Frame 1Symbol 38 MovieClip
"jump4"Symbol 46 MovieClip Frame 1Symbol 32 MovieClip
"jump5"Symbol 46 MovieClip Frame 1Symbol 45 MovieClip
"jump6"Symbol 46 MovieClip Frame 1Symbol 45 MovieClip
"menubtn"Symbol 58 MovieClip Frame 1Symbol 55 Button
"playagainbtn"Symbol 58 MovieClip Frame 1Symbol 57 Button
"moregames2"Symbol 58 MovieClip Frame 1Symbol 19 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"menu"Frame 1
"game"Frame 2
"help"Frame 3




http://swfchan.com/21/100714/info.shtml
Created: 21/3 -2019 03:51:05 Last modified: 21/3 -2019 03:51:05 Server time: 20/04 -2024 12:07:22