Section 1
//UsefulEvent (com.kid360.events.UsefulEvent)
package com.kid360.events {
import flash.events.*;
public class UsefulEvent extends Event {
public var data:Object;
public static const USEFUL_EVENT:String = "usefulEvent";
public function UsefulEvent(_arg1:Object, _arg2:String="usefulEvent", _arg3:Boolean=true, _arg4:Boolean=true){
super(_arg2, _arg3, _arg4);
data = _arg1;
}
override public function toString():String{
return (formatToString("UsefulEvent", "type", "bubbles", "cancelable", "eventPhase", "data"));
}
override public function clone():Event{
return (new UsefulEvent(data, type, bubbles, cancelable));
}
}
}//package com.kid360.events
Section 2
//StringsManager (com.kid360.i18n.StringsManager)
package com.kid360.i18n {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class StringsManager extends EventDispatcher {
public static const CANONICAL_SUBTAG_SEPARATOR:String = "_";
public static const DEFAULT_LANGUAGE_TAG:String = ((DEFAULT_LANGUAGE + CANONICAL_SUBTAG_SEPARATOR) + DEFAULT_REGION);
public static const DEFAULT_REGION:String = "US";
public static const DEFAULT_LANGUAGE:String = "en";
private static var textloader:URLLoader;
private static var callback:Function;
private static var owner:DisplayObject;
public static var i18n:XML;
private static function tagParts(_arg1:String):Array{
var _local2:Array;
_local2 = _arg1.split(CANONICAL_SUBTAG_SEPARATOR);
if (_local2.length == 2){
return (_local2);
};
_local2 = _arg1.split("-");
if (_local2.length == 2){
return (_local2);
};
return ([_arg1, ""]);
}
public static function getString(_arg1:String, _arg2:String, _arg3:String=""):Object{
var translations:XMLList;
var result:XMLList;
var screenID = _arg1;
var blockID = _arg2;
var languageTag = _arg3;
if (languageTag == ""){
languageTag = StringsManager.DEFAULT_LANGUAGE_TAG;
};
translations = i18n.screen.(@id == screenID).block.(@id == blockID).text;
languageTag = getBestTag(translations, languageTag);
if (languageTag){
result = i18n.screen.(@id == screenID).block.(@id == blockID).text.(@lang == languageTag);
return ({text:result[0].text(), x:result.@x[0], y:result.@y[0]});
};
return (null);
}
private static function getBestTag(_arg1:XMLList, _arg2:String):String{
var _local3:XMLList;
var _local4:Array;
var _local5:String;
var _local6:String;
_local3 = _arg1..@lang;
_local4 = StringsManager.tagParts(_arg2);
_local5 = _local4.join("-");
if (_local3.contains(_local5)){
return (_local5);
};
_local5 = _local4.join("_");
if (_local3.contains(_local5)){
return (_local5);
};
if (_local3.contains(_local4[0])){
return (_local4[0]);
};
for each (_local6 in _local3) {
if (_local6.indexOf(_local4[0]) == 0){
return (_local6);
};
};
if (_local3.contains(DEFAULT_LANGUAGE_TAG)){
return (DEFAULT_LANGUAGE_TAG);
};
if (_local3.contains("en")){
return ("en");
};
return ("");
}
private static function doCallback():void{
if (((!((StringsManager.owner == null))) && (!((StringsManager.callback == null))))){
var _local2 = StringsManager.owner;
with (_local2) {
StringsManager.callback();
};
};
}
public static function getImage(_arg1:String, _arg2:String, _arg3:String=""):Object{
var translations:XMLList;
var result:XMLList;
var screenID = _arg1;
var graphicID = _arg2;
var languageTag = _arg3;
if (languageTag == ""){
languageTag = StringsManager.DEFAULT_LANGUAGE_TAG;
};
translations = i18n.screen.(@id == screenID).graphic.(@id == graphicID).src;
languageTag = getBestTag(translations, languageTag);
if (languageTag){
result = i18n.screen.(@id == screenID).graphic.(@id == graphicID).src.(@lang == languageTag);
return ({src:result[0], x:result.@x, y:result.@y});
};
return (null);
}
private static function onTextLoaded(_arg1:Event):void{
StringsManager.i18n = new XML(StringsManager.canonicalize(_arg1.target.data));
doCallback();
}
private static function canonicalize(_arg1:String):String{
return (_arg1.replace(/_/g, CANONICAL_SUBTAG_SEPARATOR));
}
public static function loadText(_arg1:String, _arg2:DisplayObject=null, _arg3:Function=null):void{
StringsManager.owner = _arg2;
StringsManager.callback = _arg3;
if (StringsManager.i18n){
doCallback();
} else {
StringsManager.textloader = new URLLoader(new URLRequest(_arg1));
StringsManager.textloader.addEventListener(Event.COMPLETE, StringsManager.onTextLoaded, false, 0, true);
};
}
}
}//package com.kid360.i18n
Section 3
//Cloud (com.kid360.mlp.cloudbump.Cloud)
package com.kid360.mlp.cloudbump {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import com.kid360.events.*;
import flash.text.*;
import flash.utils.*;
public class Cloud extends MovieClip {
public var cloudType:uint;
private var then:int;
private var vector:Point;
private var debug:Boolean;// = false
private var loc:Point;
private var avatar:FlyingPony;
public var bursting:Boolean;// = false
public var cloudSize:uint;
private var now:int;
public static const FLUFFY_CLOUD:uint = 1;
public static const STORMY_CLOUD:uint = 2;
public static const LARGE_CLOUD:uint = 1;
public static const CLOUD_BURST:String = "cloudBurst";
public static const CLOUD_SUCCEEDED:String = "cloudSucceeded";
public static const CLOUD_ESCAPED:String = "cloudEscaped";
public static const CLOUD_DEFEATED:String = "cloudDefeated";
public static const SMALL_CLOUD:uint = 2;
public function Cloud(){
bursting = false;
debug = false;
super();
stop();
vector = new Point(0, 0);
mouseEnabled = (mouseChildren = false);
addEventListener(Event.ADDED_TO_STAGE, onAddedtoStage);
}
public function set size(_arg1:uint):void{
cloudSize = _arg1;
}
private function collideWith(_arg1:DisplayObject):void{
if (bursting){
return;
};
if (cloudType == FLUFFY_CLOUD){
if ((_arg1 is CutieCrusader)){
burst();
dispatchEvent(new UsefulEvent({name:CLOUD_SUCCEEDED, payload:_arg1}));
} else {
trace("avatar hit a stormy cloud, yo");
burst();
};
};
}
public function resume():void{
resumeAll(this, bursting);
then = (now = getTimer());
addEventListener(Event.ENTER_FRAME, frameHook);
}
private function frameHook(_arg1:Event):void{
if (hitTestObject(avatar.collidingMass)){
if (!(avatar as CutieCrusader).stunned){
collideWith(avatar);
} else {
trace("stunned pony hit cloud");
};
};
updateLoc();
}
private function burst():void{
if (bursting){
return;
};
bursting = true;
gotoAndPlay("burst");
}
public function get sizeDescription():String{
return (["", "large", "small"][cloudSize]);
}
public function set windSpeed(_arg1:Number):void{
vector = new Point(-(_arg1), 0);
}
public function halt():void{
haltAll(this);
removeEventListener(Event.ENTER_FRAME, frameHook);
}
public function resumeAll(_arg1:MovieClip, _arg2:Boolean=true):void{
var _local3:int;
var _local4:DisplayObject;
if (_arg2){
_arg1.play();
};
_local3 = 0;
while (_local3 < _arg1.numChildren) {
_local4 = _arg1.getChildAt(_local3);
if ((_local4 is MovieClip)){
resumeAll((_local4 as MovieClip));
};
_local3++;
};
}
public function get typeDescription():String{
return (["", "fluffy", "stormy"][cloudType]);
}
override public function toString():String{
return ((((((((("[" + name) + " ") + typeDescription) + " ") + x) + ",") + y) + "]"));
}
private function dtrace(_arg1:String):void{
if (debug){
this["readout"].text = _arg1;
};
}
protected function burstComplete():void{
stop();
dispatchEvent(new UsefulEvent({name:CLOUD_DEFEATED, payload:null}));
}
public function haltAll(_arg1:MovieClip):void{
var _local2:int;
var _local3:DisplayObject;
_arg1.stop();
_local2 = 0;
while (_local2 < _arg1.numChildren) {
_local3 = _arg1.getChildAt(_local2);
if ((_local3 is MovieClip)){
haltAll((_local3 as MovieClip));
};
_local2++;
};
}
private function updateLoc():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
then = now;
now = getTimer();
_local1 = ((now - then) / 1000);
_local2 = (vector.x * _local1);
_local3 = (vector.y * _local1);
loc.x = (loc.x + _local2);
loc.y = (loc.y + _local3);
x = loc.x;
y = loc.y;
if (x < -(width)){
removeEventListener(Event.ENTER_FRAME, frameHook);
dispatchEvent(new UsefulEvent({name:CLOUD_ESCAPED, payload:null}));
};
}
private function onAddedtoStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedtoStage);
avatar = (parent as CloudBumpGame).avatar;
loc = new Point(x, y);
then = (now = getTimer());
resume();
}
}
}//package com.kid360.mlp.cloudbump
Section 4
//CloudBumpGame (com.kid360.mlp.cloudbump.CloudBumpGame)
package com.kid360.mlp.cloudbump {
import com.kid360.mlp.*;
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import com.kid360.events.*;
import flash.text.*;
import flash.utils.*;
import fl.transitions.easing.*;
public class CloudBumpGame extends MovieClip {
private const SPEEDS:Array;
private const MAX_FLIGHT_TIME:uint = 8000;
private var musicBed:MusicBed;
private var launchTime:uint;
public var sky:MovieClip;
public var currentSpeed:int;// = 0
public var avatar:CutieCrusader;
public var difficultyLevel:uint;
private var mixLevel:uint;// = 0
public var meter:MovieClip;
private var gameStart:int;
private var clouds:Array;
private var puffer:RainboomCloudSupply;
public function CloudBumpGame(){
currentSpeed = 0;
SPEEDS = [{rate:[80, 100], interval:[2800, 2400]}, {rate:[90, 125], interval:[2600, 2200]}, {rate:[100, 150], interval:[2400, 2000]}, {rate:[133, 200], interval:[2200, 1800]}, {rate:[166, 250], interval:[2000, 1600]}, {rate:[200, 300], interval:[1800, 1400]}, {rate:[250, 350], interval:[1600, 1300]}, {rate:[300, 400], interval:[1400, 1200]}, {rate:[350, 450], interval:[1200, 1100]}, {rate:[400, 500], interval:[1000, 1000]}];
mixLevel = 0;
super();
difficultyLevel = (parent as MovieClip).difficultyLevel;
trace("CloudBump plays at level", difficultyLevel);
puffer = new RainboomCloudSupply(this);
puffer.addEventListener(RainboomCloudSupply.CLOUD_COMING, onPuffCloud);
puffer.interval = 2000;
clouds = [];
musicBed = new MusicBed();
musicBed.playbackVolume = 0.25;
addEventListener(Event.ADDED_TO_STAGE, onAddedtoStage);
sky.stop();
meter.gotoAndStop(1);
}
private function onCastmemberMessage(_arg1:UsefulEvent):void{
var _local2:String;
var _local3:Object;
_local2 = _arg1.data.name;
_local3 = _arg1.data.payload;
switch (_local2){
case Cloud.CLOUD_DEFEATED:
case Cloud.CLOUD_ESCAPED:
if (!destroyCloud((_arg1.target as Cloud))){
trace("error destroying the escaped cloud");
};
break;
case Cloud.CLOUD_SUCCEEDED:
trace("COLLISION", _arg1.target, "at speed", currentSpeed, "avatarlabel", avatar.faces.currentLabel);
launchTime = getTimer();
(_local3 as MovieClip).stunned = true;
changeSpeed(-1);
break;
case FlyingPony.PONY_LAUNCHED:
break;
case FlyingPony.PONY_LANDED:
break;
case "gameOver":
(parent as MovieClip).gotoAndStop("replayMenu");
break;
default:
break;
};
}
public function halt(_arg1:Boolean=false):void{
pause(true);
if (_arg1){
avatar.cleanUp();
musicBed.stopLoop();
} else {
avatar.halt();
musicBed.pauseLoop();
};
avatar.showStunned(false);
sky.mtns.stop();
sky.clouds.stop();
meter.halt();
removeEventListener(Event.ENTER_FRAME, frameHook);
}
public function stopMusic():void{
musicBed.stopLoop();
}
private function frameHook(_arg1:Event):void{
var _local2:uint;
if (launchTime){
_local2 = (getTimer() - launchTime);
if (_local2 > MAX_FLIGHT_TIME){
changeSpeed(1);
launchTime = getTimer();
};
};
}
private function destroyCloud(_arg1:Cloud):Boolean{
var _local2:int;
var _local3:Cloud;
_local2 = clouds.indexOf(_arg1);
if (_local2 > -1){
_local3 = clouds.splice(_local2, 1)[0];
if (_local3){
removeChild(_local3);
} else {
return (false);
};
} else {
return (false);
};
return (true);
}
private function shutDown():void{
var _local1:Cloud;
halt(true);
avatar.showStunned(false);
avatar.superCleanUp();
avatar.faces.stop();
for each (_local1 in clouds) {
removeChild(_local1);
};
}
private function changeSpeed(_arg1:int):void{
var _local2:Cloud;
currentSpeed = (currentSpeed + _arg1);
currentSpeed = Math.max(0, Math.min((SPEEDS.length - 1), currentSpeed));
trace("speed changes to", currentSpeed, "pony at", avatar.speed);
if (currentSpeed < (SPEEDS.length - 1)){
if (_arg1 > 0){
avatar.speed = currentSpeed;
} else {
trace("no speed change during collision animation");
};
for each (_local2 in clouds) {
_local2.windSpeed = cloudSpeed;
};
puffer.interval = SPEEDS[currentSpeed].interval[difficultyLevel];
} else {
pause(true);
stopMusic();
for each (_local2 in clouds) {
if (_local2){
if (contains(_local2)){
removeChild(_local2);
} else {
trace("found an orphan in the cloud list");
};
} else {
trace("found a null in the cloud list");
};
};
avatar.showRainboom();
trace("the game lasted", ((getTimer() - gameStart) / 1000), "seconds");
};
meter.gotoAndStop((currentSpeed + 1));
}
public function get cloudSpeed():Number{
return (SPEEDS[currentSpeed].rate[difficultyLevel]);
}
private function onPuffCloud(_arg1:Event):void{
var _local2:Cloud;
_local2 = puffer.puffOne();
clouds.push(addChild(_local2));
}
public function get skyRect():Rectangle{
return (new Rectangle(0, 45, 750, 320));
}
private function onAddedtoStage(_arg1:Event=null):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedtoStage);
puffer.puffing = true;
addEventListener(UsefulEvent.USEFUL_EVENT, onCastmemberMessage);
addEventListener(Event.ENTER_FRAME, frameHook);
if (!avatar.isGrounded){
launchTime = getTimer();
};
musicBed.playLoop();
stage.stageFocusRect = false;
gameStart = getTimer();
}
private function gameOver(_arg1:TimerEvent):void{
shutDown();
(parent as MovieClip).gotoAndPlay("replayMenu");
}
public function pause(_arg1:Boolean):void{
var _local2:Cloud;
puffer.puffing = !(_arg1);
meter.halt(_arg1);
if (_arg1){
for each (_local2 in clouds) {
_local2.halt();
};
sky.mtns.stop();
sky.clouds.stop();
removeEventListener(Event.ENTER_FRAME, frameHook);
} else {
for each (_local2 in clouds) {
_local2.resume();
};
sky.mtns.play();
sky.clouds.play();
addEventListener(Event.ENTER_FRAME, frameHook);
};
}
}
}//package com.kid360.mlp.cloudbump
Section 5
//CutieCrusader (com.kid360.mlp.cloudbump.CutieCrusader)
package com.kid360.mlp.cloudbump {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.ui.*;
public class CutieCrusader extends FlyingPony {
private const ARROW_RIGHT:uint = 1;
private const UP_THRUST:int = 1;
private const MOUSE_FORCE:Number = 40;
private const ARROW_LEFT:uint = 2;
private const SPACE_BAR:uint = 0;
private const LEFT_THRUST:int = 2;
private const STUN_DURATIONS:Array;
private const RIGHT_THRUST:int = 3;
private var keycontrols:Array;
public var actualBody:MovieClip;
private var ponySpeed:int;// = 0
private var debug:Boolean;
private var stunTimer:Timer;
private var avatarLabels:Array;
public var inputBlocked:Boolean;
private var stance:uint;
public var faces:MovieClip;
private var isFirstKeyboardDown:Boolean;
public static const FIRSTKEYDOWN:String = "firstKeyBoardDown";
public static const FALLING_POSE:uint = 2;
public static const RISING_POSE:uint = 1;
public static const STANDING_POSE:uint = 0;
public static const STUNNED_POSE:uint = 3;
public function CutieCrusader(){
var _local1:int;
STUN_DURATIONS = [1500, 2500, 3750];
keycontrols = [false, false, false];
ponySpeed = 0;
avatarLabels = [];
super();
isFirstKeyboardDown = true;
nominalHeight = 70;
debug = false;
stance = STANDING_POSE;
_local1 = 0;
while (_local1 < faces.currentLabels.length) {
avatarLabels.push(faces.currentLabels[_local1].name);
_local1++;
};
trace("Avatar labels:", avatarLabels);
faces.gotoAndPlay("loop1");
}
private function onTimerElapsed(_arg1:TimerEvent):void{
stunned = false;
stunTimer.stop();
}
private function onKeyPress(_arg1:KeyboardEvent):void{
var _local2:Boolean;
if (inputBlocked){
return;
};
_local2 = true;
switch (_arg1.keyCode){
case Keyboard.UP:
keycontrols[SPACE_BAR] = true;
break;
case Keyboard.RIGHT:
keycontrols[ARROW_RIGHT] = true;
break;
case Keyboard.LEFT:
keycontrols[ARROW_LEFT] = true;
break;
case Keyboard.DOWN:
vector.y = Math.max(0, vector.y);
break;
default:
_local2 = false;
break;
};
if (isFirstKeyboardDown){
if (_local2){
isFirstKeyboardDown = false;
this.dispatchEvent(new Event(CutieCrusader.FIRSTKEYDOWN, true));
};
};
}
public function resume():void{
stunTimer.addEventListener(TimerEvent.TIMER, onTimerElapsed, false, 0, true);
stunned = false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyRelease, false, 0, true);
then = (now = getTimer());
addEventListener(Event.ENTER_FRAME, frameHook);
}
override protected function frameHook(_arg1:Event):void{
if (keycontrols[SPACE_BAR]){
thruster(UP_THRUST);
};
if (keycontrols[ARROW_RIGHT]){
thruster(RIGHT_THRUST);
};
if (keycontrols[ARROW_LEFT]){
thruster(LEFT_THRUST);
};
updateMotion();
updateLoc();
}
public function halt():void{
removeEventListener(Event.ENTER_FRAME, frameHook);
faces.stop();
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
}
public function get speed():int{
return (ponySpeed);
}
public function endCollision():void{
var _local1:String;
var _local2:int;
var _local3:String;
_local1 = faces.currentLabel;
trace("ending collision from label", _local1);
_local2 = parseInt(_local1.substr(-1));
if (0 == _local1.indexOf("shiftTo")){
_local2++;
};
_local3 = "loop";
if (isCrossingThreshold(ponySpeed, (ponySpeed - 1))){
_local3 = (_local3 + _local2);
} else {
_local3 = (_local3 + (_local2 + 1));
};
trace("after collision, dest becomes", _local3, "speed was", ponySpeed--, "new speed", ponySpeed);
faces.gotoAndPlay(_local3);
}
public function get stunned():Boolean{
return (inputBlocked);
}
public function showRainboom():void{
trace("SONIC RAINBOOM");
removeEventListener(Event.ENTER_FRAME, frameHook);
faces.gotoAndPlay("rainboom");
}
public function set speed(_arg1:int):void{
var _local2:int;
var _local3:Boolean;
trace("avatar hears new speed", _arg1);
_local2 = ponySpeed;
_local3 = isCrossingThreshold(_local2, _arg1);
ponySpeed = _arg1;
if (_local3){
pose = RISING_POSE;
} else {
trace("no loop change from", _local2, "to", ponySpeed);
};
}
override public function cleanUp():void{
faces.stop();
stunTimer.stop();
stunTimer.removeEventListener(TimerEvent.TIMER, onTimerElapsed);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyRelease);
}
public function superCleanUp():void{
super.cleanUp();
}
public function showStunned(_arg1:Boolean):void{
var _local2:Object;
if (_arg1){
_local2 = animsForSpeed(ponySpeed);
if (_local2){
if (_local2.crash){
trace("stunning avatar with speed", ponySpeed, "on label", faces.currentLabel, "shows", _local2.crash);
faces.gotoAndPlay(_local2.crash);
} else {
trace("no crash anim for speed of", ponySpeed);
};
} else {
trace("can't show stunned anim when speed is", ponySpeed);
};
};
}
private function isCrossingThreshold(_arg1:int, _arg2:int):Boolean{
var _local3:Boolean;
_local3 = false;
switch (_arg1){
case 1:
_local3 = (2 == _arg2);
break;
case 2:
_local3 = (1 == _arg2);
break;
case 4:
_local3 = (5 == _arg2);
break;
case 5:
_local3 = (4 == _arg2);
break;
case 6:
_local3 = (7 == _arg2);
break;
case 7:
_local3 = (6 == _arg2);
break;
default:
break;
};
return (_local3);
}
private function thruster(_arg1:int):void{
switch (_arg1){
case UP_THRUST:
if (loc.y > 40){
vector.y = (vector.y - MOUSE_FORCE);
};
break;
case LEFT_THRUST:
if (loc.x > minX){
vector.x = (vector.x - MOUSE_FORCE);
};
break;
case RIGHT_THRUST:
if (loc.x < maxX){
vector.x = (vector.x + MOUSE_FORCE);
};
break;
default:
break;
};
}
override public function get collidingMass():DisplayObject{
return (actualBody);
}
public function set stunned(_arg1:Boolean):void{
if (_arg1 == inputBlocked){
return;
};
inputBlocked = _arg1;
keycontrols = [false, false, false];
if (_arg1){
stunTimer.reset();
stunTimer.start();
};
showStunned(inputBlocked);
}
public function set pose(_arg1:uint):void{
var _local2:Object;
if (_arg1 == stance){
};
stance = _arg1;
if (stance){
_local2 = animsForSpeed(ponySpeed);
if (_local2){
trace("new pose, changing loop to", _local2.loop, "from", faces.currentLabel);
faces.gotoAndPlay(_local2.loop);
} else {
trace("can't show flapping anim when speed is", ponySpeed);
};
};
}
private function dtrace(_arg1:String):void{
if (debug){
this["readout"].text = _arg1;
};
}
private function animsForSpeed(_arg1:int):Object{
if (_arg1 < 2){
return ({loop:"loop1", crash:""});
};
if (_arg1 < 5){
return ({loop:"shiftTo2", crash:"crashTo1"});
};
if (_arg1 < 7){
return ({loop:"shiftTo3", crash:"crashTo2"});
};
if (_arg1 < 9){
return ({loop:"shiftTo4", crash:"crashTo3"});
};
return (null);
}
override protected function onAddedToStage(_arg1:Event):void{
super.onAddedToStage(_arg1);
bounds.bottom = (bounds.bottom + 10);
trace("xpanded bounds to", bounds);
constraints = bounds;
stunTimer = new Timer(STUN_DURATIONS[(parent as CloudBumpGame).difficultyLevel], 1);
trace("CutieCrusader stuntime", stunTimer.delay);
resume();
}
private function onKeyRelease(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.UP:
keycontrols[SPACE_BAR] = false;
break;
case Keyboard.RIGHT:
keycontrols[ARROW_RIGHT] = false;
break;
case Keyboard.LEFT:
keycontrols[ARROW_LEFT] = false;
break;
};
}
}
}//package com.kid360.mlp.cloudbump
Section 6
//FlyingPony (com.kid360.mlp.cloudbump.FlyingPony)
package com.kid360.mlp.cloudbump {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import com.kid360.events.*;
import flash.utils.*;
public class FlyingPony extends MovieClip {
protected const FRICTION_FORCE:Number = 20;
protected const GRAVITY_FORCE:Number = 5;
public var nominalHeight:Number;
protected var then:int;
public var vector:Point;
protected var minY:Number;
protected var loc:Point;
protected var maxY:Number;
public var nominalWidth:Number;
protected var maxX:Number;
protected var minX:Number;
public var bounds:Rectangle;
protected var now:int;
public static const PONY_LANDED:String = "ponyLanded";
public static const PONY_LAUNCHED:String = "ponyLaunched";
public function FlyingPony(){
if (!(parent is CloudBumpGame)){
return;
};
nominalWidth = width;
nominalHeight = height;
loc = new Point(x, y);
vector = new Point(0, GRAVITY_FORCE);
mouseEnabled = (mouseChildren = false);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function get isRising():Boolean{
return ((vector.y < 0));
}
public function get floor():Number{
return (maxY);
}
public function get collidingMass():DisplayObject{
return (new Shape());
}
public function set floor(_arg1:Number):void{
maxY = _arg1;
}
public function get westWall():Number{
return (minX);
}
public function set westWall(_arg1:Number):void{
minX = _arg1;
}
public function get isFarLeft():Boolean{
return ((x <= minX));
}
protected function frameHook(_arg1:Event):void{
updateMotion();
updateLoc();
}
public function get constraintHeight():Number{
return (Math.abs((maxY - minY)));
}
public function get eastWall():Number{
return (maxX);
}
public function set constraints(_arg1:Rectangle):void{
minX = _arg1.left;
maxX = _arg1.right;
minY = _arg1.top;
maxY = _arg1.bottom;
}
public function get isGrounded():Boolean{
return ((y >= maxY));
}
protected function onAddedToStage(_arg1:Event):void{
var _local2:Rectangle;
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
_local2 = (parent as CloudBumpGame).skyRect;
_local2.inflate((width / -2), Math.round((nominalHeight / -2)));
bounds = (constraints = _local2);
then = (now = getTimer());
addEventListener(Event.ENTER_FRAME, frameHook);
}
protected function updateLoc():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
then = now;
now = getTimer();
_local1 = ((now - then) / 1000);
_local2 = (vector.x * _local1);
_local3 = (vector.y * _local1);
loc.x = (loc.x + _local2);
if (loc.x >= maxX){
loc.x = maxX;
vector.x = 0;
};
if (loc.x <= minX){
loc.x = minX;
vector.x = 0;
};
loc.y = (loc.y + _local3);
if (loc.y >= maxY){
loc.y = maxY;
vector.y = 0;
};
if (loc.y <= 35){
loc.y = 35;
vector.y = 0;
};
x = loc.x;
if ((((y == maxY)) && ((loc.y < maxY)))){
dispatchEvent(new UsefulEvent({name:PONY_LAUNCHED, payload:null}));
};
if ((((y < maxY)) && ((loc.y == maxY)))){
dispatchEvent(new UsefulEvent({name:PONY_LANDED, payload:null}));
};
y = loc.y;
}
public function get ceiling():Number{
return (minY);
}
public function set ceiling(_arg1:Number):void{
minY = _arg1;
}
public function cleanUp():void{
removeEventListener(Event.ENTER_FRAME, frameHook);
}
public function set eastWall(_arg1:Number):void{
minX = _arg1;
}
protected function updateMotion():void{
if (loc.y < maxY){
vector.y = (vector.y + GRAVITY_FORCE);
};
if (vector.x > 0){
vector.x = (vector.x - FRICTION_FORCE);
vector.x = Math.max(0, vector.x);
};
if (vector.x < 0){
vector.x = (vector.x + FRICTION_FORCE);
vector.x = Math.min(0, vector.x);
};
}
public function get constraintWidth():Number{
return (Math.abs((maxX - minX)));
}
public function get isFalling():Boolean{
return ((vector.y > 0));
}
}
}//package com.kid360.mlp.cloudbump
Section 7
//RainboomCloudSupply (com.kid360.mlp.cloudbump.RainboomCloudSupply)
package com.kid360.mlp.cloudbump {
import flash.events.*;
import com.kid360.*;
import flash.utils.*;
public class RainboomCloudSupply extends EventDispatcher {
public var sizeMix:Number;
private var lastCloudHeight:Number;// = 1.79769313486232E308
private var puffTimer:Timer;
private var owner:CloudBumpGame;
public static const CLOUD_COMING:String = "cloudComing";
public function RainboomCloudSupply(_arg1:CloudBumpGame){
lastCloudHeight = Number.MAX_VALUE;
super();
owner = _arg1;
sizeMix = 0.5;
puffTimer = new Timer(2000);
puffTimer.addEventListener(TimerEvent.TIMER, onTimerElapsed, false, 0, true);
}
private function onTimerElapsed(_arg1:TimerEvent):void{
dispatchEvent(new Event(CLOUD_COMING));
}
private function get cloudSize():uint{
var _local1:uint;
var _local2:uint;
_local1 = Utils.randInRange(1, 100);
_local2 = (100 * sizeMix);
return (((_local1 > _local2)) ? Cloud.LARGE_CLOUD : Cloud.SMALL_CLOUD);
}
public function set interval(_arg1:Number):void{
puffTimer.delay = _arg1;
}
public function puffOne():Cloud{
var _local1:int;
var _local2:int;
var _local3:uint;
var _local4:uint;
var _local5:Array;
var _local6:int;
var _local7:Class;
var _local8:Cloud;
var _local9:Number;
_local1 = 75;
_local2 = 70;
_local3 = cloudSize;
_local4 = Cloud.FLUFFY_CLOUD;
_local5 = [FluffyCloudA, SmallFluffyCloudA, BirdCloud, FluffyCloudC, SmallFluffyCloudC, FluffyCloudD, SmallFluffyCloudD, BalloonCloud, Copter, FluffyCloudF, SmallFluffyCloudF];
_local6 = Utils.randInRange(0, (_local5.length - 1));
_local7 = _local5[_local6];
_local8 = new (_local7);
_local8.cloudType = _local4;
_local8.size = _local3;
_local8.windSpeed = owner.cloudSpeed;
_local8.x = (owner.skyRect.width + (_local8.width / 2));
do {
_local9 = Utils.randInRange(50, 350);
} while (Math.abs((_local9 - lastCloudHeight)) < 30);
_local8.y = (lastCloudHeight = _local9);
return (_local8);
}
public function set puffing(_arg1:Boolean):void{
if (_arg1){
dispatchEvent(new Event(CLOUD_COMING));
puffTimer.start();
} else {
puffTimer.stop();
};
}
public function get puffing():Boolean{
return (puffTimer.running);
}
}
}//package com.kid360.mlp.cloudbump
Section 8
//RapidRainboom (com.kid360.mlp.cloudbump.RapidRainboom)
package com.kid360.mlp.cloudbump {
import flash.display.*;
import flash.events.*;
import com.kid360.i18n.*;
import flash.external.*;
import flash.system.*;
public class RapidRainboom extends MovieClip {
public var languageTag:String;// = "en_US"
public var difficultyLevel:int;// = 0
public function RapidRainboom(){
languageTag = "en_US";
difficultyLevel = 0;
super();
addFrameScript(1, frame2, 2, frame3, 3, frame4, 6, frame7, 7, frame8);
stop();
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function stringsDidLoad():void{
gotoAndStop("splashDummy");
activateTripwire("clouds");
}
public function activateTripwire(_arg1:String="clouds"):void{
if (ExternalInterface.available){
if ((((Capabilities.playerType == "PlugIn")) || ((Capabilities.playerType == "ActiveX")))){
ExternalInterface.call("setFlag", _arg1);
};
};
}
function frame3(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame4(){
}
function frame2(){
stop();
}
public function dbug(... _args):void{
var _local2:String;
_local2 = _args.join(" ");
if (ExternalInterface.available){
if ((((Capabilities.playerType == "PlugIn")) || ((Capabilities.playerType == "ActiveX")))){
ExternalInterface.call("dbug", _local2);
};
};
trace(_local2);
}
private function onAddedToStage(_arg1:Event):void{
var _local2:String;
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
for (_local2 in root.loaderInfo.parameters) {
trace("processing flashvar", _local2, "=", root.loaderInfo.parameters[_local2]);
switch (_local2){
case "locale":
languageTag = root.loaderInfo.parameters[_local2];
trace("flashvars override makes language tag", languageTag);
break;
default:
break;
};
};
trace("load strings now, lt", languageTag);
StringsManager.loadText("swf/cloudstrings.xml", this, stringsDidLoad);
}
}
}//package com.kid360.mlp.cloudbump
Section 9
//Avatar (com.kid360.mlp.Avatar)
package com.kid360.mlp {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import fl.motion.*;
import com.kid360.events.*;
import flash.utils.*;
import flash.net.*;
public class Avatar extends MovieClip {
public var lowerRF:MovieClip;
public var walkingWingAnimation:MovieClip;
public var torso:MovieClip;
public var jumpingWingAnimation:MovieClip;
private var shade:uint;
public var lowerLF:MovieClip;
public var lowerLB:MovieClip;
public var idleWingAnimation:MovieClip;
public var tail:MovieClip;
public var upperRF:MovieClip;
public var neck:MovieClip;
public var mouth2:MovieClip;
public var wings2:MovieClip;
public var upperRB:MovieClip;
public var midRF:MovieClip;
public var midRB:MovieClip;
public var upperLB:MovieClip;
public var bathLandAnimation:MovieClip;
public var buckWingAnimation:MovieClip;
public var midLF:MovieClip;
public var midLB:MovieClip;
public var upperLF:MovieClip;
public var wings:MovieClip;
public var head:MovieClip;
protected var ponySpec:Object;
public var trottingWingAnimation:MovieClip;
public var lowerRB:MovieClip;
public function Avatar(){
addFrameScript(7, frame8, 23, frame24, 24, frame25, 45, frame46, 82, frame83, 191, frame192, 224, frame225, 253, frame254, 283, frame284);
stop();
ponySpec = AvatarSpec.anyGameSpec();
configPony(ponySpec);
}
public function updateShadeBuckWingAnimation(){
var _local1:*;
var _local2:Color;
_local1 = buckWingAnimation;
if (shade > 0){
_local2 = new Color();
_local2.setTint(shade, 0.5);
_local1.transform.colorTransform = _local2;
} else {
_local1.transform.colorTransform = new ColorTransform();
};
}
public function updateShadeJumpingWingAnimation(){
var _local1:Color;
if (shade > 0){
_local1 = new Color();
_local1.setTint(shade, 0.5);
jumpingWingAnimation.transform.colorTransform = _local1;
} else {
jumpingWingAnimation.transform.colorTransform = new ColorTransform();
};
}
function frame83(){
gotoAndPlay("loop4");
}
function frame284(){
(parent as MovieClip).endCollision();
}
protected function tintBody(_arg1:uint, _arg2:Number):void{
var _local3:Array;
var _local4:MovieClip;
var _local5:Color;
_local3 = [neck.flesh, torso.flesh, wings, wings2.flesh, mouth2.flesh, upperLB.flesh, upperRB.flesh, upperLF.flesh, upperRF.flesh, midLB.flesh, midRB.flesh, midLF.flesh, midRF.flesh, lowerLB.flesh, lowerRB.flesh, lowerLF.flesh, lowerRF.flesh, head.skull, head.mane.ear, head.mouth, head.mane.horn];
this.shade = _arg1;
if (_arg1 > 0){
_local5 = new Color();
_local5.setTint(_arg1, _arg2);
for each (_local4 in _local3) {
_local4.transform.colorTransform = _local5;
};
} else {
for each (_local4 in _local3) {
_local4.transform.colorTransform = new ColorTransform();
};
};
}
public function updateShadeBathLandWingAnimation(){
var _local1:Color;
if (shade > 0){
_local1 = new Color();
_local1.setTint(shade, 0.5);
bathLandAnimation.transform.colorTransform = _local1;
} else {
bathLandAnimation.transform.colorTransform = new ColorTransform();
};
}
public function updateShadeTrottingWingAnimation(){
var _local1:*;
var _local2:Color;
_local1 = trottingWingAnimation;
if (shade > 0){
_local2 = new Color();
_local2.setTint(shade, 0.5);
_local1.transform.colorTransform = _local2;
} else {
_local1.transform.colorTransform = new ColorTransform();
};
}
function frame25(){
trace("moving to loop3");
}
public function configPony(_arg1:Object=null):void{
}
function frame24(){
gotoAndPlay("loop2");
}
function frame192(){
endRainboom();
}
function frame225(){
(parent as MovieClip).endCollision();
}
public function set spec(_arg1:Object):void{
ponySpec = _arg1;
}
function frame8(){
gotoAndPlay("loop1");
}
public function endRainboom():void{
stop();
trace("game's over folks, probably should dispatch an event here");
dispatchEvent(new UsefulEvent({name:"gameOver", payload:null}));
}
function frame46(){
gotoAndPlay("loop3");
}
function frame254(){
(parent as MovieClip).endCollision();
}
public function updateShadeWalkingIdleWingAnimation(){
var _local1:Color;
if (shade > 0){
_local1 = new Color();
_local1.setTint(shade, 0.5);
walkingWingAnimation.transform.colorTransform = _local1;
idleWingAnimation.transform.colorTransform = _local1;
} else {
walkingWingAnimation.transform.colorTransform = new ColorTransform();
idleWingAnimation.transform.colorTransform = new ColorTransform();
};
}
public static function randRange(_arg1:Number, _arg2:Number):Number{
return ((Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
}
}//package com.kid360.mlp
Section 10
//AvatarSpec (com.kid360.mlp.AvatarSpec)
package com.kid360.mlp {
import com.kid360.*;
public class AvatarSpec {
public var creationTime:Number;// = 0
public var mark:uint;// = 0
public var tail:Object;
public var name:String;// = ""
public var markingTime:Number;// = 0
public var body:Object;
public var head:Object;
public var bottoms:Object;
public var eye:Object;
public var hair:Object;
public var tops:Object;
private static var randomized:Boolean = false;
public function AvatarSpec(){
name = "";
creationTime = 0;
body = {variant:0, color:0};
eye = {variant:0, color:0};
hair = {variant:0, color:0};
tail = {variant:0, color:0};
head = {variant:1, color:0};
tops = {variant:1, color:0};
bottoms = {variant:1, color:0};
mark = 0;
markingTime = 0;
super();
}
public function clone():AvatarSpec{
return (({name:name, creationTime:creationTime, body:{variant:body.variant, color:body.color}, eye:{variant:eye.variant, color:eye.color}, hair:{variant:hair.variant, color:hair.color}, tail:{variant:tail.variant, color:tail.color}, head:{variant:head.variant, color:head.color}, tops:{variant:tops.variant, color:tops.color}, bottoms:{variant:bottoms.variant, color:bottoms.color}, mark:mark, markingTime:markingTime} as AvatarSpec));
}
public function get isMarked():Boolean{
return ((markingTime > 0));
}
public static function anyGameSpec():Object{
var anyGameName:Function;
var NUM_COLOR_CHOICES:uint;
var NUM_BACK_CHOICES:uint;
var ponySpec:Object;
anyGameName = function ():String{
return (("Pony" + Utils.randInRange(1000, 9999)));
};
NUM_COLOR_CHOICES = 6;
NUM_BACK_CHOICES = 10;
randomized = true;
ponySpec = new (AvatarSpec);
ponySpec.name = anyGameName();
ponySpec.body = {variant:0, color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.eye = {variant:Utils.randInRange(0, (9 - 1)), color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.hair = {variant:Utils.randInRange(0, (9 - 1)), color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.tail = {variant:Utils.randInRange(0, (9 - 1)), color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.head = {variant:Utils.randInRange(0, (10 - 1)), color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.tops = {variant:Utils.randInRange(0, (10 - 1)), color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.bottoms = {variant:Utils.randInRange(0, (NUM_BACK_CHOICES - 1)), color:Utils.randInRange(0, (NUM_COLOR_CHOICES - 1))};
ponySpec.mark = Utils.randInRange(0, 21);
return (ponySpec);
}
public static function isRandomized():Boolean{
return (randomized);
}
}
}//package com.kid360.mlp
Section 11
//MusicBed (com.kid360.mlp.MusicBed)
package com.kid360.mlp {
import flash.events.*;
import flash.media.*;
public class MusicBed extends EventDispatcher {
private var sndChan:SoundChannel;
private var sndVolume:Number;
private var snd:Sound;
public static const DEFAULT_BED_VOLUME:Number = 0.25;
public function MusicBed(){
sndVolume = DEFAULT_BED_VOLUME;
}
private function onSoundCompleted(_arg1:Event):void{
resumeLoop(0);
}
public function get playbackVolume():Number{
return (sndVolume);
}
public function set playbackVolume(_arg1:Number):void{
var _local2:SoundTransform;
sndVolume = _arg1;
if (sndChan){
_local2 = sndChan.soundTransform;
_local2.volume = sndVolume;
sndChan.soundTransform = _local2;
};
}
public function resumeLoop(_arg1:Number=-1):void{
if (_arg1 == -1){
_arg1 = (sndChan) ? sndChan.position : 0;
};
if (sndChan){
sndChan.removeEventListener(Event.SOUND_COMPLETE, onSoundCompleted);
};
sndChan = snd.play(_arg1, 0, new SoundTransform(playbackVolume));
sndChan.addEventListener(Event.SOUND_COMPLETE, onSoundCompleted);
}
public function playLoop(_arg1:Number=-1):void{
if (!snd){
snd = new MusicLoop();
if (_arg1 > -1){
sndVolume = _arg1;
};
resumeLoop(0);
};
}
public function pauseLoop():void{
if (sndChan){
sndChan.stop();
};
}
public function stopLoop():void{
if (sndChan){
sndChan.stop();
sndChan.removeEventListener(Event.SOUND_COMPLETE, onSoundCompleted);
sndChan = null;
};
}
}
}//package com.kid360.mlp
Section 12
//Popup (com.kid360.mlp.Popup)
package com.kid360.mlp {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class Popup extends MovieClip {
public var helpFaces:MovieClip;
public var helpBkgdFaces:MovieClip;
public var backdrop:MovieClip;
public var controlPanel:MovieClip;
public var body:TextField;
public var header:TextField;
public var cameo:MovieClip;
public var editorBtn:MovieClip;
public static const helpMessages:Object = {spawn:"", ponyville:"", ponycreator:"", AppleHarvest:"", LaughPack:"", CloudBump:"", MishMash:"", unlock:"", apiStartError:"", startOKError:"", newbody:"You’ve earned _nummarks_ Cutie Marks, and have unlocked the _bodytype_ body! Visit the Pony Creator to try it out!"};
public function Popup(_arg1:Object){
backdrop.gotoAndStop(((_arg1.type == "error")) ? 2 : 1);
cameo.visible = (editorBtn.visible = (_arg1.context == "unlock"));
header.text = ((_arg1.type == "help")) ? "" : "";
if (_arg1.type == "error"){
controlPanel.visible = false;
helpFaces.stop();
helpBkgdFaces.stop();
if (_arg1.context == "apiStartError"){
header.text = "Oops!";
body.text = "Can’t load game";
};
} else {
if (helpMessages.hasOwnProperty(_arg1.context)){
switch (_arg1.context){
case "ponycreator":
helpFaces.gotoAndStop(2);
helpBkgdFaces.gotoAndStop(2);
break;
case "ponyville":
helpFaces.gotoAndStop(3);
helpBkgdFaces.gotoAndStop(3);
break;
case "AppleHarvest":
helpFaces.gotoAndStop(4);
helpBkgdFaces.gotoAndStop(4);
break;
case "LaughPack":
helpFaces.gotoAndStop(5);
helpBkgdFaces.gotoAndStop(5);
break;
case "CloudBump":
helpFaces.gotoAndStop(6);
helpBkgdFaces.gotoAndStop(6);
break;
case "MishMash":
helpFaces.gotoAndStop(7);
helpBkgdFaces.gotoAndStop(7);
break;
case "unlock":
if (_arg1.points > 1){
};
body.text = body.text.replace(/-numitems-/, String(_arg1.points));
helpFaces.gotoAndStop(8);
helpBkgdFaces.gotoAndStop(8);
break;
default:
break;
};
} else {
trace("no help available for", _arg1.context);
};
};
addEventListener(MouseEvent.CLICK, onClick);
}
private function updateHead(_arg1:Object):void{
cameo.model.eye = _arg1.eye;
cameo.model.hair = _arg1.hair;
cameo.model.head = _arg1.head;
cameo.model.tops = _arg1.tops;
cameo.model.body = _arg1.body;
}
function onClick(_arg1:MouseEvent):void{
if (_arg1.target == editorBtn){
};
}
}
}//package com.kid360.mlp
Section 13
//Utils (com.kid360.Utils)
package com.kid360 {
import flash.geom.*;
import flash.display.*;
public class Utils {
public static function shuffleArray(_arg1:Array):Array{
return (randomSubset(_arg1.concat(), _arg1.length));
}
public static function randomSubset(_arg1:Array, _arg2:int):Array{
var _local3:Array;
var _local4:int;
var _local5:Number;
_local3 = [];
_local4 = 0;
while (_local4 < _arg2) {
_local5 = randInRange(0, (_arg1.length - 1));
_local3.push(_arg1.splice(_local5, 1)[0]);
_local4++;
};
return (_local3);
}
public static function anyIndex(_arg1:Array):int{
return (randInRange(0, (_arg1.length - 1)));
}
public static function float2decimal(_arg1:Number, _arg2:uint):Number{
trace("=> Using float2decimal is deprecated <=");
return (Number(_arg1.toFixed(_arg2)));
}
public static function arrayPopulation(_arg1:Array):uint{
var _local2:uint;
var _local3:uint;
_local3 = 0;
_local2 = 0;
while (_local2 < _arg1.length) {
if (_arg1[_local2]){
_local3++;
};
_local2++;
};
return (_local3);
}
public static function nearestMultiple(_arg1:Number, _arg2:uint):int{
var _local3:Number;
_local3 = Math.round((_arg1 / _arg2));
return ((_local3 * _arg2));
}
public static function nearestPoint(_arg1:Point, _arg2:uint):Point{
var _local3:Point;
_local3 = new Point();
_local3.x = nearestMultiple(_arg1.x, _arg2);
_local3.y = nearestMultiple(_arg1.y, _arg2);
return (_local3);
}
public static function randInRange(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + Math.floor((Math.random() * ((_arg2 + 1) - _arg1)))));
}
public static function nearestLegalPoint(_arg1:Point, _arg2:Rectangle):Point{
var _local3:Point;
var _local4:Point;
var _local5:Number;
var _local6:String;
if (_arg2.containsPoint(_arg1)){
return (_arg1);
};
_local3 = new Point();
_local4 = new Point((_arg2.x + (_arg2.width / 2)), (_arg2.y + (_arg2.height / 2)));
_local5 = (-((_arg1.y - _local4.y)) / (_arg1.x - _local4.x));
if (_local5 == Number.POSITIVE_INFINITY){
_local3.x = _local4.x;
_local3.y = _arg2.top;
} else {
if (_local5 == Number.NEGATIVE_INFINITY){
_local3.x = _local4.x;
_local3.y = _arg2.bottom;
} else {
_local6 = Utils.nearestEdge(_arg1, _arg2);
switch (_local6){
case "topRight":
_local3.x = _arg2.right;
_local3.y = _arg2.top;
case "right":
_local3.x = _arg2.right;
_local3.y = (_local4.y + ((_arg2.width / 2) * -(_local5)));
break;
case "bottomRight":
_local3.x = _arg2.right;
_local3.y = _arg2.bottom;
case "bottom":
_local3.x = (_local4.x + (((_arg2.height / 2) * -1) / _local5));
_local3.y = _arg2.bottom;
break;
case "bottomLeft":
_local3.x = _arg2.left;
_local3.y = _arg2.bottom;
case "left":
_local3.x = _arg2.left;
_local3.y = (_local4.y + ((_arg2.width / 2) * _local5));
break;
case "topLeft":
_local3.x = _arg2.left;
_local3.y = _arg2.top;
case "top":
_local3.x = (_local4.x + (((_arg2.height / 2) * 1) / _local5));
_local3.y = _arg2.top;
break;
};
};
};
return (_local3);
}
public static function randPtInRect(_arg1:Rectangle):Point{
return (new Point(randInRange(_arg1.left, _arg1.right), randInRange(_arg1.top, _arg1.bottom)));
}
public static function tintObject(_arg1:DisplayObject, _arg2:uint):void{
var _local3:ColorTransform;
_local3 = new ColorTransform();
_local3.color = _arg2;
_arg1.transform.colorTransform = _local3;
}
public static function nearestEdge(_arg1:Point, _arg2:Rectangle):String{
var _local3:Point;
var _local4:Number;
var _local5:Number;
var _local6:String;
_local3 = new Point((_arg2.x + (_arg2.width / 2)), (_arg2.y + (_arg2.height / 2)));
_local4 = (-((_arg1.y - _local3.y)) / (_arg1.x - _local3.x));
_local5 = (_arg2.height / _arg2.width);
_local6 = "";
if (_arg1.x > _local3.x){
_local6 = "right";
if (_arg1.y < _local3.y){
if (_local4 == _local5){
_local6 = "topRight";
} else {
if (_local4 > _local5){
_local6 = "top";
} else {
_local6 = "right";
};
};
} else {
if (_arg1.y > _local3.y){
if (_local4 == -(_local5)){
_local6 = "bottomRight";
} else {
if (_local4 < -(_local5)){
_local6 = "bottom";
} else {
_local6 = "right";
};
};
};
};
} else {
if (_arg1.x < _local3.x){
_local6 = "left";
if (_arg1.y < _local3.y){
if (_local4 == -(_local5)){
_local6 = "topLeft";
} else {
if (_local4 < -(_local5)){
_local6 = "top";
} else {
_local6 = "left";
};
};
} else {
if (_arg1.y > _local3.y){
if (_local4 == _local5){
_local6 = "bottomLeft";
} else {
if (_local4 > _local5){
_local6 = "bottom";
} else {
_local6 = "left";
};
};
};
};
};
};
return (_local6);
}
public static function firstEmptyIndex(_arg1:Array):int{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.length) {
if (!_arg1[_local2]){
return (_local2);
};
_local2++;
};
return (-1);
}
}
}//package com.kid360
Section 14
//Color (fl.motion.Color)
package fl.motion {
import flash.geom.*;
import flash.display.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 15
//BACKGROUND_CLOUDS_55 (rainboom_fla.BACKGROUND_CLOUDS_55)
package rainboom_fla {
import flash.display.*;
public dynamic class BACKGROUND_CLOUDS_55 extends MovieClip {
public function BACKGROUND_CLOUDS_55(){
addFrameScript(1449, frame1450);
}
function frame1450(){
gotoAndPlay(1);
}
}
}//package rainboom_fla
Section 16
//BACKGROUND_SCROLL_56 (rainboom_fla.BACKGROUND_SCROLL_56)
package rainboom_fla {
import flash.display.*;
public dynamic class BACKGROUND_SCROLL_56 extends MovieClip {
public function BACKGROUND_SCROLL_56(){
addFrameScript(800, frame801);
}
function frame801(){
gotoAndPlay(1);
}
}
}//package rainboom_fla
Section 17
//birds_formation_83 (rainboom_fla.birds_formation_83)
package rainboom_fla {
import flash.display.*;
public dynamic class birds_formation_83 extends MovieClip {
public function birds_formation_83(){
addFrameScript(24, frame25);
}
function frame25(){
gotoAndPlay("loop");
}
}
}//package rainboom_fla
Section 18
//cartsprites_81 (rainboom_fla.cartsprites_81)
package rainboom_fla {
import flash.display.*;
public dynamic class cartsprites_81 extends MovieClip {
public function cartsprites_81(){
addFrameScript(21, frame22);
}
function frame22(){
gotoAndPlay("loop");
}
}
}//package rainboom_fla
Section 19
//clearingSky_54 (rainboom_fla.clearingSky_54)
package rainboom_fla {
import flash.display.*;
public dynamic class clearingSky_54 extends MovieClip {
public var mtns:MovieClip;
public var clouds:MovieClip;
}
}//package rainboom_fla
Section 20
//goBtnShape_4 (rainboom_fla.goBtnShape_4)
package rainboom_fla {
import flash.display.*;
import flash.events.*;
public dynamic class goBtnShape_4 extends MovieClip {
public function goBtnShape_4(){
addFrameScript(0, frame1);
}
function frame1(){
mouseChildren = false;
buttonMode = true;
stop();
this.addEventListener(MouseEvent.MOUSE_UP, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_OVER, gotoFrame2);
this.addEventListener(MouseEvent.MOUSE_OUT, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_DOWN, gotoFrame3);
}
public function gotoFrame1(_arg1:MouseEvent){
gotoAndStop(1);
}
public function gotoFrame2(_arg1:MouseEvent){
gotoAndStop(2);
}
public function gotoFrame3(_arg1:MouseEvent){
gotoAndStop(3);
}
}
}//package rainboom_fla
Section 21
//level1Btn_51 (rainboom_fla.level1Btn_51)
package rainboom_fla {
import flash.display.*;
import flash.events.*;
public dynamic class level1Btn_51 extends MovieClip {
public function level1Btn_51(){
addFrameScript(0, frame1);
}
function frame1(){
mouseChildren = false;
buttonMode = true;
stop();
this.addEventListener(MouseEvent.MOUSE_UP, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_OVER, gotoFrame2);
this.addEventListener(MouseEvent.MOUSE_OUT, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_DOWN, gotoFrame3);
}
public function gotoFrame1(_arg1:MouseEvent){
gotoAndStop(1);
}
public function gotoFrame2(_arg1:MouseEvent){
gotoAndStop(2);
}
public function gotoFrame3(_arg1:MouseEvent){
gotoAndStop(3);
}
}
}//package rainboom_fla
Section 22
//level2Btn_52 (rainboom_fla.level2Btn_52)
package rainboom_fla {
import flash.display.*;
import flash.events.*;
public dynamic class level2Btn_52 extends MovieClip {
public function level2Btn_52(){
addFrameScript(0, frame1);
}
function frame1(){
mouseChildren = false;
buttonMode = true;
stop();
this.addEventListener(MouseEvent.MOUSE_UP, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_OVER, gotoFrame2);
this.addEventListener(MouseEvent.MOUSE_OUT, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_DOWN, gotoFrame3);
}
public function gotoFrame1(_arg1:MouseEvent){
gotoAndStop(1);
}
public function gotoFrame2(_arg1:MouseEvent){
gotoAndStop(2);
}
public function gotoFrame3(_arg1:MouseEvent){
gotoAndStop(3);
}
}
}//package rainboom_fla
Section 23
//levelBtn_48 (rainboom_fla.levelBtn_48)
package rainboom_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class levelBtn_48 extends MovieClip {
public var val:int;
public var isOn:Boolean;
public var faces:MovieClip;
public function levelBtn_48(){
addFrameScript(0, frame1);
}
public function init():void{
val = (int(name.substr(-1)) - 1);
isOn = ((parent as MovieClip).chosen == this);
faces.gotoAndStop((val + 1));
if (isOn){
faces.gotoAndStop((val + 4));
};
}
public function hilite(_arg1:Boolean):void{
var _local2:int;
if (_arg1 == isOn){
return;
};
isOn = _arg1;
_local2 = (_arg1) ? 3 : 0;
faces.gotoAndStop(((val + 1) + _local2));
}
public function onRollOverBtn(_arg1:MouseEvent):void{
if (isOn){
return;
};
if (_arg1.target.val == 0){
_arg1.target.faces.gotoAndStop(7);
} else {
if (_arg1.target.val == 1){
_arg1.target.faces.gotoAndStop(8);
} else {
if (_arg1.target.val == 2){
_arg1.target.faces.gotoAndStop(9);
};
};
};
}
function frame1(){
mouseChildren = false;
buttonMode = true;
init();
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(MouseEvent.MOUSE_OVER, onRollOverBtn);
addEventListener(MouseEvent.MOUSE_OUT, onRollOutBtn);
}
public function onRollOutBtn(_arg1:MouseEvent):void{
if (isOn){
return;
};
if (_arg1.target.val == 0){
_arg1.target.faces.gotoAndStop(1);
} else {
if (_arg1.target.val == 1){
_arg1.target.faces.gotoAndStop(2);
} else {
if (_arg1.target.val == 2){
_arg1.target.faces.gotoAndStop(3);
};
};
};
}
public function onClick(_arg1:MouseEvent):void{
var _local2:int;
_local2 = ((faces.currentFrame < 4)) ? 3 : -3;
(_arg1.target as MovieClip).faces.gotoAndStop((faces.currentFrame + _local2));
hilite(!(isOn));
}
}
}//package rainboom_fla
Section 24
//levelBtnFaces_49 (rainboom_fla.levelBtnFaces_49)
package rainboom_fla {
import flash.display.*;
public dynamic class levelBtnFaces_49 extends MovieClip {
public function levelBtnFaces_49(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package rainboom_fla
Section 25
//levelPicker_47 (rainboom_fla.levelPicker_47)
package rainboom_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class levelPicker_47 extends MovieClip {
public var level1:MovieClip;
public var level2:MovieClip;
public var chosen:MovieClip;
public function levelPicker_47(){
addFrameScript(0, frame1);
}
function frame1(){
level1.val = 0;
level2.val = 1;
chosen = [level1, level2][(root as MovieClip).difficultyLevel];
chosen.hilite(true);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
var _local2:Array;
var _local3:MovieClip;
_local2 = [level1, level2];
for each (_local3 in _local2) {
_local3.hilite((_local3 == _arg1.target));
if (_local3 == _arg1.target){
chosen = _local3;
};
};
}
}
}//package rainboom_fla
Section 26
//packBtn_66 (rainboom_fla.packBtn_66)
package rainboom_fla {
import flash.display.*;
import flash.events.*;
public dynamic class packBtn_66 extends MovieClip {
public function packBtn_66(){
addFrameScript(0, frame1);
}
function frame1(){
mouseChildren = false;
buttonMode = true;
stop();
this.addEventListener(MouseEvent.MOUSE_UP, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_OVER, gotoFrame2);
this.addEventListener(MouseEvent.MOUSE_OUT, gotoFrame1);
this.addEventListener(MouseEvent.MOUSE_DOWN, gotoFrame3);
}
public function gotoFrame1(_arg1:MouseEvent){
gotoAndStop(1);
}
public function gotoFrame2(_arg1:MouseEvent){
gotoAndStop(2);
}
public function gotoFrame3(_arg1:MouseEvent){
gotoAndStop(3);
}
}
}//package rainboom_fla
Section 27
//ProgressMeter_60 (rainboom_fla.ProgressMeter_60)
package rainboom_fla {
import flash.display.*;
public dynamic class ProgressMeter_60 extends MovieClip {
public function ProgressMeter_60(){
addFrameScript(0, frame1);
}
public function halt(_arg1:Boolean):void{
var _local2:int;
var _local3:DisplayObject;
if (_arg1){
stop();
_local2 = 0;
while (_local2 < numChildren) {
_local3 = getChildAt(_local2);
if ((_local3 is MovieClip)){
(_local3 as MovieClip).stop();
};
_local2++;
};
} else {
play();
_local2 = 0;
while (_local2 < numChildren) {
_local3 = getChildAt(_local2);
if ((_local3 is MovieClip)){
(_local3 as MovieClip).play();
};
_local2++;
};
};
}
function frame1(){
stop();
}
}
}//package rainboom_fla
Section 28
//replayLevelPicker_65 (rainboom_fla.replayLevelPicker_65)
package rainboom_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class replayLevelPicker_65 extends MovieClip {
public var level1:MovieClip;
public var level2:MovieClip;
public var chosen:MovieClip;
public function replayLevelPicker_65(){
addFrameScript(0, frame1);
}
function frame1(){
level1.val = 0;
level2.val = 1;
chosen = [level1, level2][(root as MovieClip).difficultyLevel];
chosen.hilite(true);
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
var _local2:Array;
var _local3:MovieClip;
_local2 = [level1, level2];
for each (_local3 in _local2) {
_local3.hilite((_local3 == _arg1.target));
if (_local3 == _arg1.target){
chosen = _local3;
};
};
}
}
}//package rainboom_fla
Section 29
//replayScreen_63 (rainboom_fla.replayScreen_63)
package rainboom_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import com.kid360.i18n.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class replayScreen_63 extends MovieClip {
public var gratz:TextField;
public var levelPicker:MovieClip;
public var goBtn:MovieClip;
public var packBtn:MovieClip;
public var gameEnd:MovieClip;
public function replayScreen_63(){
addFrameScript(0, frame1);
}
function frame1(){
goBtn.stop();
localizeText(gratz, "replayScreen", "congratulations");
addEventListener(MouseEvent.CLICK, onClick);
}
public function downloadPack():void{
if (ExternalInterface.available){
if ((((Capabilities.playerType == "PlugIn")) || ((Capabilities.playerType == "ActiveX")))){
ExternalInterface.call("downloadFile", "http://qa.royalwedding.hubworld.hosting-hasbro.com/printables/RainbowDash_TShirtTransfer.pdf");
};
};
}
public function localizeText(_arg1:TextField, _arg2:String, _arg3:String):void{
var _local4:Object;
trace((("Using language |" + (parent as MovieClip).languageTag) + "|"));
_local4 = StringsManager.getString(_arg2, _arg3, (parent as MovieClip).languageTag);
if (_local4.x){
trace("moving block", _arg3, "to new x", _local4.x, "ismt", ("" == _local4.x));
_arg1.x = parseFloat(_local4.x.toString());
};
if (_local4.y){
trace("moving block", _arg3, "to new y", _local4.y);
_arg1.y = parseFloat(_local4.y);
};
_arg1.text = _local4.text;
}
public function onClick(_arg1:MouseEvent):void{
switch (_arg1.target){
case goBtn:
goBtn.gotoAndStop(1);
(parent as MovieClip).gotoAndPlay("playMenu");
break;
case packBtn:
navigateToURL(new URLRequest("printables/RainbowDash_TShirtTransfer.pdf"), "_blank");
break;
};
}
}
}//package rainboom_fla
Section 30
//Splash_45 (rainboom_fla.Splash_45)
package rainboom_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import com.kid360.i18n.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Splash_45 extends MovieClip {
public var gameTitle2:TextField;
public var gameTitle:TextField;
public var howToPlay:TextField;
public var step2:TextField;
public var step3:TextField;
public function Splash_45(){
addFrameScript(0, frame1);
}
function frame1(){
localizeText(gameTitle, "splashScreen", "gameTitle");
localizeText(gameTitle2, "splashScreen", "gameTitle");
localizeText(howToPlay, "splashScreen", "instructionsHeader");
localizeText(step2, "splashScreen", "step2");
localizeText(step3, "splashScreen", "step3");
}
public function localizeText(_arg1:TextField, _arg2:String, _arg3:String):void{
var _local4:Object;
trace((("Using language |" + (root as MovieClip).languageTag) + "|"));
_local4 = StringsManager.getString(_arg2, _arg3, (root as MovieClip).languageTag);
if (_local4.x){
trace("moving block", _arg3, "to new x", _local4.x, "ismt", ("" == _local4.x));
_arg1.x = parseFloat(_local4.x.toString());
};
if (_local4.y){
trace("moving block", _arg3, "to new y", _local4.y);
_arg1.y = parseFloat(_local4.y);
};
_arg1.text = _local4.text;
}
}
}//package rainboom_fla
Section 31
//SplashDummy_2 (rainboom_fla.SplashDummy_2)
package rainboom_fla {
import flash.display.*;
public dynamic class SplashDummy_2 extends MovieClip {
public function SplashDummy_2(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package rainboom_fla
Section 32
//startScreen_44 (rainboom_fla.startScreen_44)
package rainboom_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.media.*;
import flash.net.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class startScreen_44 extends MovieClip {
public var levelPicker:MovieClip;
public var goBtn:MovieClip;
public var level2Btn:MovieClip;
public var level1Btn:MovieClip;
public function startScreen_44(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
if (_arg1.target == goBtn){
(parent as MovieClip).difficultyLevel = ["level1", "level2"].indexOf(levelPicker.chosen.name);
trace("go with lvl", (parent as MovieClip).difficultyLevel);
(parent as MovieClip).play();
};
if (_arg1.target == level1Btn){
(parent as MovieClip).difficultyLevel = 0;
trace("go with lvl", (parent as MovieClip).difficultyLevel);
(parent as MovieClip).play();
};
if (_arg1.target == level2Btn){
(parent as MovieClip).difficultyLevel = 1;
trace("go with lvl", (parent as MovieClip).difficultyLevel);
(parent as MovieClip).play();
};
}
}
}//package rainboom_fla
Section 33
//startScreenDummy_1 (rainboom_fla.startScreenDummy_1)
package rainboom_fla {
import flash.display.*;
import flash.events.*;
public dynamic class startScreenDummy_1 extends MovieClip {
public var goBtn:MovieClip;
public function startScreenDummy_1(){
addFrameScript(0, frame1);
}
function frame1(){
addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(_arg1:MouseEvent):void{
if (_arg1.target == goBtn){
(parent as MovieClip).play();
};
}
}
}//package rainboom_fla
Section 34
//Timeline_85 (rainboom_fla.Timeline_85)
package rainboom_fla {
import flash.display.*;
public dynamic class Timeline_85 extends MovieClip {
public function Timeline_85(){
addFrameScript(21, frame22);
}
function frame22(){
gotoAndPlay("loop");
}
}
}//package rainboom_fla
Section 35
//BalloonCloud (BalloonCloud)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class BalloonCloud extends Cloud {
public function BalloonCloud(){
addFrameScript(0, frame1, 44, frame45);
}
function frame1(){
stop();
}
function frame45(){
burstComplete();
}
}
}//package
Section 36
//BirdCloud (BirdCloud)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class BirdCloud extends Cloud {
public function BirdCloud(){
addFrameScript(0, frame1, 71, frame72);
}
function frame72(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 37
//Copter (Copter)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class Copter extends Cloud {
public function Copter(){
addFrameScript(0, frame1, 173, frame174);
}
function frame174(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 38
//FluffyCloud (FluffyCloud)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloud extends Cloud {
public function FluffyCloud(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 39
//FluffyCloudA (FluffyCloudA)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloudA extends Cloud {
public function FluffyCloudA(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 40
//FluffyCloudB (FluffyCloudB)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloudB extends Cloud {
public function FluffyCloudB(){
addFrameScript(0, frame1, 12, frame13);
}
function frame1(){
stop();
}
function frame13(){
burstComplete();
}
}
}//package
Section 41
//FluffyCloudC (FluffyCloudC)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloudC extends Cloud {
public function FluffyCloudC(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 42
//FluffyCloudD (FluffyCloudD)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloudD extends Cloud {
public function FluffyCloudD(){
addFrameScript(0, frame1, 11, frame12);
}
function frame12(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 43
//FluffyCloudE (FluffyCloudE)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloudE extends Cloud {
public function FluffyCloudE(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 44
//FluffyCloudF (FluffyCloudF)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class FluffyCloudF extends Cloud {
public function FluffyCloudF(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 45
//MusicLoop (MusicLoop)
package {
import flash.media.*;
public dynamic class MusicLoop extends Sound {
}
}//package
Section 46
//MusicLoop2 (MusicLoop2)
package {
import flash.media.*;
public dynamic class MusicLoop2 extends Sound {
}
}//package
Section 47
//SmallFluffyCloudA (SmallFluffyCloudA)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class SmallFluffyCloudA extends Cloud {
public function SmallFluffyCloudA(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 48
//SmallFluffyCloudC (SmallFluffyCloudC)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class SmallFluffyCloudC extends Cloud {
public function SmallFluffyCloudC(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 49
//SmallFluffyCloudD (SmallFluffyCloudD)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class SmallFluffyCloudD extends Cloud {
public function SmallFluffyCloudD(){
addFrameScript(0, frame1, 11, frame12);
}
function frame12(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package
Section 50
//SmallFluffyCloudF (SmallFluffyCloudF)
package {
import com.kid360.mlp.cloudbump.*;
public dynamic class SmallFluffyCloudF extends Cloud {
public function SmallFluffyCloudF(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
burstComplete();
}
function frame1(){
stop();
}
}
}//package