Section 1
//AuxFunctions (caurina.transitions.AuxFunctions)
package caurina.transitions {
public class AuxFunctions {
public static function concatObjects(... _args):Object{
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:String;
_local2 = {};
_local4 = 0;
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);
}
public static function numberToG(_arg1:Number):Number{
return (((_arg1 & 0xFF00) >> 8));
}
public static function numberToR(_arg1:Number):Number{
return (((_arg1 & 0xFF0000) >> 16));
}
public static function isInArray(_arg1:String, _arg2:Array):Boolean{
var _local3:uint;
var _local4:uint;
_local3 = _arg2.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg2[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
public static function getObjectLength(_arg1:Object):uint{
var _local2:uint;
var _local3:String;
_local2 = 0;
for (_local3 in _arg1) {
_local2++;
};
return (_local2);
}
public static function numberToB(_arg1:Number):Number{
return ((_arg1 & 0xFF));
}
}
}//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 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 easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period;
_local8 = (((!(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 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 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 easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(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 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 easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(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 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 easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot;
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2));
}
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 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 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));
}
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 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 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 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 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 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 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 easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
_arg1 = (_arg1 / _arg4);
return ((((_arg3 * _arg1) * _arg1) + _arg2));
}
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 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 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 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 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 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 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 easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(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 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 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 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 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 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 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 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 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 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 easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
_local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period;
_local8 = (((!(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 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 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 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));
}
}
}//package caurina.transitions
Section 3
//PropertyInfoObj (caurina.transitions.PropertyInfoObj)
package caurina.transitions {
public class PropertyInfoObj {
public var originalValueComplete:Object;
public var modifierParameters:Array;
public var isSpecialProperty:Boolean;
public var hasModifier:Boolean;
public var valueComplete:Number;
public var extra:Object;
public var valueStart:Number;
public var modifierFunction:Function;
public var arrayIndex:Number;
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 toString():String{
var _local1:String;
_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);
}
public function clone():PropertyInfoObj{
var _local1:PropertyInfoObj;
_local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters);
return (_local1);
}
}
}//package caurina.transitions
Section 4
//SpecialProperty (caurina.transitions.SpecialProperty)
package caurina.transitions {
public class SpecialProperty {
public var parameters:Array;
public var preProcess:Function;
public var setValue:Function;
public var getValue: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:String;
_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 getValue:Function;
public var modifyValues:Function;
public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){
modifyValues = _arg1;
getValue = _arg2;
}
public function toString():String{
var _local1:String;
_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:String;
_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 _timeScale:Number = 1;
private static var _currentTimeFrame:Number;
private static var _specialPropertySplitterList:Object;
private static var _engineExists:Boolean = false;
private static var _specialPropertyModifierList:Object;
private static var _currentTime:Number;
private static var _tweenList:Array;
private static var _specialPropertyList:Object;
private static var _transitionList:Object;
private static var _inited:Boolean = false;
private static var __tweener_controller__:MovieClip;
public function Tweener(){
trace("Tweener is a static class and should not be instantiated.");
}
public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{
var _local4:SpecialPropertyModifier;
if (!_inited){
init();
};
_local4 = new SpecialPropertyModifier(_arg2, _arg3);
_specialPropertyModifierList[_arg1] = _local4;
}
public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{
var _local6:SpecialProperty;
if (!_inited){
init();
};
_local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5);
_specialPropertyList[_arg1] = _local6;
}
public static function init(... _args):void{
_inited = true;
_transitionList = new Object();
Equations.init();
_specialPropertyList = new Object();
_specialPropertyModifierList = new Object();
_specialPropertySplitterList = new Object();
}
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 addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Array;
var _local5:Object;
var _local6:Number;
var _local7:Number;
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];
};
_local5 = _arg2;
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local6 = (isNaN(_local5.time)) ? 0 : _local5.time;
_local7 = (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 pauseAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
pauseTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function removeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(removeTweenByIndex, _arg1, _local3));
}
public static function splitTweens(_arg1:Number, _arg2:Array):uint{
var _local3:TweenListObj;
var _local4:TweenListObj;
var _local5:uint;
var _local6:String;
var _local7:Boolean;
_local3 = _tweenList[_arg1];
_local4 = _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));
}
public static function updateFrame():void{
_currentTimeFrame++;
}
public static function resumeTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
var _local3:Number;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (!(_local2.isPaused)))){
return (false);
};
_local3 = getCurrentTweeningTime(_local2);
_local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused));
_local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused));
_local2.timePaused = undefined;
_local2.isPaused = false;
return (true);
}
public static function getVersion():String{
return ("AS3 1.31.71");
}
public static function onEnterFrame(_arg1:Event):void{
var _local2:Boolean;
updateTime();
updateFrame();
_local2 = false;
_local2 = updateTweens();
if (!_local2){
stopEngine();
};
}
public static function updateTime():void{
_currentTime = getTimer();
}
private static function updateTweenByIndex(_arg1:Number):Boolean{
var tTweening:TweenListObj;
var isOver:Boolean;
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 cTime:Number;
var tProperty:Object;
var pv:Number;
var i = _arg1;
tTweening = _tweenList[i];
if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){
return (false);
};
isOver = false;
cTime = 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(e:Error) {
handleError(tTweening, e, "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(e:Error) {
handleError(tTweening, e, "onUpdate");
};
};
} else {
tTweening.updatesSkipped++;
};
};
if (((isOver) && (Boolean(tTweening.onComplete)))){
eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope;
try {
tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams);
} catch(e:Error) {
handleError(tTweening, e, "onComplete");
};
};
return (!(isOver));
};
return (true);
}
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 resumeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
resumeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
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()));
};
};
}
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();
}
public static function removeAllTweens():Boolean{
var _local1:Boolean;
var _local2:uint;
if (!Boolean(_tweenList)){
return (false);
};
_local1 = false;
_local2 = 0;
while (_local2 < _tweenList.length) {
removeTweenByIndex(_local2);
_local1 = true;
_local2++;
};
return (_local1);
}
public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Array;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:Array;
var _local11:Object;
var _local12:Object;
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];
};
_local7 = TweenListObj.makePropertiesChain(_arg2);
if (!_inited){
init();
};
if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){
startEngine();
};
_local8 = (isNaN(_local7.time)) ? 0 : _local7.time;
_local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay;
_local10 = new Array();
_local11 = {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};
_local12 = 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;
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 registerTransition(_arg1:String, _arg2:Function):void{
if (!_inited){
init();
};
_transitionList[_arg1] = _arg2;
}
public static function printError(_arg1:String):void{
trace(("## [Tweener] Error: " + _arg1));
}
private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{
var _local4:Boolean;
var _local5:uint;
var _local6:Array;
var _local7:uint;
var _local8:uint;
var _local9:uint;
_local4 = false;
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 getTweens(_arg1:Object):Array{
var _local2:uint;
var _local3:String;
var _local4:Array;
if (!Boolean(_tweenList)){
return ([]);
};
_local4 = 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 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 pauseTweenByIndex(_arg1:Number):Boolean{
var _local2:TweenListObj;
_local2 = _tweenList[_arg1];
if ((((_local2 == null)) || (_local2.isPaused))){
return (false);
};
_local2.timePaused = getCurrentTweeningTime(_local2);
_local2.isPaused = true;
return (true);
}
public static function getCurrentTweeningTime(_arg1:Object):Number{
return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime);
}
public static function getTweenCount(_arg1:Object):Number{
var _local2:uint;
var _local3:Number;
if (!Boolean(_tweenList)){
return (0);
};
_local3 = 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 stopEngine():void{
_engineExists = false;
_tweenList = null;
_currentTime = 0;
_currentTimeFrame = 0;
__tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame);
__tweener_controller__ = null;
}
public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{
var removed:Boolean;
var removedLocally:Boolean;
var i:uint;
var tl:uint;
var pName:String;
var eventScope:Object;
var p_scope = _arg1;
var p_properties = _arg2;
var p_timeStart = _arg3;
var p_timeComplete = _arg4;
removed = false;
tl = _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 registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{
var _local4:SpecialPropertySplitter;
if (!_inited){
init();
};
_local4 = new SpecialPropertySplitter(_arg2, _arg3);
_specialPropertySplitterList[_arg1] = _local4;
}
public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{
_tweenList[_arg1] = null;
if (_arg2){
_tweenList.splice(_arg1, 1);
};
return (true);
}
public static function resumeTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(resumeTweenByIndex, _arg1, _local3));
}
public static function pauseTweens(_arg1:Object, ... _args):Boolean{
var _local3:Array;
var _local4:uint;
_local3 = new Array();
_local4 = 0;
while (_local4 < _args.length) {
if ((((typeof(_args[_local4]) == "string")) && (!(AuxFunctions.isInArray(_args[_local4], _local3))))){
_local3.push(_args[_local4]);
};
_local4++;
};
return (affectTweens(pauseTweenByIndex, _arg1, _local3));
}
}
}//package caurina.transitions
Section 8
//TweenListObj (caurina.transitions.TweenListObj)
package caurina.transitions {
public class TweenListObj {
public var onUpdate:Function;
public var useFrames:Boolean;
public var hasStarted:Boolean;
public var onOverwriteParams:Array;
public var timeStart:Number;
public var count:Number;
public var timeComplete:Number;
public var onStartParams:Array;
public var onUpdateScope:Object;
public var rounded:Boolean;
public var onUpdateParams:Array;
public var properties:Object;
public var onComplete:Function;
public var transitionParams:Object;
public var updatesSkipped:Number;
public var onStart:Function;
public var onOverwriteScope:Object;
public var skipUpdates:Number;
public var onStartScope:Object;
public var scope:Object;
public var transition:Function;
public var timePaused:Number;
public var onCompleteParams:Array;
public var timesCalled:Number;
public var isCaller:Boolean;
public var onError:Function;
public var onErrorScope:Object;
public var onOverwrite:Function;
public var isPaused:Boolean;
public var waitFrames:Boolean;
public var onCompleteScope:Object;
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 _local2:TweenListObj;
var _local3:String;
_local2 = 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 _local1:String;
var _local2:Boolean;
var _local3:String;
_local1 = "\n[TweenListObj ";
_local1 = (_local1 + ("scope:" + String(scope)));
_local1 = (_local1 + ", properties:");
_local2 = true;
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 _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _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
//hoop_47 (childline_climbing_fla.hoop_47)
package childline_climbing_fla {
import flash.display.*;
public dynamic class hoop_47 extends MovieClip {
public var innerRing:MovieClip;
public function hoop_47(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package childline_climbing_fla
Section 10
//leftEyesBlink_38 (childline_climbing_fla.leftEyesBlink_38)
package childline_climbing_fla {
import flash.display.*;
public dynamic class leftEyesBlink_38 extends MovieClip {
public var whichFrame:Number;
public function leftEyesBlink_38(){
addFrameScript(105, frame106);
}
function frame106(){
whichFrame = Math.round((Math.random() * 7));
gotoAndPlay(("normal" + String(whichFrame)));
}
}
}//package childline_climbing_fla
Section 11
//levelSign_53 (childline_climbing_fla.levelSign_53)
package childline_climbing_fla {
import flash.display.*;
public dynamic class levelSign_53 extends MovieClip {
public var hitter:MovieClip;
}
}//package childline_climbing_fla
Section 12
//levelSign2_54 (childline_climbing_fla.levelSign2_54)
package childline_climbing_fla {
import flash.display.*;
public dynamic class levelSign2_54 extends MovieClip {
public var hitter:MovieClip;
}
}//package childline_climbing_fla
Section 13
//levelSign2copy_51 (childline_climbing_fla.levelSign2copy_51)
package childline_climbing_fla {
import flash.display.*;
public dynamic class levelSign2copy_51 extends MovieClip {
public var hitter:MovieClip;
}
}//package childline_climbing_fla
Section 14
//mc_brown_head_42 (childline_climbing_fla.mc_brown_head_42)
package childline_climbing_fla {
import flash.display.*;
public dynamic class mc_brown_head_42 extends MovieClip {
public var whichFrame:Number;
public var mouth:MovieClip;
public function mc_brown_head_42(){
addFrameScript(0, frame1, 62, frame63);
}
function frame1(){
stop();
}
function frame63(){
whichFrame = Math.round((Math.random() * 7));
gotoAndPlay(("normal" + String(whichFrame)));
}
}
}//package childline_climbing_fla
Section 15
//mc_brown_paw_31 (childline_climbing_fla.mc_brown_paw_31)
package childline_climbing_fla {
import flash.display.*;
public dynamic class mc_brown_paw_31 extends MovieClip {
public var hitter:MovieClip;
}
}//package childline_climbing_fla
Section 16
//mc_grey_head_36 (childline_climbing_fla.mc_grey_head_36)
package childline_climbing_fla {
import flash.display.*;
public dynamic class mc_grey_head_36 extends MovieClip {
public var whichFrame:Number;
public var mouth:MovieClip;
public function mc_grey_head_36(){
addFrameScript(0, frame1, 56, frame57);
}
function frame1(){
stop();
}
function frame57(){
whichFrame = Math.round((Math.random() * 6));
gotoAndPlay(("normal" + String(whichFrame)));
}
}
}//package childline_climbing_fla
Section 17
//mouth_37 (childline_climbing_fla.mouth_37)
package childline_climbing_fla {
import flash.display.*;
public dynamic class mouth_37 extends MovieClip {
public function mouth_37(){
addFrameScript(0, frame1, 132, frame133, 304, frame305);
}
function frame305(){
gotoAndStop(1);
}
function frame1(){
stop();
}
function frame133(){
gotoAndStop(1);
}
}
}//package childline_climbing_fla
Section 18
//rightEyesBlink_43 (childline_climbing_fla.rightEyesBlink_43)
package childline_climbing_fla {
import flash.display.*;
public dynamic class rightEyesBlink_43 extends MovieClip {
public var whichFrame:Number;
public function rightEyesBlink_43(){
addFrameScript(119, frame120);
}
function frame120(){
whichFrame = Math.round((Math.random() * 7));
gotoAndPlay(("normal" + String(whichFrame)));
}
}
}//package childline_climbing_fla
Section 19
//scoreText_23 (childline_climbing_fla.scoreText_23)
package childline_climbing_fla {
import flash.display.*;
import flash.text.*;
public dynamic class scoreText_23 extends MovieClip {
public var scoreTextBox:TextField;
}
}//package childline_climbing_fla
Section 20
//sun_50 (childline_climbing_fla.sun_50)
package childline_climbing_fla {
import flash.display.*;
public dynamic class sun_50 extends MovieClip {
public function sun_50(){
addFrameScript(104, frame105);
}
function frame105(){
gotoAndPlay(1);
}
}
}//package childline_climbing_fla
Section 21
//timeBox_27 (childline_climbing_fla.timeBox_27)
package childline_climbing_fla {
import flash.display.*;
import flash.text.*;
public dynamic class timeBox_27 extends MovieClip {
public var timeText:TextField;
}
}//package childline_climbing_fla
Section 22
//Background (Background)
package {
import flash.display.*;
public dynamic class Background extends MovieClip {
public var l3a:MovieClip;
public var finishLine:MovieClip;
public var l1:MovieClip;
public var sun:MovieClip;
public var l3:MovieClip;
public var l2:MovieClip;
public var l1a:MovieClip;
public var l2a:MovieClip;
public var back:MovieClip;
}
}//package
Section 23
//BeesNest (BeesNest)
package {
import flash.display.*;
public dynamic class BeesNest extends MovieClip {
public var beesNest:MovieClip;
}
}//package
Section 24
//Boing (Boing)
package {
import flash.media.*;
public dynamic class Boing extends Sound {
}
}//package
Section 25
//Brown_body (Brown_body)
package {
import flash.display.*;
public dynamic class Brown_body extends MovieClip {
}
}//package
Section 26
//Buzzing (Buzzing)
package {
import flash.media.*;
public dynamic class Buzzing extends Sound {
}
}//package
Section 27
//Cat_Foot (Cat_Foot)
package {
import flash.display.*;
public dynamic class Cat_Foot extends MovieClip {
public var hitter:MovieClip;
}
}//package
Section 28
//childline_bonus (childline_bonus)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
public class childline_bonus extends MovieClip {
public var theRoot;
public var itemNumber:Number;
private var removeMeTimer:Timer;
private var whichTypeOfBonus:String;
private var runOnce:Boolean;// = false
private var addMeTimer:Timer;
private var scoreToAdd:Number;
public function childline_bonus(_arg1, _arg2){
runOnce = false;
super();
addFrameScript(0, frame1, 9, frame10);
theRoot = _arg1;
itemNumber = _arg2;
this.name = ("object" + itemNumber);
scoreToAdd = (25 * theRoot.currentLevel);
addTimer();
}
private function onTick(_arg1:TimerEvent){
scoreToAdd = (scoreToAdd - 3);
if (scoreToAdd < 5){
scoreToAdd = 5;
};
}
private function addTimer(){
var _local1:*;
var _local2:Number;
_local1 = Math.ceil((Math.random() * 3));
if (_local1 == 1){
this.gotoAndStop("fish");
whichTypeOfBonus = "fish";
} else {
this.gotoAndStop("time");
whichTypeOfBonus = "time";
};
_local2 = (5 + Math.round((Math.random() * 10)));
addMeTimer = new Timer(1000, _local2);
addMeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, addMe);
addMeTimer.start();
theRoot.objectsLayer.addChild(this);
this.alpha = 0;
}
private function hideObject(){
this.visible = false;
addTimer();
}
private function addMe(_arg1:TimerEvent){
var _local2:*;
var _local3:Number;
scoreToAdd = (25 * theRoot.currentLevel);
this.visible = true;
this.alpha = 0;
Tweener.addTween(this, {transition:"linear", alpha:1, time:1, onComplete:addHitests});
_local2 = Math.ceil((Math.random() * 2));
if (_local2 <= 1){
this.x = (60 + (Math.random() * 150));
};
if (_local2 > 1){
this.x = (450 + (Math.random() * 100));
};
this.y = (theRoot.objectsLayer.y - (Math.random() * 1500));
if (runOnce == false){
runOnce = true;
theRoot.objectsLayer.addChild(this);
};
_local3 = (5 + Math.round((Math.random() * 10)));
removeMeTimer = new Timer(1000, _local3);
removeMeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, removeMe);
removeMeTimer.addEventListener(TimerEvent.TIMER, onTick);
removeMeTimer.start();
}
private function removeMe(_arg1:TimerEvent){
removeEventListener(Event.ENTER_FRAME, runHitTests);
Tweener.addTween(this, {transition:"linear", alpha:0, time:1, onComplete:hideObject});
}
function frame10(){
stop();
}
function frame1(){
stop();
}
public function removeTool(){
removeEventListener(Event.ENTER_FRAME, runHitTests);
if (addMeTimer){
addMeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, addMe);
};
if (removeMeTimer){
removeMeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, removeMe);
removeMeTimer.removeEventListener(TimerEvent.TIMER, onTick);
};
Tweener.removeTweens(this);
if (this.parent){
trace("remove the bonus");
this.parent.removeChild(this);
};
}
private function addHitests(){
addEventListener(Event.ENTER_FRAME, runHitTests);
}
private function runHitTests(_arg1:Event){
var _local2:uint;
var _local3:*;
_local2 = 0;
while (_local2 < 4) {
_local3 = theRoot.characterLayer.getChildByName(("foot" + _local2));
if (_local3 != null){
if (_local3.hitTestObject(this) == true){
removeEventListener(Event.ENTER_FRAME, runHitTests);
theRoot.boingSound();
if (whichTypeOfBonus == "time"){
theRoot.addOnTime(this.x, this.y);
this.alpha = 0;
Tweener.addTween(this, {transition:"linear", alpha:0, time:1, onComplete:hideObject});
theRoot.makeCharacterSmile();
};
removeMeTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, removeMe);
if (whichTypeOfBonus == "fish"){
Tweener.addTween(this, {transition:"linear", alpha:0, time:1, onComplete:hideObject});
theRoot.updateScore(this.x, this.y, scoreToAdd);
theRoot.makeCharacterSmile();
};
break;
};
};
_local2++;
};
}
}
}//package
Section 29
//childline_character (childline_character)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
public class childline_character extends MovieClip {
public var bugFix:Boolean;// = true
public var theRoot;
private var left:Number;// = 580
private var right:Number;// = 20
private var bottom:Number;// = 700
private var allowGrab:Boolean;// = true
public var leftArmPos;
public var whichPaw:String;
private var gravity:Number;// = 1.2
private var k:Number;// = 0.2
private var delayTimer:Timer;
public var catBody:childline_character_body;
private var radius:Number;// = 35
public var catFoot:Cat_Foot;
public var leftLegPos;
public var whichCat:String;
public var rightLegPos;
public var rightArmPos;
public var gameInPlay:Boolean;// = false
private var runOnce:Boolean;// = false
private var allowRelease:Boolean;// = true
private var allowHandGrab:Boolean;// = true
private var damp:Number;// = 0.85
public var catPaw:Paw;
public function childline_character(_arg1, _arg2){
gravity = 1.2;
radius = 35;
damp = 0.85;
left = 580;
right = 20;
k = 0.2;
bottom = 700;
allowRelease = true;
runOnce = false;
gameInPlay = false;
allowGrab = true;
bugFix = true;
allowHandGrab = true;
super();
theRoot = _arg1;
whichCat = _arg2;
initGame();
}
private function removeObjects(){
var _local1:uint;
var _local2:*;
_local1 = theRoot.characterLayer.numChildren;
while (_local1--) {
_local2 = theRoot.characterLayer.getChildAt(_local1);
if (theRoot.characterLayer.getChildAt(_local1)){
theRoot.characterLayer.removeChildAt(_local1);
};
};
trace("end of remove objects");
}
private function resetVariable(_arg1:TimerEvent){
allowHandGrab = true;
}
private function addDelayTimer(){
delayTimer = new Timer(500, 1);
delayTimer.addEventListener(TimerEvent.TIMER_COMPLETE, resetVariable);
delayTimer.start();
}
private function removeListeners(){
var _local1:uint;
var _local2:*;
if (delayTimer){
delayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, resetVariable);
};
this.removeEventListener(Event.ENTER_FRAME, drawLines);
catBody.removeEventListener(Event.ENTER_FRAME, bodySpring);
theRoot.stage.removeEventListener(MouseEvent.MOUSE_UP, resetVariables);
catBody.gameOver();
trace("1");
_local1 = 0;
while (_local1 < 4) {
_local2 = theRoot.characterLayer.getChildByName(("foot" + _local1));
_local2.removeEventListener(MouseEvent.MOUSE_DOWN, doDrag);
_local2.removeEventListener(MouseEvent.MOUSE_UP, noDrag);
_local2.removeEventListener(Event.ENTER_FRAME, footSpring);
_local2.removeEventListener(Event.ENTER_FRAME, footSpring);
_local2.removeEventListener(Event.ENTER_FRAME, dragUsingMouse);
_local2.removeEventListener(MouseEvent.MOUSE_OUT, setCheck);
_local2.removeEventListener(MouseEvent.MOUSE_OVER, removeOtherListeners);
_local2.removeEventListener(Event.ENTER_FRAME, footSpring);
_local1++;
};
trace("1");
trace("end of remove listeners");
}
private function footSpring(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:Number;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:Number;
var _local12:*;
_local2 = _arg1.target;
if (_local2.name == "foot0"){
_local3 = catBody.leftLegPos;
};
if (_local2.name == "foot1"){
_local3 = catBody.rightLegPos;
};
if (_local2.name == "foot2"){
_local3 = catBody.leftArmPos;
};
if (_local2.name == "foot3"){
_local3 = catBody.rightArmPos;
};
_local4 = _local3.x;
if (_local2.dragging == false){
_local5 = (_local2.x - _local3.x);
_local6 = (_local2.y - _local3.y);
_local7 = Math.atan2(_local6, _local5);
_local8 = (_local3.x + (Math.cos(_local7) * radius));
_local9 = (_local3.y + (Math.sin(_local7) * radius));
_local10 = (_local3.x - _local2.x);
_local11 = (_local3.y - _local2.y);
_local12 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11)));
_local2.currentStretch = _local12;
_local2.vx = (_local2.vx + ((_local8 - _local2.x) * k));
_local2.vy = (_local2.vy + ((_local9 - _local2.y) * k));
_local2.vy = (_local2.vy + gravity);
_local2.vx = (_local2.vx * damp);
_local2.vy = (_local2.vy * damp);
_local2.x = (_local2.x + _local2.vx);
_local2.y = (_local2.y + _local2.vy);
if ((((_local2.name == "foot3")) || ((_local2.name == "foot1")))){
_local4 = (_local3.x + 20);
if (_local2.x < _local4){
_local2.x = _local4;
};
};
if ((((_local2.name == "foot0")) || ((_local2.name == "foot2")))){
_local4 = (_local3.x - 20);
if (_local2.x > _local4){
_local2.x = (_local3.x - 20);
};
};
};
if (_local2.dragging == true){
_local2.vx = (_local2.x - _local2.oldx);
_local2.vy = (_local2.y - _local2.oldy);
_local2.oldx = _local2.x;
_local2.oldy = _local2.y;
};
}
public function initGame(){
addCatBody();
addCatPaws();
this.addEventListener(Event.ENTER_FRAME, drawLines);
}
public function fallOff(){
var _local1:uint;
var _local2:*;
catBody.dragging = false;
gameInPlay = false;
_local1 = 0;
while (_local1 < 4) {
_local2 = theRoot.characterLayer.getChildByName(("foot" + _local1));
if (_local2 != null){
_local2.removeEventListener(Event.ENTER_FRAME, dragUsingMouse);
_local2.dragging = false;
_local2.onHook = false;
_local2.removeEventListener(MouseEvent.MOUSE_DOWN, doDrag);
_local2.removeEventListener(MouseEvent.MOUSE_UP, noDrag);
_local2.removeEventListener(MouseEvent.MOUSE_OUT, setCheck);
_local2.removeEventListener(MouseEvent.MOUSE_OVER, removeOtherListeners);
_local2.addEventListener(Event.ENTER_FRAME, footSpring);
_local2.removeEventListener(Event.ENTER_FRAME, dragUsingMouse);
};
_local1++;
};
trace("end of fall off");
}
private function doDrag(_arg1:MouseEvent){
if (allowHandGrab == true){
allowHandGrab = false;
if (allowGrab == true){
allowGrab = false;
gameInPlay = true;
if (runOnce == false){
runOnce = true;
catBody.dragging = false;
};
_arg1.currentTarget.dragging = true;
if (_arg1.currentTarget.name != "body"){
whichPaw = _arg1.currentTarget.name;
_arg1.currentTarget.allowDrag = true;
_arg1.currentTarget.startX = _arg1.currentTarget.x;
_arg1.currentTarget.startY = _arg1.currentTarget.y;
_arg1.currentTarget.addEventListener(MouseEvent.MOUSE_OUT, setCheck);
};
};
};
}
private function bodySpring(_arg1:Event){
var _local2:*;
var _local3:uint;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
if (bugFix == true){
beesHittests();
_local2 = _arg1.target;
if (_local2.dragging == false){
_local3 = 0;
while (_local3 < 4) {
_local4 = theRoot.characterLayer.getChildByName(("foot" + _local3));
if (_local4 != null){
_local5 = (_local2.x - _local4.x);
_local6 = (_local2.y - _local4.y);
_local7 = Math.atan2(_local6, _local5);
_local8 = (_local4.x + (Math.cos(_local7) * radius));
_local9 = (_local4.y + (Math.sin(_local7) * radius));
_local2.vx = (_local2.vx + ((_local8 - _local2.x) * k));
_local2.vy = (_local2.vy + ((_local9 - _local2.y) * k));
};
_local3++;
};
_local2.vy = (_local2.vy + gravity);
_local2.vx = (_local2.vx * damp);
_local2.vy = (_local2.vy * damp);
_local2.updateRotation(_local2.vx);
_local2.x = (_local2.x + _local2.vx);
_local2.y = (_local2.y + _local2.vy);
if (_local2.x > (left - (_local2.width / 2))){
_local2.x = (left - (_local2.width / 2));
_local2.vx = (_local2.vx * -0.1);
};
if (_local2.x < (right + (_local2.width / 2))){
_local2.x = (right + (_local2.width / 2));
_local2.vx = (_local2.vx * -0.1);
};
if (_local2.y > (bottom - (_local2.height / 2))){
_local2.y = (bottom - (_local2.height / 2));
_local2.vy = (_local2.vy * -0.1);
};
};
if (_local2.dragging == true){
_local2.vx = (_local2.x - _local2.oldx);
_local2.vy = (_local2.y - _local2.oldy);
_local2.oldx = _local2.x;
_local2.oldy = _local2.y;
};
if (_local2.y > 600){
resetBody();
};
};
}
private function noDrag(_arg1:MouseEvent){
addDelayTimer();
allowGrab = true;
_arg1.currentTarget.dragging = false;
if (_arg1.currentTarget.name != "body"){
_arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, setCheck);
theRoot.stage.removeEventListener(MouseEvent.MOUSE_UP, resetVariables);
hoopHitTests(_arg1.currentTarget);
_arg1.currentTarget.allowDrag = false;
};
}
private function drawLines(_arg1:Event){
var _local2:uint;
var _local3:Number;
var _local4:*;
var _local5:uint;
var _local6:*;
var _local7:*;
theRoot.clearLines();
_local2 = 0;
while (_local2 < 4) {
_local3 = 0;
_local4 = theRoot.characterLayer.getChildByName(("foot" + _local2));
_local5 = 0;
while (_local5 < 4) {
_local7 = theRoot.characterLayer.getChildByName(("foot" + _local5));
if (_local7.onHook == true){
_local3 = (_local3 + 1);
};
if (_local3 == 2){
_local4.allowedToRelease = false;
};
if (_local3 > 2){
_local4.allowedToRelease = true;
};
if (_local4.onHook == false){
_local4.allowedToRelease = true;
};
_local5++;
};
if (_local4.name == "foot0"){
if (catBody.leftLegPos){
_local6 = catBody.leftLegPos;
};
};
if (_local4.name == "foot1"){
if (catBody.rightLegPos){
_local6 = catBody.rightLegPos;
};
};
if (_local4.name == "foot2"){
if (catBody.leftArmPos){
_local6 = catBody.leftArmPos;
};
};
if (_local4.name == "foot3"){
if (catBody.rightArmPos){
_local6 = catBody.rightArmPos;
};
};
theRoot.drawLines(_local4.x, _local4.y, _local6.x, _local6.y);
_local2++;
};
}
public function updateY(_arg1){
var _local2:uint;
var _local3:*;
Tweener.addTween(catBody, {transition:"easeOutSine", time:0.5, y:(catBody.y + _arg1)});
_local2 = 0;
while (_local2 < 4) {
_local3 = theRoot.characterLayer.getChildByName(("foot" + _local2));
Tweener.addTween(_local3, {transition:"easeOutSine", time:0.5, y:(_local3.y + _arg1)});
_local2++;
};
}
private function addCatPaws(){
var _local1:int;
var _local2:int;
_local1 = 0;
while (_local1 < 2) {
catPaw = new Paw();
theRoot.characterLayer.addChild(catPaw);
catPaw.gotoAndStop(whichCat);
catPaw.name = ("foot" + (_local1 + 2));
catPaw.buttonMode = true;
if (_local1 == 0){
catPaw.x = 267;
catPaw.y = 284;
catPaw.onHook = true;
};
if (_local1 == 1){
catPaw.x = 378;
catPaw.y = 295;
catPaw.onHook = true;
};
catPaw.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
catPaw.addEventListener(MouseEvent.MOUSE_UP, noDrag);
catPaw.addEventListener(Event.ENTER_FRAME, footSpring);
catPaw.dragging = true;
catPaw.allowDrag = false;
catPaw.addEventListener(Event.ENTER_FRAME, dragUsingMouse);
catPaw.currentStretch = 0;
catPaw.scaleX = (catPaw.scaleY = 0.8);
_local1++;
};
_local2 = 0;
while (_local2 < 2) {
catFoot = new Cat_Foot();
theRoot.characterLayer.addChild(catFoot);
catFoot.name = ("foot" + _local2);
catFoot.buttonMode = true;
if (_local2 == 0){
catFoot.x = 0xFF;
catFoot.y = 455;
catFoot.onHook = true;
};
if (_local2 == 1){
catFoot.x = 370;
catFoot.y = 445;
catFoot.onHook = true;
};
catFoot.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
catFoot.addEventListener(MouseEvent.MOUSE_UP, noDrag);
catFoot.addEventListener(Event.ENTER_FRAME, footSpring);
catFoot.dragging = true;
catFoot.allowDrag = false;
catFoot.addEventListener(Event.ENTER_FRAME, dragUsingMouse);
catFoot.currentStretch = 0;
catFoot.scaleX = (catFoot.scaleY = 0.8);
_local2++;
};
}
private function removeOtherListeners(_arg1:MouseEvent){
_arg1.target.removeEventListener(MouseEvent.MOUSE_OVER, removeOtherListeners);
_arg1.currentTarget.addEventListener(MouseEvent.MOUSE_OUT, setCheck);
}
private function hoopHitTests(_arg1){
var _local2:Boolean;
var _local3:uint;
var _local4:*;
var _local5:*;
var _local6:*;
if (gameInPlay == true){
_local2 = false;
_arg1.removeEventListener(Event.ENTER_FRAME, footSpring);
_local3 = 0;
while (_local3 < theRoot.gameBackground.numChildren) {
_local4 = theRoot.gameBackground.getChildAt(_local3);
if (((((((((((((((((!((_local4.name == "back"))) && (!((_local4.name == "l1a"))))) && (!((_local4.name == "l2a"))))) && (!((_local4.name == "l3a"))))) && (!((_local4.name == "l1"))))) && (!((_local4.name == "l2"))))) && (!((_local4.name == "l3"))))) && (!((_local4.name == "beesNest"))))) && (!((_local4.name == "finishLine"))))){
if (_local4.hitTestObject(_arg1) == true){
_local5 = _local4.getChildByName("innerRing");
_local6 = _arg1.getChildByName("hitter");
if (_local6 != null){
if (_local5.hitTestObject(_local6) == true){
_local4.gotoAndPlay("on");
_local2 = true;
_arg1.onHook = true;
theRoot.updateBackgroundPos(catBody.y);
break;
};
};
} else {
_arg1.onHook = false;
};
};
_local3++;
};
if (_local2 == false){
_arg1.addEventListener(Event.ENTER_FRAME, footSpring);
};
};
}
public function resetBody(){
bugFix = false;
gameOver();
theRoot.resetBackground();
trace("end of reset body");
}
private function setCheck(_arg1:MouseEvent){
_arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, setCheck);
theRoot.stage.addEventListener(MouseEvent.MOUSE_UP, resetVariables);
}
private function beesHittests(){
var _local1:Number;
var _local2:uint;
var _local3:*;
if (bugFix == true){
_local1 = theRoot.beesNest.numChildren;
_local2 = 0;
while (_local2 < _local1) {
_local3 = theRoot.beesNest.getChildAt(_local2);
if (catBody){
if (_local3 != null){
if (catBody.hitTestObject(_local3) == true){
if (gameInPlay == true){
theRoot.makeCharaterSad();
theRoot.beehiveHit();
};
};
};
};
_local2++;
};
};
}
private function dragUsingMouse(_arg1:Event){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:*;
var _local16:*;
var _local17:Number;
var _local18:Number;
var _local19:*;
var _local20:*;
var _local21:Number;
var _local22:*;
var _local23:uint;
var _local24:uint;
var _local25:*;
var _local26:*;
if (gameInPlay == true){
_local2 = _arg1.target.name;
_local3 = theRoot.characterLayer.getChildByName(_local2);
if (_local3.name == "foot0"){
_local5 = catBody.leftLegPos;
_local4 = "foot1";
};
if (_local3.name == "foot1"){
_local5 = catBody.rightLegPos;
_local4 = "foot0";
};
if (_local3.name == "foot2"){
_local5 = catBody.leftArmPos;
_local4 = "foot3";
};
if (_local3.name == "foot3"){
_local5 = catBody.rightArmPos;
_local4 = "foot2";
};
_local6 = _local5.x;
_local7 = theRoot.stage.mouseX;
_local8 = _local5.y;
_local9 = theRoot.stage.mouseY;
_local10 = Math.atan(((_local8 - _local9) / (_local7 - _local6)));
_local12 = Math.atan2((_local3.y - _local8), (_local3.x - _local6));
_local3.rotation = (((_local12 * 180) / Math.PI) + 90);
catBody.rotation = (_local10 * (_local12 / 180));
_local13 = (_local5.x - theRoot.stage.mouseX);
_local14 = (_local5.y - theRoot.stage.mouseY);
_local15 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14)));
_local16 = theRoot.characterLayer.getChildByName(_local4);
_local18 = 150;
if (_local3.allowedToRelease == true){
if (_local3.allowDrag == true){
_local3.x = theRoot.stage.mouseX;
_local3.y = theRoot.stage.mouseY;
if (_local15 > (150 - _local16.currentStretch)){
_local20 = (150 - _local16.currentStretch);
if (_local7 >= _local6){
_local3.x = (_local6 + (_local20 * Math.cos(_local10)));
_local3.y = (_local8 - (_local20 * Math.sin(_local10)));
} else {
_local3.x = (_local6 - (_local20 * Math.cos(_local10)));
_local3.y = (_local8 + (_local20 * Math.sin(_local10)));
};
};
};
};
if (bugFix == true){
_local21 = theRoot.beesNest.numChildren;
_local23 = 0;
while (_local23 < _local3.numChildren) {
_local22 = _local3.getChildAt(_local23);
if (_local22.name == "hitter"){
break;
};
_local23++;
};
_local24 = 0;
while (_local24 < _local21) {
_local25 = theRoot.beesNest.getChildAt(_local24);
if (_local3){
if (_local25 != null){
if (_local22.hitTestObject(_local25) == true){
if (gameInPlay == true){
theRoot.makeCharaterSad();
theRoot.beehiveHit();
};
};
};
};
_local24++;
};
};
_local19 = _local3.getChildByName("hitter");
if (_local19 != null){
if (theRoot.currentLevel == 1){
_local26 = theRoot.gameBackground.l1.getChildByName("hitter");
};
if (theRoot.currentLevel == 2){
_local26 = theRoot.gameBackground.l2.getChildByName("hitter");
};
if (theRoot.currentLevel == 3){
_local26 = theRoot.gameBackground.l3.getChildByName("hitter");
};
if (_local19.hitTestObject(_local26) == true){
theRoot.gameComplete();
};
};
};
}
private function addCatBody(){
catBody = new childline_character_body(this, whichCat, theRoot);
catBody.addEventListener(Event.ENTER_FRAME, bodySpring);
catBody.dragging = true;
}
public function resetGame(){
fallOff();
}
private function resetVariables(_arg1:MouseEvent){
var _local2:*;
addDelayTimer();
theRoot.stage.removeEventListener(MouseEvent.MOUSE_UP, resetVariables);
allowGrab = true;
_local2 = theRoot.characterLayer.getChildByName(whichPaw);
_local2.addEventListener(MouseEvent.MOUSE_OVER, removeOtherListeners);
hoopHitTests(_local2);
_local2.dragging = false;
_local2.allowDrag = false;
}
public function gameOver(){
theRoot.clearLines();
removeListeners();
removeObjects();
trace("end of game over 2");
}
}
}//package
Section 30
//childline_character_body (childline_character_body)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
public class childline_character_body extends MovieClip {
public var theRoot;
public var BaseClass;
public var oldx:Number;
public var oldy:Number;
public var leftArmPos;
public var tail:MovieClip;
public var rightLeg:MovieClip;
public var dragging:Boolean;
public var leftLeg:MovieClip;
private var whichCat:String;
public var leftLegPos;
public var rightArm:MovieClip;
public var body:MovieClip;
public var rightArmPos;
public var rightLegPos;
public var vx:Number;
public var vy:Number;
public var leftArm:MovieClip;
public var head:MovieClip;
public function childline_character_body(_arg1, _arg2, _arg3){
addFrameScript(0, frame1, 19, frame20);
BaseClass = _arg3;
theRoot = _arg1;
whichCat = _arg2;
initGame();
}
private function findPivets(_arg1:Event){
var _local2:Point;
var _local3:Point;
var _local4:Point;
var _local5:Point;
if (this.leftArm){
_local2 = new Point(this.leftArm.x, this.leftArm.y);
leftArmPos = localToGlobal(_local2);
};
if (this.rightArm){
_local3 = new Point(this.rightArm.x, this.rightArm.y);
rightArmPos = localToGlobal(_local3);
};
if (this.leftLeg){
_local4 = new Point(this.leftLeg.x, this.leftLeg.y);
leftLegPos = localToGlobal(_local4);
};
if (this.rightLeg){
_local5 = new Point(this.rightLeg.x, this.rightLeg.y);
rightLegPos = localToGlobal(_local5);
};
}
public function smile(){
var _local1:*;
_local1 = this.head.getChildByName("mouth");
if (_local1 != null){
_local1.gotoAndPlay("happy");
};
}
public function initGame(){
addCatBody();
}
public function updateRotation(_arg1){
if (this.head){
head.rotation = -((_arg1 * 1.2));
};
if (this.tail){
tail.rotation = -((_arg1 * 5));
};
if (this.body){
body.rotation = (_arg1 * 1.2);
};
}
function frame20(){
stop();
}
public function frown(){
var _local1:*;
_local1 = this.head.getChildByName("mouth");
if (_local1 != null){
_local1.gotoAndPlay("sad");
};
}
private function addCatBody(){
BaseClass.characterLayer.addChild(this);
this.gotoAndStop(whichCat);
this.x = 325;
this.y = 375;
this.name = "body";
this.buttonMode = true;
this.addEventListener(Event.ENTER_FRAME, findPivets);
}
function frame1(){
stop();
}
public function gameOver(){
this.removeEventListener(Event.ENTER_FRAME, findPivets);
if (this.parent){
this.parent.removeChild(this);
};
}
}
}//package
Section 31
//childline_climbing (childline_climbing)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.media.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class childline_climbing extends MovieClip {
public var screensLayer:MovieClip;
public var forest:Forest;
private var originalGameLength:uint;// = 60
private var buzzing:Buzzing;
public var beesNest:BeesNest;
public var screenLayer:MovieClip;
private var gameTimer:Timer;
public var boing:Boing;
public var gameLayer:MovieClip;
public var lowTimeMessage:Boolean;// = false
public var score:Number;// = 0
public var objectsLayer:MovieClip;
public var beesNestLayer:MovieClip;
public var backgroundLayer:MovieClip;
public var gameBackground:Background;
public var gameOverSound:Gameover;
private var whichType:String;
public var lives:Number;// = 3
private var timeGone:uint;// = 0
private var tempScore:Number;// = 0
public var timeBonusLayer:MovieClip;
public var character:childline_character;
public var screenTextLayer:MovieClip;
private var timer:TimerMC;
private var gameLength:uint;// = 15
public var meow:Meow;
public var currentLevel:Number;// = 1
public var screens:childline_screens;
public var characterLayer:MovieClip;
private var logo:Logo;
private var livesDisplay:Lives;
private var scoreDisplay:Score;
public var sc1:SoundChannel;
public var sc2:SoundChannel;
public function childline_climbing(){
lives = 3;
score = 0;
tempScore = 0;
currentLevel = 1;
lowTimeMessage = false;
buzzing = new Buzzing();
forest = new Forest();
gameOverSound = new Gameover();
boing = new Boing();
meow = new Meow();
originalGameLength = 60;
gameLength = 15;
timeGone = 0;
characterLayer = new MovieClip();
backgroundLayer = new MovieClip();
screensLayer = new MovieClip();
gameLayer = new MovieClip();
objectsLayer = new MovieClip();
screenLayer = new MovieClip();
timeBonusLayer = new MovieClip();
screenTextLayer = new MovieClip();
beesNestLayer = new MovieClip();
gameBackground = new Background();
timer = new TimerMC();
livesDisplay = new Lives();
scoreDisplay = new Score();
beesNest = new BeesNest();
logo = new Logo();
super();
initGame();
}
public function drawLines(_arg1, _arg2, _arg3, _arg4){
characterLayer.graphics.lineStyle(3);
characterLayer.graphics.moveTo(_arg3, _arg4);
characterLayer.graphics.lineTo(_arg1, _arg2);
}
public function addMessage(_arg1){
var _local2:*;
_local2 = new childline_signs(this, _arg1);
}
public function stopBackgroundNoise():void{
sc2.stop();
}
public function backgroundNoiseAgain(_arg1:Event){
sc2 = forest.play();
sc2.addEventListener(Event.SOUND_COMPLETE, backgroundNoiseAgain);
}
public function backgroundNoise():void{
sc2 = forest.play();
sc2.addEventListener(Event.SOUND_COMPLETE, backgroundNoiseAgain);
}
public function resetCharacter(){
addTimer();
character = new childline_character(this, whichType);
character.gameInPlay = true;
trace("dding new character");
}
private function addBackground(){
addMessage("getReady");
Tweener.addTween(gameBackground, {transition:"easeOutSine", time:1.5, y:510, onComplete:addTimer});
characterLayer.y = 0;
characterLayer.alpha = 0;
}
private function countUpScore(_arg1:Event){
if (score <= 0){
score = 0;
tempScore = 0;
} else {
if (tempScore < score){
tempScore = (tempScore + 1);
};
};
scoreDisplay.scoreText.text = ("score: " + String(tempScore));
}
public function clearLines(){
characterLayer.graphics.clear();
}
public function makeCharaterSad(){
character.catBody.frown();
}
private function setupTimer():void{
timer.timeBox.timeText.text = convertToGameTime(gameLength);
timeGone = 0;
gameTimer = new Timer(1000, gameLength);
gameTimer.addEventListener(TimerEvent.TIMER, onGameTimerTick);
gameTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onGameTimerUp);
gameTimer.start();
}
public function levelComplete(){
resetGame();
addMessage("getReady");
}
public function makeCharacterSmile(){
character.catBody.smile();
}
private function onGameTimerTick(_arg1:TimerEvent):void{
if (timeGone < gameLength){
timeGone = (timeGone + 1);
timer.timeBox.timeText.text = convertToGameTime((gameTimer.repeatCount - timeGone));
if ((gameTimer.repeatCount - timeGone) < 5){
if (lowTimeMessage == false){
addMessage("lowTime");
lowTimeMessage = true;
};
};
};
}
public function initGame(){
backgroundNoise();
addLayers();
backgroundLayer.addChild(gameBackground);
gameBackground.x = 300;
gameBackground.y = 2000;
addScreens();
}
private function onGameTimerUp(_arg1:TimerEvent):void{
makeCharaterSad();
gameTimer.removeEventListener(TimerEvent.TIMER, onGameTimerTick);
gameTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onGameTimerUp);
lives = (lives - 1);
livesDisplay.livesText.text = String(lives);
if (lives == 0){
Tweener.addTween(gameBackground, {transition:"easeOutSine", time:1, y:510});
Tweener.addTween(objectsLayer, {transition:"easeOutSine", time:1, y:0});
Tweener.addTween(timeBonusLayer, {transition:"easeOutSine", time:1, y:0});
character.gameOver();
addMessage("gameOver");
gameOverSoundPlay();
};
if (lives > 0){
addMessage("TimeUp");
gameOverSoundPlay();
resetGame();
score = 0;
};
trace("end of time up");
}
private function addTimer(){
var _local1:*;
var _local2:*;
var _local3:*;
_local1 = gameBackground.getChildByName("finishLine");
_local2 = gameBackground.getChildByName("l1");
_local2.visible = true;
_local3 = gameBackground.getChildByName("l2");
_local3.visible = true;
if (currentLevel == 1){
_local3.visible = false;
};
if (currentLevel == 2){
_local2.visible = false;
};
if (currentLevel == 3){
_local2.visible = false;
_local3.visible = false;
};
timeGone = 0;
gameLength = 60;
tempScore = 0;
characterLayer.alpha = 1;
character.gameInPlay = true;
objectsLayer.y = 0;
backgroundLayer.y = 0;
timeBonusLayer.y = 0;
addObjects();
screenTextLayer.addChild(timer);
timer.x = 300;
timer.y = 487;
livesDisplay.livesText.text = String(lives);
livesDisplay.gotoAndStop(whichType);
screenTextLayer.addChild(livesDisplay);
livesDisplay.x = 500;
livesDisplay.y = 487;
screenTextLayer.addChild(scoreDisplay);
scoreDisplay.y = 487;
scoreDisplay.x = 50;
scoreDisplay.scoreText.text = ("score: " + String(score));
scoreDisplay.addEventListener(Event.ENTER_FRAME, countUpScore);
setupTimer();
}
private function addObjects(){
var _local1:uint;
var _local2:*;
_local1 = 0;
while (_local1 < 15) {
_local2 = new childline_bonus(this, _local1);
_local1++;
};
}
private function addLayers(){
addChild(gameLayer);
gameLayer.addChild(backgroundLayer);
gameLayer.addChild(screenLayer);
gameLayer.addChild(objectsLayer);
gameLayer.addChild(beesNestLayer);
gameLayer.addChild(timeBonusLayer);
gameLayer.addChild(screenTextLayer);
gameLayer.addChild(characterLayer);
gameLayer.addChild(logo);
logo.x = 80;
logo.y = 33.4;
}
public function beehiveHit(){
lives = (lives - 1);
livesDisplay.livesText.text = String(lives);
if (lives == 0){
gameTimer.removeEventListener(TimerEvent.TIMER, onGameTimerTick);
gameTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onGameTimerUp);
scoreDisplay.removeEventListener(Event.ENTER_FRAME, countUpScore);
Tweener.addTween(gameBackground, {transition:"easeOutSine", time:1, y:510});
Tweener.addTween(objectsLayer, {transition:"easeOutSine", time:1, y:0});
Tweener.addTween(timeBonusLayer, {transition:"easeOutSine", time:1, y:0});
character.gameOver();
addMessage("gameOver");
gameOverSoundPlay();
};
if (lives > 0){
resetGame();
meowSound();
playBuzzingSound();
addMessage("beeNests");
};
trace("end of behive hit");
}
public function updateScore(_arg1, _arg2, _arg3){
var _local4:*;
_local4 = new childline_time(this, _arg1, _arg2, "fish", _arg3);
if (_arg3 < 0){
score = (score + _arg3);
tempScore = score;
scoreDisplay.scoreText.text = ("score: " + String(score));
} else {
score = (score + _arg3);
};
}
public function addOnTime(_arg1, _arg2){
var _local3:Number;
var _local4:*;
_local3 = (20 - (5 * currentLevel));
gameTimer.repeatCount = (gameTimer.repeatCount + _local3);
gameLength = (gameLength + _local3);
_local4 = new childline_time(this, _arg1, _arg2, "time", 0);
}
public function gameComplete(){
var _local1:uint;
var _local2:*;
makeCharacterSmile();
meowSound();
gameTimer.removeEventListener(TimerEvent.TIMER, onGameTimerTick);
gameTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onGameTimerUp);
scoreDisplay.removeEventListener(Event.ENTER_FRAME, countUpScore);
if (currentLevel == 3){
addMessage("wellDone");
tempScore = 0;
score = (score + (gameLength - timeGone));
} else {
score = (score + (gameLength - timeGone));
addMessage("levelComplete");
};
character.gameInPlay = false;
_local1 = objectsLayer.numChildren;
while (_local1--) {
_local2 = objectsLayer.getChildByName(("object" + _local1));
if (objectsLayer.getChildAt(_local1)){
if (_local2 != null){
_local2.removeTool();
};
};
};
}
public function meowSound(){
var _local1:SoundChannel;
_local1 = meow.play();
}
public function startGame(_arg1){
currentLevel = 1;
addCharacter(_arg1);
addBackground();
addBeesNest();
}
public function playBuzzingSound(){
sc1 = buzzing.play();
}
private function addCharacter(_arg1){
whichType = _arg1;
character = new childline_character(this, whichType);
}
public function boingSound(){
var _local1:SoundChannel;
_local1 = boing.play();
}
private function convertToGameTime(_arg1:uint):String{
var _local2:String;
_local2 = String(_arg1);
if (_local2.length <= 4){
};
return (_local2);
}
public function gameOverSoundPlay(){
var _local1:SoundChannel;
_local1 = gameOverSound.play();
}
private function addScreens(){
addChild(screensLayer);
screens = new childline_screens(this, "welcome");
}
public function endGameComplete(){
var _local1:uint;
var _local2:*;
if (gameTimer){
gameTimer.removeEventListener(TimerEvent.TIMER, onGameTimerTick);
gameTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onGameTimerUp);
};
gameLength = 60;
timeGone = 0;
tempScore = 0;
if (character){
character.gameOver();
};
lives = 3;
gameOver();
_local1 = objectsLayer.numChildren;
while (_local1--) {
_local2 = objectsLayer.getChildByName(("object" + _local1));
if (objectsLayer.getChildAt(_local1)){
if (_local2 != null){
_local2.removeTool();
};
};
};
}
public function resetBackground(){
var _local1:uint;
var _local2:*;
Tweener.addTween(gameBackground, {transition:"easeOutSine", time:1, y:510});
Tweener.addTween(objectsLayer, {transition:"easeOutSine", time:1, y:0});
Tweener.addTween(timeBonusLayer, {transition:"easeOutSine", time:1, y:0, onComplete:resetCharacter});
_local1 = objectsLayer.numChildren;
while (_local1--) {
_local2 = objectsLayer.getChildByName(("object" + _local1));
if (objectsLayer.getChildAt(_local1)){
if (_local2 != null){
_local2.removeTool();
};
};
};
}
public function gameOver(){
var _local1:uint;
var _local2:uint;
var _local3:*;
var _local4:*;
lives = 3;
trace("running gamover in the root");
screens = new childline_screens(this, "gameOver");
scoreDisplay.removeEventListener(Event.ENTER_FRAME, countUpScore);
_local1 = objectsLayer.numChildren;
while (_local1--) {
_local3 = objectsLayer.getChildByName(("object" + _local1));
if (objectsLayer.getChildAt(_local1)){
if (_local3 != null){
_local3.removeTool();
};
};
};
_local2 = timeBonusLayer.numChildren;
while (_local2--) {
_local4 = timeBonusLayer.getChildAt(_local2);
if (timeBonusLayer.getChildAt(_local2)){
timeBonusLayer.removeTool();
};
};
characterLayer.graphics.clear();
screenTextLayer.removeChild(scoreDisplay);
screenTextLayer.removeChild(timer);
screenTextLayer.removeChild(livesDisplay);
trace("end of game over");
}
public function resetGame(){
var _local1:uint;
var _local2:uint;
var _local3:*;
var _local4:*;
gameTimer.removeEventListener(TimerEvent.TIMER, onGameTimerTick);
gameTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onGameTimerUp);
scoreDisplay.removeEventListener(Event.ENTER_FRAME, countUpScore);
character.resetGame();
characterLayer.graphics.clear();
screenTextLayer.removeChild(timer);
screenTextLayer.removeChild(scoreDisplay);
_local1 = objectsLayer.numChildren;
while (_local1--) {
_local3 = objectsLayer.getChildByName(("object" + _local1));
if (objectsLayer.getChildAt(_local1)){
if (_local3 != null){
_local3.removeTool();
};
};
};
_local2 = timeBonusLayer.numChildren;
while (_local2--) {
_local4 = timeBonusLayer.getChildAt(_local2);
if (_local4){
if (_local4 != null){
timeBonusLayer.removeTool();
};
};
};
gameLength = 60;
timeGone = 0;
}
private function addBeesNest(){
gameBackground.addChild(beesNest);
beesNest.name = "beesNest";
beesNest.x = 32.1;
beesNest.y = -1300;
}
public function updateBackgroundPos(_arg1){
var _local2:Number;
var _local3:Number;
_local2 = (0xFF - _arg1);
if (_local2 > 40){
_local3 = (gameBackground.y + _local2);
if (_local3 > 520){
Tweener.addTween(gameBackground, {transition:"easeOutSine", time:0.5, y:(gameBackground.y + _local2)});
Tweener.addTween(objectsLayer, {transition:"easeOutSine", time:0.5, y:(objectsLayer.y + _local2)});
Tweener.addTween(timeBonusLayer, {transition:"easeOutSine", time:0.5, y:(objectsLayer.y + _local2)});
character.updateY(_local2);
};
};
if (_local2 < -40){
if ((gameBackground.y + _local2) > 520){
Tweener.addTween(gameBackground, {transition:"easeOutSine", time:0.5, y:(gameBackground.y + _local2)});
Tweener.addTween(objectsLayer, {transition:"easeOutSine", time:0.5, y:(objectsLayer.y + _local2)});
Tweener.addTween(timeBonusLayer, {transition:"easeOutSine", time:0.5, y:(objectsLayer.y + _local2)});
character.updateY(_local2);
};
};
}
}
}//package
Section 32
//childline_eyes (childline_eyes)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class childline_eyes extends MovieClip {
public var theRoot;
private var whichEyes:String;
public function childline_eyes(_arg1, _arg2){
_arg1.addChild(this);
whichEyes = _arg2;
trace("added");
this.addEventListener(Event.ENTER_FRAME, movePupils);
if (whichEyes == "left"){
this.x = 148;
this.y = 118;
this.rotation = -5;
};
if (whichEyes == "right"){
this.x = 420;
this.y = 128;
this.rotation = 10;
};
}
public function removeEyes(){
this.removeEventListener(Event.ENTER_FRAME, movePupils);
if (this.parent){
this.parent.removeChild(this);
};
}
private function movePupils(_arg1:Event){
if (whichEyes == "left"){
this.x = (148 + (stage.mouseX / 100));
this.y = (118 + (stage.mouseY / 100));
};
if (whichEyes == "right"){
this.x = (420 + (stage.mouseX / 100));
this.y = (124 + (stage.mouseY / 100));
};
}
}
}//package
Section 33
//childline_screens (childline_screens)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
import flash.net.*;
public class childline_screens extends MovieClip {
public var leftEyes:childline_eyes;
public var theRoot:childline_climbing;
public var btn_start_instructions:MovieClip;
public var btn_restart:MovieClip;
public var brownCatBtn:MovieClip;
public var greyCatBtn:MovieClip;
public var score:Number;
public var btn_instructions_gameOver:MovieClip;
public var btn_instructions:MovieClip;
public var whichCatToPlay:String;
private var leftEyeLids:LeftEyesBlink;
public var btn_start:MovieClip;
public var rightEyes:childline_eyes;
private var rightEyeLids:RightEyesBlink;
public var scoreText:MovieClip;
public var whichScreen:String;
public var addedCount:Number;// = 0
public function childline_screens(_arg1:childline_climbing, _arg2){
addedCount = 0;
leftEyeLids = new LeftEyesBlink();
rightEyeLids = new RightEyesBlink();
super();
addFrameScript(4, frame5, 17, frame18, 29, frame30, 42, frame43);
whichScreen = _arg2;
gotoAndStop(whichScreen);
this.addEventListener(Event.ADDED, buildScreen);
theRoot = _arg1;
theRoot.screensLayer.addChild(this);
addEyes();
}
private function changeScreenInstructions(_arg1:MouseEvent){
removeBtnListeners();
whichScreen = "instructions";
this.addEventListener(Event.ADDED, buildScreen);
gotoAndStop(whichScreen);
}
private function gotochooseCat(_arg1:MouseEvent){
removeBtnListeners();
whichScreen = "choose";
this.addEventListener(Event.ADDED, buildScreen);
gotoAndStop(whichScreen);
}
function frame18(){
stop();
}
public function removeScreens():void{
leftEyes.removeEyes();
rightEyes.removeEyes();
if (this.leftEyeLids){
this.removeChild(leftEyeLids);
};
if (this.rightEyeLids){
this.removeChild(rightEyeLids);
};
if (this.parent){
this.parent.removeChild(this);
};
}
public function resetButton(_arg1:MouseEvent){
var _local2:*;
_local2 = _arg1.target;
}
public function startGame(_arg1:MouseEvent){
removeBtnListeners();
removeScreens();
trace(whichCatToPlay);
theRoot.startGame(whichCatToPlay);
}
function frame5(){
stop();
}
public function whichCat(_arg1:MouseEvent){
if (_arg1.currentTarget.name == "greyCatBtn"){
whichCatToPlay = "greyCat";
};
if (_arg1.currentTarget.name == "brownCatBtn"){
whichCatToPlay = "brownCat";
};
removeBtnListeners();
removeScreens();
theRoot.startGame(whichCatToPlay);
}
public function animateButton(_arg1:MouseEvent){
var _local2:*;
_local2 = _arg1.target;
}
public function buildScreen(_arg1:Event){
if (whichScreen == "welcome"){
if (_arg1.target.name == "btn_start"){
addedCount = (addedCount + 1);
_arg1.target.buttonMode = true;
_arg1.target.addEventListener(MouseEvent.CLICK, gotochooseCat);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
};
if (_arg1.target.name == "btn_instructions"){
_arg1.target.addEventListener(MouseEvent.MOUSE_DOWN, changeScreenInstructions);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
addedCount = (addedCount + 1);
_arg1.target.buttonMode = true;
};
if (addedCount == 2){
removeEventListener(Event.ADDED, buildScreen);
addedCount = 0;
};
};
if (whichScreen == "choose"){
trace(_arg1.target.name);
if (_arg1.target.name == "greyCatBtn"){
_arg1.target.addEventListener(MouseEvent.MOUSE_DOWN, whichCat);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
_arg1.target.buttonMode = true;
addedCount = (addedCount + 1);
};
if (_arg1.target.name == "brownCatBtn"){
_arg1.target.addEventListener(MouseEvent.MOUSE_DOWN, whichCat);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
_arg1.target.buttonMode = true;
addedCount = (addedCount + 1);
};
if (addedCount == 2){
trace("removed");
removeEventListener(Event.ADDED, buildScreen);
addedCount = 0;
};
};
if (whichScreen == "instructions"){
if (_arg1.target.name == "btn_start_instructions"){
_arg1.target.addEventListener(MouseEvent.CLICK, gotochooseCat);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
addedCount = (addedCount + 1);
_arg1.target.buttonMode = true;
};
if (addedCount == 1){
removeEventListener(Event.ADDED, buildScreen);
addedCount = 0;
};
};
if (whichScreen == "gameOver"){
if (_arg1.target.name == "btn_restart"){
addedCount = (addedCount + 1);
trace("found btn start");
_arg1.target.addEventListener(MouseEvent.MOUSE_DOWN, gotochooseCat);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
_arg1.target.buttonMode = true;
};
if (_arg1.target.name == "btn_instructions_gameOver"){
addedCount = (addedCount + 1);
_arg1.target.addEventListener(MouseEvent.MOUSE_DOWN, changeScreenInstructions);
_arg1.target.addEventListener(MouseEvent.MOUSE_OVER, animateButton);
_arg1.target.addEventListener(MouseEvent.MOUSE_OUT, resetButton);
_arg1.target.buttonMode = true;
};
if (_arg1.target.name == "scoreText"){
addedCount = (addedCount + 1);
trace("scoreText");
_arg1.target.scoreTextBox.text = String(theRoot.score);
};
if (addedCount == 3){
trace("removing my add listener");
removeEventListener(Event.ADDED, buildScreen);
addedCount = 0;
};
};
}
function frame43(){
stop();
}
private function findScoreBox(_arg1:Event){
trace(_arg1.target.name);
if (_arg1.target.name == "scoreText"){
scoreText.removeEventListener(Event.ADDED, findScoreBox);
_arg1.target.text = String(theRoot.score);
};
}
private function addEyes(){
leftEyes = new childline_eyes(this, "left");
this.addChild(leftEyeLids);
leftEyeLids.x = 163;
leftEyeLids.y = 116;
rightEyes = new childline_eyes(this, "right");
this.addChild(rightEyeLids);
rightEyeLids.x = 427;
rightEyeLids.y = 126;
}
private function backToStart(_arg1:MouseEvent){
removeBtnListeners();
whichScreen = "welcome";
this.addEventListener(Event.ADDED, buildScreen);
gotoAndStop(whichScreen);
}
function frame30(){
stop();
}
public function removeBtnListeners():void{
if (whichScreen == "welcome"){
btn_start.addEventListener(MouseEvent.CLICK, gotochooseCat);
btn_instructions.removeEventListener(MouseEvent.MOUSE_DOWN, changeScreenInstructions);
};
if (whichScreen == "choose"){
greyCatBtn.removeEventListener(MouseEvent.MOUSE_DOWN, whichCat);
brownCatBtn.removeEventListener(MouseEvent.MOUSE_DOWN, whichCat);
};
if (whichScreen == "gameOver"){
btn_instructions_gameOver.removeEventListener(MouseEvent.MOUSE_DOWN, changeScreenInstructions);
btn_restart.removeEventListener(MouseEvent.CLICK, gotochooseCat);
};
if (whichScreen == "instructions"){
btn_start_instructions.removeEventListener(MouseEvent.CLICK, gotochooseCat);
};
}
}
}//package
Section 34
//childline_signs (childline_signs)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class childline_signs extends MovieClip {
public var theRoot;
public var levelTextStart:TextField;
private var whichMessage:String;
public var levelText:TextField;
public function childline_signs(_arg1, _arg2){
addFrameScript(1, frame2, 20, frame21, 40, frame41, 60, frame61, 80, frame81, 105, frame106, 125, frame126);
theRoot = _arg1;
whichMessage = _arg2;
_arg1.addChild(this);
this.gotoAndStop(_arg2);
this.x = 300;
this.y = 0xFF;
if ((((whichMessage == "gameOver")) || ((whichMessage == "wellDone")))){
Tweener.addTween(this, {transition:"easeInSine", time:5, alpha:0, onComplete:removeMessage});
};
if (whichMessage == "lowTime"){
Tweener.addTween(this, {transition:"easeInSine", time:5, alpha:0, onComplete:removeMessage});
} else {
if (((!((whichMessage == "levelComplete"))) && (!((whichMessage == "getReady"))))){
Tweener.addTween(this, {transition:"easeInSine", time:2.5, alpha:0, onComplete:removeMessage});
} else {
this.addEventListener(Event.ADDED, findInnerTextBox);
};
};
}
public function removeMessage(){
if (whichMessage == "gameOver"){
theRoot.gameOver();
};
if (whichMessage == "wellDone"){
theRoot.endGameComplete();
};
if (whichMessage == "levelComplete"){
theRoot.levelComplete();
};
if (whichMessage == "lowTime"){
theRoot.lowTimeMessage = false;
};
if (this.parent){
this.parent.removeChild(this);
};
}
function frame81(){
stop();
}
function frame106(){
stop();
}
function frame21(){
stop();
}
function frame2(){
stop();
}
private function findInnerTextBox(_arg1:Event){
var _local2:*;
_local2 = _arg1.target;
if (whichMessage == "levelComplete"){
if (_local2.name == "levelText"){
_local2.text = (("Level " + String(theRoot.currentLevel)) + " complete!");
theRoot.currentLevel = (theRoot.currentLevel + 1);
trace(("currentLevel" + theRoot.currentLevel));
this.removeEventListener(Event.ADDED, findInnerTextBox);
Tweener.addTween(this, {transition:"easeInSine", time:2.5, alpha:0, onComplete:removeMessage});
};
};
if (whichMessage == "getReady"){
if (_local2.name == "levelTextStart"){
_local2.text = ("Level " + String(theRoot.currentLevel));
this.removeEventListener(Event.ADDED, findInnerTextBox);
Tweener.addTween(this, {transition:"easeInSine", time:2.5, alpha:0, onComplete:removeMessage});
};
};
}
function frame126(){
stop();
}
function frame41(){
stop();
}
function frame61(){
stop();
}
}
}//package
Section 35
//childline_time (childline_time)
package {
import flash.events.*;
import caurina.transitions.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class childline_time extends MovieClip {
public var bonusText:TextField;
public var theRoot;
public function childline_time(_arg1, _arg2, _arg3, _arg4, _arg5){
var _local6:*;
super();
addFrameScript(0, frame1);
trace(_arg4);
theRoot = _arg1;
theRoot.timeBonusLayer.addChild(this);
if (_arg4 == "fish"){
this.bonusText.text = (("+" + String(_arg5)) + "points");
} else {
_local6 = (20 - (5 * theRoot.currentLevel));
this.bonusText.text = (("+" + String(_local6)) + "s");
};
this.x = _arg2;
this.y = _arg3;
Tweener.addTween(this, {y:(y - 10), alpha:0.3, scaleX:1.1, scaleY:1.1, transition:"linear", time:1, onComplete:removeTimeBonus});
}
private function removeTimeBonus(){
trace("removing");
if (this.parent){
this.parent.removeChild(this);
};
}
public function removeTool(){
Tweener.removeTweens(this);
if (this.parent){
this.parent.removeChild(this);
};
}
function frame1(){
trace("added");
}
}
}//package
Section 36
//Forest (Forest)
package {
import flash.media.*;
public dynamic class Forest extends Sound {
}
}//package
Section 37
//Gameover (Gameover)
package {
import flash.media.*;
public dynamic class Gameover extends Sound {
}
}//package
Section 38
//LeftEyesBlink (LeftEyesBlink)
package {
import flash.display.*;
public dynamic class LeftEyesBlink extends MovieClip {
public var whichFrame:Number;
public function LeftEyesBlink(){
addFrameScript(105, frame106);
}
function frame106(){
whichFrame = Math.round((Math.random() * 7));
gotoAndPlay(("normal" + String(whichFrame)));
}
}
}//package
Section 39
//Lives (Lives)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Lives extends MovieClip {
public var livesText:TextField;
public function Lives(){
addFrameScript(0, frame1, 9, frame10);
}
function frame10(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 40
//Logo (Logo)
package {
import flash.display.*;
public dynamic class Logo extends MovieClip {
}
}//package
Section 41
//Meow (Meow)
package {
import flash.media.*;
public dynamic class Meow extends Sound {
}
}//package
Section 42
//Paw (Paw)
package {
import flash.display.*;
public dynamic class Paw extends MovieClip {
public var hitter:MovieClip;
public function Paw(){
addFrameScript(0, frame1, 14, frame15);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package
Section 43
//RightEyesBlink (RightEyesBlink)
package {
import flash.display.*;
public dynamic class RightEyesBlink extends MovieClip {
public var whichFrame:Number;
public function RightEyesBlink(){
addFrameScript(119, frame120);
}
function frame120(){
whichFrame = Math.round((Math.random() * 7));
gotoAndPlay(("normal" + String(whichFrame)));
}
}
}//package
Section 44
//Score (Score)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Score extends MovieClip {
public var scoreText:TextField;
}
}//package
Section 45
//TimerMC (TimerMC)
package {
import flash.display.*;
public dynamic class TimerMC extends MovieClip {
public var timeBox:MovieClip;
}
}//package