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

swfchan turned sixteen years old yesterday! (5may2024)

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

memory_matrix_game.swf

This is the info page for
Flash #134525

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


Text
2
7

<3

5

8
@

4
#
;

s
o
m
e
h
s
z
n
n
l



j
f
j
f

k
n
s
g
h
s



z



n
n
l
j
f

1
6
7
3
4
9



4
6
7

2
9

k
n
s
g
h
s
z
n
n
l
j
f
j
f
g

l
j
k
g

k
n
s
g
h
s
z
n
n
l

g

l
j
k
g
s
j
h
d
f
s
l
d
l
j
g
i
s
j
k

j
f
j
f
g

l
j
k
g

k
n
s
g
h
s
z
n
n
l
j
f
j
f
g

l
j
k
g

z
n
n
l
j
f
j
f
g

z
n
n
l
j
f
j
f
g

k
n
s
g
h
s



z



n
n
l
j
f

k
n
s
g
h
s



z



n
n
l
j
f

s
n
g
s





s
h

d
f

s
h
f
j

s
f
h
g

f
d

z
n
n
l
j
f
j
f
g

l
d
x
c
v


j
k

a
s
g
d

r
e
d

a
h
f
a
h
d
f

l
j
j
k

g
i
s

u
t

e
r
n





s
h

d
f

s
h
f
j

$
3
4
5

*
*

s
3
4
5
g

f
d

Play

How to Play

WHAT IS MEMORY TRAINING?

Memory training is used for remembering names, the location of things, learning,
reasoning, and recalling the location of things like your keys.

LUMOSITY PROGRAM BENEFITS

Today

1 month from now

You with
training

You without
training

Your Brain Performance

Improve your brain with scientifically
designed brain training games and
programs.

Lumosity's Memory Matrix challenges your
memory and retention

Remember the pattern to build a bigger matrix.

A pattern will appear on the
screen.
Repeat the pattern by clicking
on the correct tiles.

Instructions

Play Again

Improve your scores and see how you compare to
others with regular brain training at lumosity.com

Try Lumosity Now

Score:

Tiles:

<p align="left"><font face="Trebuchet MS" size="18" color="#0099ff" letterSpacing="0.000000" kerning="1">88888 &nbsp;</font></p>

<p align="left"><font face="Trebuchet MS" size="18" color="#0099ff" letterSpacing="0.000000" kerning="1">88888 &nbsp;</font></p>

GAME OVER

Max Level:

<p align="left"><font face="Trebuchet MS" size="14" color="#0099ff" letterSpacing="0.000000" kerning="1"><b>00000</b></font></p>

<p align="left"><font face="Trebuchet MS" size="14" color="#0099ff" letterSpacing="0.000000" kerning="1"><b>8 tiles</b></font></p>

Score:

YOUR GAME RESULT

See how you compare to
people your age!

Find Out

Continue

Max Level:

<p align="left"><font face="Trebuchet MS" size="18" color="#0099ff" letterSpacing="0.000000" kerning="1">88888 &nbsp;</font></p>

<p align="left"><font face="Trebuchet MS" size="18" color="#0099ff" letterSpacing="0.000000" kerning="1">8 tiles &nbsp;</font></p>

Click here to take a 1 minute survey and help us improve your Lumosity experience!

Score:

9000

Time:

<p align="left"><font face="Trebuchet MS" size="18" color="#990000" letterSpacing="0.000000" kerning="1"><b>33</b></font></p>

Trials:

<p align="left"><font face="Trebuchet MS" size="18" color="#990000" letterSpacing="0.000000" kerning="1"><b>33</b></font></p>

Score:

9000

Tiles:

88

Perfect

<p align="center"><font face="Trebuchet MS" size="16" color="#990000" letterSpacing="0.000000" kerning="1"><b>+2225 </b></font></p>

Game Over

<p align="left"></p>

Game Over

Next:

<p align="left"><font face="Trebuchet MS" size="16" color="#0099ff" letterSpacing="0.000000" kerning="1"><b>88 tiles </b></font></p>

<p align="center"><font face="Trebuchet MS" size="16" color="#990000" letterSpacing="0.000000" kerning="1"><b>+2225 </b></font></p>

<p align="left"><font face="Trebuchet MS" size="16" color="#0099ff" letterSpacing="0.000000" kerning="1"><b>88 tiles </b></font></p>

<p align="left"></p>

ActionScript [AS3]

Section 1
//PropTween (com.greensock.core.PropTween) package com.greensock.core { public class PropTween { public var priority:int; public var start:Number; public var prevNode:PropTween; public var change:Number; public var target:Object; public var name:String; public var property:String; public var nextNode:PropTween; public var isPlugin:Boolean; public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; if (_arg7){ _arg7.prevNode = this; this.nextNode = _arg7; }; this.priority = _arg8; } } }//package com.greensock.core
Section 2
//SimpleTimeline (com.greensock.core.SimpleTimeline) package com.greensock.core { public class SimpleTimeline extends TweenCore { public var autoRemoveChildren:Boolean; protected var _lastChild:TweenCore; protected var _firstChild:TweenCore; public function SimpleTimeline(_arg1:Object=null){ super(0, _arg1); } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local5:Number; var _local6:TweenCore; var _local4:TweenCore = _firstChild; this.cachedTotalTime = _arg1; this.cachedTime = _arg1; while (_local4) { _local6 = _local4.nextNode; if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){ if (!_local4.cachedReversed){ _local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false); } else { _local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration; _local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false); }; }; _local4 = _local6; }; } public function addChild(_arg1:TweenCore):void{ if (((!(_arg1.cachedOrphan)) && (_arg1.timeline))){ _arg1.timeline.remove(_arg1, true); }; _arg1.timeline = this; if (_arg1.gc){ _arg1.setEnabled(true, true); }; if (_firstChild){ _firstChild.prevNode = _arg1; }; _arg1.nextNode = _firstChild; _firstChild = _arg1; _arg1.prevNode = null; _arg1.cachedOrphan = false; } public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{ if (_arg1.cachedOrphan){ return; }; if (!_arg2){ _arg1.setEnabled(false, true); }; if (_arg1.nextNode){ _arg1.nextNode.prevNode = _arg1.prevNode; } else { if (_lastChild == _arg1){ _lastChild = _arg1.prevNode; }; }; if (_arg1.prevNode){ _arg1.prevNode.nextNode = _arg1.nextNode; } else { if (_firstChild == _arg1){ _firstChild = _arg1.nextNode; }; }; _arg1.cachedOrphan = true; } public function get rawTime():Number{ return (this.cachedTotalTime); } } }//package com.greensock.core
Section 3
//TweenCore (com.greensock.core.TweenCore) package com.greensock.core { import com.greensock.*; public class TweenCore { public var initted:Boolean; protected var _hasUpdate:Boolean; public var active:Boolean; protected var _delay:Number; public var cachedTime:Number; public var cachedReversed:Boolean; public var nextNode:TweenCore; protected var _rawPrevTime:Number;// = -1 public var vars:Object; public var cachedTotalTime:Number; public var data; public var timeline:SimpleTimeline; public var cachedOrphan:Boolean; public var cachedStartTime:Number; public var prevNode:TweenCore; public var cachedDuration:Number; public var gc:Boolean; protected var _pauseTime:Number; public var cacheIsDirty:Boolean; public var cachedPaused:Boolean; public var cachedTimeScale:Number; public var cachedTotalDuration:Number; public static const version:Number = 1.382; protected static var _classInitted:Boolean; public function TweenCore(_arg1:Number=0, _arg2:Object=null){ this.vars = ((_arg2)!=null) ? _arg2 : {}; this.cachedDuration = (this.cachedTotalDuration = _arg1); _delay = (this.vars.delay) ? Number(this.vars.delay) : 0; this.cachedTimeScale = (this.vars.timeScale) ? Number(this.vars.timeScale) : 1; this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false))))); this.cachedTotalTime = (this.cachedTime = 0); this.data = this.vars.data; if (!_classInitted){ if (isNaN(TweenLite.rootFrame)){ TweenLite.initClass(); _classInitted = true; } else { return; }; }; var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline; this.cachedStartTime = (_local3.cachedTotalTime + _delay); _local3.addChild(this); if (this.vars.reversed){ this.cachedReversed = true; }; if (this.vars.paused){ this.paused = true; }; } public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ } public function get delay():Number{ return (_delay); } public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{ this.reversed = false; this.paused = false; this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2); } public function get duration():Number{ return (this.cachedDuration); } public function set reversed(_arg1:Boolean):void{ if (_arg1 != this.cachedReversed){ this.cachedReversed = _arg1; setTotalTime(this.cachedTotalTime, true); }; } public function set startTime(_arg1:Number):void{ var _local2:Boolean = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc))))); this.cachedStartTime = _arg1; if (_local2){ this.timeline.addChild(this); }; } public function set delay(_arg1:Number):void{ this.startTime = (this.startTime + (_arg1 - _delay)); _delay = _arg1; } public function resume():void{ this.paused = false; } public function get paused():Boolean{ return (this.cachedPaused); } public function play():void{ this.reversed = false; this.paused = false; } public function set duration(_arg1:Number):void{ this.cachedDuration = (this.cachedTotalDuration = _arg1); setDirtyCache(false); } public function invalidate():void{ } public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{ if (!_arg1){ renderTime(this.totalDuration, _arg2, false); return; }; if (this.timeline.autoRemoveChildren){ this.setEnabled(false, false); } else { this.active = false; }; if (!_arg2){ if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); } else { if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){ this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams); }; }; }; } public function get reversed():Boolean{ return (this.cachedReversed); } public function get totalTime():Number{ return (this.cachedTotalTime); } public function get startTime():Number{ return (this.cachedStartTime); } public function set currentTime(_arg1:Number):void{ setTotalTime(_arg1, false); } protected function setDirtyCache(_arg1:Boolean=true):void{ var _local2:TweenCore = (_arg1) ? this : this.timeline; while (_local2) { _local2.cacheIsDirty = true; _local2 = _local2.timeline; }; } public function reverse(_arg1:Boolean=true):void{ this.reversed = true; if (_arg1){ this.paused = false; } else { if (this.gc){ this.setEnabled(true, false); }; }; } public function set paused(_arg1:Boolean):void{ if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){ if (_arg1){ _pauseTime = this.timeline.rawTime; } else { this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime)); _pauseTime = NaN; setDirtyCache(false); }; this.cachedPaused = _arg1; this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration)))); }; if (((!(_arg1)) && (this.gc))){ this.setTotalTime(this.cachedTotalTime, false); this.setEnabled(true, false); }; } public function kill():void{ setEnabled(false, false); } public function set totalTime(_arg1:Number):void{ setTotalTime(_arg1, false); } public function get currentTime():Number{ return (this.cachedTime); } protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{ var _local3:Number; var _local4:Number; if (this.timeline){ _local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime; if (this.cachedReversed){ _local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration; this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale)); } else { this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale)); }; if (!this.timeline.cacheIsDirty){ setDirtyCache(false); }; if (this.cachedTotalTime != _arg1){ renderTime(_arg1, _arg2, false); }; }; } public function pause():void{ this.paused = true; } public function set totalDuration(_arg1:Number):void{ this.duration = _arg1; } public function get totalDuration():Number{ return (this.cachedTotalDuration); } public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{ this.gc = !(_arg1); if (_arg1){ this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration)))); if (((!(_arg2)) && (this.cachedOrphan))){ this.timeline.addChild(this); }; } else { this.active = false; if (((!(_arg2)) && (!(this.cachedOrphan)))){ this.timeline.remove(this, true); }; }; return (false); } } }//package com.greensock.core
Section 4
//TweenEvent (com.greensock.events.TweenEvent) package com.greensock.events { import flash.events.*; public class TweenEvent extends Event { public static const COMPLETE:String = "complete"; public static const START:String = "start"; public static const UPDATE:String = "change"; public static const REVERSE_COMPLETE:String = "reverseComplete"; public static const INIT:String = "init"; public static const VERSION:Number = 1.1; public static const REPEAT:String = "repeat"; public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new TweenEvent(this.type, this.bubbles, this.cancelable)); } } }//package com.greensock.events
Section 5
//OverwriteManager (com.greensock.OverwriteManager) package com.greensock { import com.greensock.core.*; import flash.utils.*; import flash.errors.*; public class OverwriteManager { public static const ALL_ONSTART:int = 4; public static const CONCURRENT:int = 3; public static const ALL_IMMEDIATE:int = 1; public static const PREEXISTING:int = 5; public static const AUTO:int = 2; public static const version:Number = 6.02; public static const NONE:int = 0; public static var enabled:Boolean; public static var mode:int; public static function getGlobalPaused(_arg1:TweenCore):Boolean{ while (_arg1) { if (_arg1.cachedPaused){ return (true); }; _arg1 = _arg1.timeline; }; return (false); } public static function init(_arg1:int=2):int{ if (TweenLite.version < 11.1){ throw (new Error("Warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com.")); }; TweenLite.overwriteManager = OverwriteManager; mode = _arg1; enabled = true; return (mode); } public static function manageOverwrites(_arg1:TweenLite, _arg2:Object, _arg3:Array, _arg4:uint):Boolean{ var _local5:int; var _local6:Boolean; var _local7:TweenLite; var _local13:uint; var _local14:Number; var _local15:Number; var _local16:TweenCore; var _local17:Number; var _local18:SimpleTimeline; if (_arg4 >= 4){ _local13 = _arg3.length; _local5 = 0; while (_local5 < _local13) { _local7 = _arg3[_local5]; if (_local7 != _arg1){ if (_local7.setEnabled(false, false)){ _local6 = true; }; } else { if (_arg4 == 5){ break; }; }; _local5++; }; return (_local6); }; var _local8:Number = (_arg1.cachedStartTime + 1E-10); var _local9:Array = []; var _local10:Array = []; var _local11:uint; var _local12:uint; _local5 = _arg3.length; while (--_local5 > -1) { _local7 = _arg3[_local5]; if ((((_local7 == _arg1)) || (_local7.gc))){ } else { if (_local7.timeline != _arg1.timeline){ if (!getGlobalPaused(_local7)){ var _temp1 = _local11; _local11 = (_local11 + 1); var _local19 = _temp1; _local10[_local19] = _local7; }; } else { if ((((((_local7.cachedStartTime <= _local8)) && ((((_local7.cachedStartTime + _local7.totalDuration) + 1E-10) > _local8)))) && (!(getGlobalPaused(_local7))))){ var _temp2 = _local12; _local12 = (_local12 + 1); _local19 = _temp2; _local9[_local19] = _local7; }; }; }; }; if (_local11 != 0){ _local14 = _arg1.cachedTimeScale; _local15 = _local8; _local18 = _arg1.timeline; while (_local18) { _local14 = (_local14 * _local18.cachedTimeScale); _local15 = (_local15 + _local18.cachedStartTime); _local18 = _local18.timeline; }; _local8 = (_local14 * _local15); _local5 = _local11; while (--_local5 > -1) { _local16 = _local10[_local5]; _local14 = _local16.cachedTimeScale; _local15 = _local16.cachedStartTime; _local18 = _local16.timeline; while (_local18) { _local14 = (_local14 * _local18.cachedTimeScale); _local15 = (_local15 + _local18.cachedStartTime); _local18 = _local18.timeline; }; _local17 = (_local14 * _local15); if ((((_local17 <= _local8)) && ((((((_local17 + (_local16.totalDuration * _local14)) + 1E-10) > _local8)) || ((_local16.cachedDuration == 0)))))){ var _temp3 = _local12; _local12 = (_local12 + 1); _local19 = _temp3; _local9[_local19] = _local16; }; }; }; if (_local12 == 0){ return (_local6); }; _local5 = _local12; if (_arg4 == 2){ while (--_local5 > -1) { _local7 = _local9[_local5]; if (_local7.killVars(_arg2)){ _local6 = true; }; if ((((_local7.cachedPT1 == null)) && (_local7.initted))){ _local7.setEnabled(false, false); }; }; } else { while (--_local5 > -1) { if (TweenLite(_local9[_local5]).setEnabled(false, false)){ _local6 = true; }; }; }; return (_local6); } } }//package com.greensock
Section 6
//TweenLite (com.greensock.TweenLite) package com.greensock { import com.greensock.core.*; import flash.events.*; import flash.display.*; import flash.utils.*; import com.greensock.plugins.*; public class TweenLite extends TweenCore { protected var _hasPlugins:Boolean; public var propTweenLookup:Object; public var cachedPT1:PropTween; protected var _overwrite:uint; protected var _ease:Function; public var target:Object; public var ratio:Number;// = 0 protected var _overwrittenProps:Object; protected var _notifyPluginsOfEnabled:Boolean; public static const version:Number = 11.36; public static var rootTimeline:SimpleTimeline; public static var fastEaseLookup:Dictionary = new Dictionary(false); public static var onPluginEvent:Function; public static var rootFramesTimeline:SimpleTimeline; public static var defaultEase:Function = TweenLite.easeOut; public static var plugins:Object = {}; public static var masterList:Dictionary = new Dictionary(false); public static var overwriteManager:Object; public static var rootFrame:Number; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _shape:Shape = new Shape(); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onInit:1, onInitParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1}; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local5:TweenLite; super(_arg2, _arg3); this.target = _arg1; if ((((this.target is TweenCore)) && (this.vars.timeScale))){ this.cachedTimeScale = 1; }; propTweenLookup = {}; _ease = defaultEase; _overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); var _local4:Array = masterList[_arg1]; if (!_local4){ masterList[_arg1] = [this]; } else { if (_overwrite == 1){ for each (_local5 in _local4) { if (!_local5.gc){ _local5.setEnabled(false, false); }; }; masterList[_arg1] = [this]; } else { _local4[_local4.length] = this; }; }; if (((this.active) || (this.vars.immediateRender))){ renderTime(0, false, true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local4:Boolean; var _local5:Number = this.cachedTime; if (_arg1 >= this.cachedDuration){ this.cachedTotalTime = (this.cachedTime = this.cachedDuration); this.ratio = 1; _local4 = true; if (this.cachedDuration == 0){ if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){ _arg3 = true; }; _rawPrevTime = _arg1; }; } else { if (_arg1 <= 0){ this.cachedTotalTime = (this.cachedTime = (this.ratio = 0)); if (_arg1 < 0){ this.active = false; if (this.cachedDuration == 0){ if (_rawPrevTime > 0){ _arg3 = true; _local4 = true; }; _rawPrevTime = _arg1; }; }; if (((this.cachedReversed) && (!((_local5 == 0))))){ _local4 = true; }; } else { this.cachedTotalTime = (this.cachedTime = _arg1); this.ratio = _ease(_arg1, 0, 1, this.cachedDuration); }; }; if ((((this.cachedTime == _local5)) && (!(_arg3)))){ return; }; if (!this.initted){ init(); if (((!(_local4)) && (this.cachedTime))){ this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration); }; }; if (((!(this.active)) && (!(this.cachedPaused)))){ this.active = true; }; if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){ this.vars.onStart.apply(null, this.vars.onStartParams); }; var _local6:PropTween = this.cachedPT1; while (_local6) { _local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change)); _local6 = _local6.nextNode; }; if (((_hasUpdate) && (!(_arg2)))){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local4){ if (((_hasPlugins) && (this.cachedPT1))){ onPluginEvent("onComplete", this); }; complete(true, _arg2); }; } override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{ var _local3:Array; if (_arg1){ _local3 = TweenLite.masterList[this.target]; if (!_local3){ TweenLite.masterList[this.target] = [this]; } else { _local3[_local3.length] = this; }; }; super.setEnabled(_arg1, _arg2); if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){ return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this)); }; return (false); } protected function init():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:Boolean; var _local5:Array; var _local6:PropTween; if (this.vars.onInit){ this.vars.onInit.apply(null, this.vars.onInitParams); }; if (typeof(this.vars.ease) == "function"){ _ease = this.vars.ease; }; if (this.vars.easeParams){ this.vars.proxiedEase = _ease; _ease = easeProxy; }; this.cachedPT1 = null; this.propTweenLookup = {}; for (_local1 in this.vars) { if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){ } else { if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){ this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1); if (this.cachedPT1.name == "_MULTIPLE_"){ _local2 = _local3.overwriteProps.length; while (--_local2 > -1) { this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1; }; } else { this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1; }; if (_local3.priority){ this.cachedPT1.priority = _local3.priority; _local4 = true; }; if (((_local3.onDisable) || (_local3.onEnable))){ _notifyPluginsOfEnabled = true; }; _hasPlugins = true; } else { this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1); this.propTweenLookup[_local1] = this.cachedPT1; }; }; }; if (_local4){ onPluginEvent("onInit", this); }; if (this.vars.runBackwards){ _local6 = this.cachedPT1; while (_local6) { _local6.start = (_local6.start + _local6.change); _local6.change = -(_local6.change); _local6 = _local6.nextNode; }; }; _hasUpdate = Boolean(!((this.vars.onUpdate == null))); if (_overwrittenProps){ killVars(_overwrittenProps); if (this.cachedPT1 == null){ this.setEnabled(false, false); }; }; if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){ if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){ init(); }; }; this.initted = true; } public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{ var _local3:String; var _local4:PropTween; var _local5:Boolean; if (_overwrittenProps == null){ _overwrittenProps = {}; }; for (_local3 in _arg1) { if ((_local3 in propTweenLookup)){ _local4 = propTweenLookup[_local3]; if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){ _local4.target.killProps(_arg1); if (_local4.target.overwriteProps.length == 0){ _local4.name = ""; }; }; if (_local4.name != "_MULTIPLE_"){ if (_local4.nextNode){ _local4.nextNode.prevNode = _local4.prevNode; }; if (_local4.prevNode){ _local4.prevNode.nextNode = _local4.nextNode; } else { if (this.cachedPT1 == _local4){ this.cachedPT1 = _local4.nextNode; }; }; if (((_local4.isPlugin) && (_local4.target.onDisable))){ _local4.target.onDisable(); if (_local4.target.activeDisable){ _local5 = true; }; }; delete propTweenLookup[_local3]; }; }; if (((_arg2) && (!((_arg1 == _overwrittenProps))))){ _overwrittenProps[_local3] = 1; }; }; return (_local5); } override public function invalidate():void{ if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){ onPluginEvent("onDisable", this); }; this.cachedPT1 = null; _overwrittenProps = null; _hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false))); this.propTweenLookup = {}; } public static function initClass():void{ rootFrame = 0; rootTimeline = new SimpleTimeline(null); rootFramesTimeline = new SimpleTimeline(null); rootTimeline.cachedStartTime = (getTimer() * 0.001); rootFramesTimeline.cachedStartTime = rootFrame; rootTimeline.autoRemoveChildren = true; rootFramesTimeline.autoRemoveChildren = true; _shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; } public static function killTweensOf(_arg1:Object, _arg2:Boolean=false, _arg3:Object=null):void{ var _local4:Array; var _local5:int; var _local6:TweenLite; if ((_arg1 in masterList)){ _local4 = masterList[_arg1]; _local5 = _local4.length; while (--_local5 > -1) { _local6 = _local4[_local5]; if (!_local6.gc){ if (_arg2){ _local6.complete(false, false); }; if (_arg3 != null){ _local6.killVars(_arg3); }; if ((((_arg3 == null)) || ((((_local6.cachedPT1 == null)) && (_local6.initted))))){ _local6.setEnabled(false, false); }; }; }; if (_arg3 == null){ delete masterList[_arg1]; }; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; if (!("immediateRender" in _arg3)){ _arg3.immediateRender = true; }; return (new TweenLite(_arg1, _arg2, _arg3)); } protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (1 - (_arg1 / _arg4)); return ((1 - (_arg1 * _arg1))); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0})); } protected static function updateAll(_arg1:Event=null):void{ var _local2:Dictionary; var _local3:Object; var _local4:Array; var _local5:int; rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false); rootFrame++; rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false); if (!(rootFrame % 60)){ _local2 = masterList; for (_local3 in _local2) { _local4 = _local2[_local3]; _local5 = _local4.length; while (--_local5 > -1) { if (TweenLite(_local4[_local5]).gc){ _local4.splice(_local5, 1); }; }; if (_local4.length == 0){ delete _local2[_local3]; }; }; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package com.greensock
Section 7
//TweenMax (com.greensock.TweenMax) package com.greensock { import com.greensock.core.*; import flash.events.*; import flash.display.*; import flash.utils.*; import com.greensock.events.*; import com.greensock.plugins.*; public class TweenMax extends TweenLite implements IEventDispatcher { protected var _cyclesComplete:uint;// = 0 protected var _dispatcher:EventDispatcher; protected var _hasUpdateListener:Boolean; protected var _easeType:uint; protected var _repeatDelay:Number;// = 0 public var yoyo:Boolean; protected var _easePower:uint; protected var _repeat:int;// = 0 public static const version:Number = 11.37; private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2); ; public static var killTweensOf:Function = TweenLite.killTweensOf; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){ super(_arg1, _arg2, _arg3); if (TweenLite.version < 11.2){ throw (new Error("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.")); }; this.yoyo = Boolean(this.vars.yoyo); _repeat = (this.vars.repeat) ? int(this.vars.repeat) : 0; _repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0; this.cacheIsDirty = true; if (((((((((((this.vars.onCompleteListener) || (this.vars.onInitListener))) || (this.vars.onUpdateListener))) || (this.vars.onStartListener))) || (this.vars.onRepeatListener))) || (this.vars.onReverseCompleteListener))){ initDispatcher(); if ((((_arg2 == 0)) && ((_delay == 0)))){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE)); _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE)); }; }; if (((this.vars.timeScale) && (!((this.target is TweenCore))))){ this.cachedTimeScale = this.vars.timeScale; }; } public function dispatchEvent(_arg1:Event):Boolean{ return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1)); } public function set timeScale(_arg1:Number):void{ if (_arg1 == 0){ _arg1 = 0.0001; }; var _local2:Number = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime; this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1)); this.cachedTimeScale = _arg1; setDirtyCache(false); } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local10:Number; var _local11:int; var _local12:int; var _local13:Number; var _local4:Number = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration; var _local5:Number = this.cachedTime; if (_arg1 >= _local4){ this.cachedTotalTime = _local4; this.cachedTime = this.cachedDuration; this.ratio = 1; _local6 = true; if (this.cachedDuration == 0){ if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){ _arg3 = true; }; _rawPrevTime = _arg1; }; } else { if (_arg1 <= 0){ if (_arg1 < 0){ this.active = false; if (this.cachedDuration == 0){ if (_rawPrevTime > 0){ _arg3 = true; _local6 = true; }; _rawPrevTime = _arg1; }; }; this.cachedTotalTime = (this.cachedTime = (this.ratio = 0)); if (((this.cachedReversed) && (!((_local5 == 0))))){ _local6 = true; }; } else { this.cachedTotalTime = (this.cachedTime = _arg1); _local8 = true; }; }; if (_repeat != 0){ _local10 = (this.cachedDuration + _repeatDelay); if (_local6){ if (((this.yoyo) && ((_repeat % 2)))){ this.cachedTime = (this.ratio = 0); }; } else { if (_arg1 > 0){ _local11 = _cyclesComplete; _cyclesComplete = int((this.cachedTotalTime / _local10)); if (_cyclesComplete == (this.cachedTotalTime / _local10)){ _cyclesComplete--; }; if (_local11 != _cyclesComplete){ _local7 = true; }; this.cachedTime = (((this.cachedTotalTime / _local10) - _cyclesComplete) * _local10); if (((this.yoyo) && ((_cyclesComplete % 2)))){ this.cachedTime = (this.cachedDuration - this.cachedTime); } else { if (this.cachedTime >= this.cachedDuration){ this.cachedTime = this.cachedDuration; this.ratio = 1; _local8 = false; }; }; if (this.cachedTime <= 0){ this.cachedTime = (this.ratio = 0); _local8 = false; }; }; }; }; if ((((_local5 == this.cachedTime)) && (!(_arg3)))){ return; }; if (!this.initted){ init(); }; if (((!(this.active)) && (!(this.cachedPaused)))){ this.active = true; }; if (_local8){ if (_easeType){ _local12 = _easePower; _local13 = (this.cachedTime / this.cachedDuration); if (_easeType == 2){ _local13 = (1 - _local13); this.ratio = _local13; while (--_local12 > -1) { this.ratio = (_local13 * this.ratio); }; this.ratio = (1 - this.ratio); } else { if (_easeType == 1){ this.ratio = _local13; while (--_local12 > -1) { this.ratio = (_local13 * this.ratio); }; } else { if (_local13 < 0.5){ _local13 = (_local13 * 2); this.ratio = _local13; while (--_local12 > -1) { this.ratio = (_local13 * this.ratio); }; this.ratio = (this.ratio * 0.5); } else { _local13 = ((1 - _local13) * 2); this.ratio = _local13; while (--_local12 > -1) { this.ratio = (_local13 * this.ratio); }; this.ratio = (1 - (0.5 * this.ratio)); }; }; }; } else { this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration); }; }; if ((((((_local5 == 0)) && (!((this.cachedTotalTime == 0))))) && (!(_arg2)))){ if (this.vars.onStart){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (_dispatcher){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START)); }; }; var _local9:PropTween = this.cachedPT1; while (_local9) { _local9.target[_local9.property] = (_local9.start + (this.ratio * _local9.change)); _local9 = _local9.nextNode; }; if (((_hasUpdate) && (!(_arg2)))){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (((_hasUpdateListener) && (!(_arg2)))){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE)); }; if (_local6){ if (((_hasPlugins) && (this.cachedPT1))){ onPluginEvent("onComplete", this); }; complete(true, _arg2); } else { if (((_local7) && (!(_arg2)))){ if (this.vars.onRepeat){ this.vars.onRepeat.apply(null, this.vars.onRepeatParams); }; if (_dispatcher){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT)); }; }; }; } override public function set totalDuration(_arg1:Number):void{ if (_repeat == -1){ return; }; this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1)); } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (_dispatcher == null){ initDispatcher(); }; if (_arg1 == TweenEvent.UPDATE){ _hasUpdateListener = true; }; _dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{ var _local9:Array; var _local10:int; var _local8:PropTween = new PropTween(_arg1, _arg2, _arg3, ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4), _arg5, _arg6, _arg7); if (((_arg6) && ((_arg5 == "_MULTIPLE_")))){ _local9 = _arg1.overwriteProps; _local10 = _local9.length; while (--_local10 > -1) { this.propTweenLookup[_local9[_local10]] = _local8; }; } else { this.propTweenLookup[_arg5] = _local8; }; return (_local8); } override protected function init():void{ var _local1:TweenMax; var _local2:int; var _local3:String; var _local4:String; var _local5:Array; var _local6:Object; var _local7:PropTween; var _local8:PropTween; var _local9:int; if (this.vars.startAt){ this.vars.startAt.overwrite = 0; this.vars.startAt.immediateRender = true; _local1 = new TweenMax(this.target, 0, this.vars.startAt); }; if (_dispatcher){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.INIT)); }; super.init(); if ((_ease in fastEaseLookup)){ _easeType = fastEaseLookup[_ease][0]; _easePower = fastEaseLookup[_ease][1]; }; if (((!((this.vars.roundProps == null))) && (("roundProps" in TweenLite.plugins)))){ _local5 = this.vars.roundProps; _local9 = _local5.length; while (--_local9 > -1) { _local3 = _local5[_local9]; _local8 = this.cachedPT1; while (_local8) { if (_local8.name == _local3){ if (_local8.isPlugin){ _local8.target.round = true; } else { if (_local6 == null){ _local6 = new TweenLite.plugins.roundProps(); _local6.add(_local8.target, _local3, _local8.start, _local8.change); _hasPlugins = true; _local7 = insertPropTween(_local6, "changeFactor", 0, 1, "_MULTIPLE_", true, this.cachedPT1); this.cachedPT1 = _local7; } else { _local6.add(_local8.target, _local3, _local8.start, _local8.change); }; this.removePropTween(_local8); this.propTweenLookup[_local3] = _local7; }; } else { if (((((_local8.isPlugin) && ((_local8.name == "_MULTIPLE_")))) && (!(_local8.target.round)))){ _local4 = ((" " + _local8.target.overwriteProps.join(" ")) + " "); if (_local4.indexOf(((" " + _local3) + " ")) != -1){ _local8.target.round = true; }; }; }; _local8 = _local8.nextNode; }; }; }; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (_dispatcher){ _dispatcher.removeEventListener(_arg1, _arg2, _arg3); }; } public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{ var _local4:Object = {}; _local4[_arg1] = _arg2; updateTo(_local4, !(_arg3)); } public function willTrigger(_arg1:String):Boolean{ return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1)); } public function hasEventListener(_arg1:String):Boolean{ return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1)); } protected function initDispatcher():void{ if (_dispatcher == null){ _dispatcher = new EventDispatcher(this); }; if ((this.vars.onInitListener is Function)){ _dispatcher.addEventListener(TweenEvent.INIT, this.vars.onInitListener, false, 0, true); }; if ((this.vars.onStartListener is Function)){ _dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true); }; if ((this.vars.onUpdateListener is Function)){ _dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true); _hasUpdateListener = true; }; if ((this.vars.onCompleteListener is Function)){ _dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true); }; if ((this.vars.onRepeatListener is Function)){ _dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true); }; if ((this.vars.onReverseCompleteListener is Function)){ _dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true); }; } public function set currentProgress(_arg1:Number):void{ if (_cyclesComplete == 0){ setTotalTime((this.duration * _arg1), false); } else { setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false); }; } public function get totalProgress():Number{ return ((this.cachedTotalTime / this.totalDuration)); } public function set totalProgress(_arg1:Number):void{ setTotalTime((this.totalDuration * _arg1), false); } protected function removePropTween(_arg1:PropTween):Boolean{ if (_arg1.nextNode){ _arg1.nextNode.prevNode = _arg1.prevNode; }; if (_arg1.prevNode){ _arg1.prevNode.nextNode = _arg1.nextNode; } else { if (this.cachedPT1 == _arg1){ this.cachedPT1 = _arg1.nextNode; }; }; if (((_arg1.isPlugin) && (_arg1.target.onDisable))){ _arg1.target.onDisable(); if (_arg1.target.activeDisable){ return (true); }; }; return (false); } public function get currentProgress():Number{ return ((this.cachedTime / this.duration)); } public function get repeat():int{ return (_repeat); } public function updateTo(_arg1:Object, _arg2:Boolean=false):void{ var _local4:String; var _local5:Number; var _local6:PropTween; var _local7:Number; var _local3:Number = this.ratio; if (((((_arg2) && (!((this.timeline == null))))) && ((this.cachedStartTime < this.timeline.cachedTime)))){ this.cachedStartTime = this.timeline.cachedTime; this.setDirtyCache(false); if (this.gc){ this.setEnabled(true, false); } else { this.timeline.addChild(this); }; }; for (_local4 in _arg1) { this.vars[_local4] = _arg1[_local4]; }; if (this.initted){ this.initted = false; if (!_arg2){ init(); if (((((!(_arg2)) && ((this.cachedTime > 0)))) && ((this.cachedTime < this.cachedDuration)))){ _local5 = (1 / (1 - _local3)); _local6 = this.cachedPT1; while (_local6) { _local7 = (_local6.start + _local6.change); _local6.change = (_local6.change * _local5); _local6.start = (_local7 - _local6.change); _local6 = _local6.nextNode; }; }; }; }; } override public function set currentTime(_arg1:Number):void{ if (_cyclesComplete == 0){ } else { if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){ _arg1 = ((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay))); } else { _arg1 = (_arg1 + (_cyclesComplete * (this.duration + _repeatDelay))); }; }; setTotalTime(_arg1, false); } public function get repeatDelay():Number{ return (_repeatDelay); } public function killProperties(_arg1:Array):void{ var _local2:Object = {}; var _local3:int = _arg1.length; while (--_local3 > -1) { _local2[_arg1[_local3]] = true; }; killVars(_local2); } public function set repeatDelay(_arg1:Number):void{ _repeatDelay = _arg1; setDirtyCache(true); } public function set repeat(_arg1:int):void{ _repeat = _arg1; setDirtyCache(true); } override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{ super.complete(_arg1, _arg2); if (((!(_arg2)) && (_dispatcher))){ if ((((this.cachedTotalTime == this.cachedTotalDuration)) && (!(this.cachedReversed)))){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE)); } else { if (((this.cachedReversed) && ((this.cachedTotalTime == 0)))){ _dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE)); }; }; }; } override public function invalidate():void{ this.yoyo = Boolean((this.vars.yoyo == true)); _repeat = (this.vars.repeat) ? Number(this.vars.repeat) : 0; _repeatDelay = (this.vars.repeatDelay) ? Number(this.vars.repeatDelay) : 0; _hasUpdateListener = false; if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){ initDispatcher(); }; setDirtyCache(true); super.invalidate(); } public function get timeScale():Number{ return (this.cachedTimeScale); } override public function get totalDuration():Number{ if (this.cacheIsDirty){ this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat)); this.cacheIsDirty = false; }; return (this.cachedTotalDuration); } public static function set globalTimeScale(_arg1:Number):void{ if (_arg1 == 0){ _arg1 = 0.0001; }; if (TweenLite.rootTimeline == null){ TweenLite.to({}, 0, {}); }; var _local2:SimpleTimeline = TweenLite.rootTimeline; var _local3:Number = (getTimer() * 0.001); _local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1)); _local2 = TweenLite.rootFramesTimeline; _local3 = TweenLite.rootFrame; _local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1)); TweenLite.rootFramesTimeline.cachedTimeScale = (TweenLite.rootTimeline.cachedTimeScale = _arg1); } public static function fromTo(_arg1:Object, _arg2:Number, _arg3:Object, _arg4:Object):TweenMax{ _arg4.startAt = _arg3; if (_arg3.immediateRender){ _arg4.immediateRender = true; }; return (new TweenMax(_arg1, _arg2, _arg4)); } public static function allFromTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Object, _arg5:Number=0, _arg6:Function=null, _arg7:Array=null):Array{ _arg4.startAt = _arg3; if (_arg3.immediateRender){ _arg4.immediateRender = true; }; return (allTo(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7)); } public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=true):void{ changePause(true, _arg1, _arg2); } public static function getTweensOf(_arg1:Object):Array{ var _local4:int; var _local5:uint; var _local2:Array = masterList[_arg1]; var _local3:Array = []; if (_local2){ _local4 = _local2.length; _local5 = 0; while (--_local4 > -1) { if (!_local2[_local4].gc){ var _temp1 = _local5; _local5 = (_local5 + 1); var _local6 = _temp1; _local3[_local6] = _local2[_local4]; }; }; }; return (_local3); } public static function get globalTimeScale():Number{ return (((TweenLite.rootTimeline)==null) ? 1 : TweenLite.rootTimeline.cachedTimeScale); } public static function killChildTweensOf(_arg1:DisplayObjectContainer, _arg2:Boolean=false):void{ var _local4:Object; var _local5:DisplayObjectContainer; var _local3:Array = getAllTweens(); var _local6:int = _local3.length; while (--_local6 > -1) { _local4 = _local3[_local6].target; if ((_local4 is DisplayObject)){ _local5 = _local4.parent; while (_local5) { if (_local5 == _arg1){ if (_arg2){ _local3[_local6].complete(false); } else { _local3[_local6].setEnabled(false, false); }; }; _local5 = _local5.parent; }; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{ return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0})); } public static function isTweening(_arg1:Object):Boolean{ var _local4:TweenLite; var _local2:Array = getTweensOf(_arg1); var _local3:int = _local2.length; while (--_local3 > -1) { _local4 = _local2[_local3]; if (((_local4.active) || ((((_local4.cachedStartTime == _local4.timeline.cachedTime)) && (_local4.timeline.active))))){ return (true); }; }; return (false); } public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{ var _local5:Boolean; var _local4:Array = getAllTweens(); var _local6:int = _local4.length; while (--_local6 > -1) { _local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete); if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){ if (_arg1){ _local4[_local6].complete(false); } else { _local4[_local6].setEnabled(false, false); }; }; }; } private static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{ var _local5:Boolean; var _local4:Array = getAllTweens(); var _local6:int = _local4.length; while (--_local6 > -1) { _local5 = (TweenLite(_local4[_local6]).target == TweenLite(_local4[_local6]).vars.onComplete); if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){ TweenCore(_local4[_local6]).paused = _arg1; }; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ _arg3.runBackwards = true; if (!("immediateRender" in _arg3)){ _arg3.immediateRender = true; }; return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{ _arg3.runBackwards = true; if (!("immediateRender" in _arg3)){ _arg3.immediateRender = true; }; return (allTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6)); } public static function getAllTweens():Array{ var _local4:Array; var _local5:int; var _local1:Dictionary = masterList; var _local2:uint; var _local3:Array = []; for each (_local4 in _local1) { _local5 = _local4.length; while (--_local5 > -1) { if (!TweenLite(_local4[_local5]).gc){ var _temp1 = _local2; _local2 = (_local2 + 1); var _local8 = _temp1; _local3[_local8] = _local4[_local5]; }; }; }; return (_local3); } public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=true):void{ changePause(false, _arg1, _arg2); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{ return (new TweenMax(_arg1, _arg2, _arg3)); } public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{ var i:int; var varsDup:Object; var p:String; var onCompleteProxy:Function; var onCompleteParamsProxy:Array; var targets = _arg1; var duration = _arg2; var vars = _arg3; var stagger = _arg4; var onCompleteAll = _arg5; var onCompleteAllParams = _arg6; var l:uint = targets.length; var a:Array = []; var curDelay:Number = (("delay" in vars)) ? Number(vars.delay) : 0; onCompleteProxy = vars.onComplete; onCompleteParamsProxy = vars.onCompleteParams; var lastIndex:int = ((stagger)<=0) ? 0 : (l - 1); i = 0; while (i < l) { varsDup = {}; for (p in vars) { varsDup[p] = vars[p]; }; varsDup.delay = curDelay; if ((((i == lastIndex)) && (!((onCompleteAll == null))))){ varsDup.onComplete = function ():void{ if (onCompleteProxy != null){ onCompleteProxy.apply(null, onCompleteParamsProxy); }; onCompleteAll.apply(null, onCompleteAllParams); }; }; a[a.length] = new TweenMax(targets[i], duration, varsDup); curDelay = (curDelay + stagger); i = (i + 1); }; return (a); } } }//package com.greensock
Section 8
//AbstractGameEvent (com.lumoslabs.framework.events.AbstractGameEvent) package com.lumoslabs.framework.events { import flash.events.*; import com.lumoslabs.framework.*; public class AbstractGameEvent extends Event { protected var aManagedGame:ManagedGame; public function AbstractGameEvent(_arg1:ManagedGame, _arg2:String){ super(_arg2); aManagedGame = _arg1; } public function get managedGame():ManagedGame{ return (aManagedGame); } } }//package com.lumoslabs.framework.events
Section 9
//GameControlEvent (com.lumoslabs.framework.events.GameControlEvent) package com.lumoslabs.framework.events { import com.lumoslabs.framework.*; public class GameControlEvent extends AbstractGameEvent { protected var helpActive:Boolean; protected var pauseEnabled:Boolean; protected var pauseActive:Boolean; protected var muteActive:Boolean; public static const GAME_CONTROL:String = "gameControl"; public function GameControlEvent(_arg1:ManagedGame, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean){ super(_arg1, GAME_CONTROL); this.helpActive = _arg2; this.pauseActive = _arg3; this.muteActive = _arg4; this.pauseEnabled = _arg5; } public function get pauseEnable():Boolean{ return (pauseEnabled); } public function get help():Boolean{ return (helpActive); } public function get mute():Boolean{ return (muteActive); } public function get pause():Boolean{ return (pauseActive); } } }//package com.lumoslabs.framework.events
Section 10
//GameDataEvent (com.lumoslabs.framework.events.GameDataEvent) package com.lumoslabs.framework.events { import com.lumoslabs.framework.*; public class GameDataEvent extends AbstractGameEvent { protected var gameDataHash:Object; public static const GAME_DATA:String = "gameData"; public function GameDataEvent(_arg1:ManagedGame, _arg2:Object){ super(_arg1, GAME_DATA); this.gameDataHash = _arg2; } public function get dataHash():Object{ return (gameDataHash); } } }//package com.lumoslabs.framework.events
Section 11
//GamePauseEnabledEvent (com.lumoslabs.framework.events.GamePauseEnabledEvent) package com.lumoslabs.framework.events { import flash.events.*; public class GamePauseEnabledEvent extends Event { private var _pauseEnabled:Boolean; public static const PAUSE_ENABLED:String = "gamePauseEnabled"; public function GamePauseEnabledEvent(_arg1:String, _arg2:Boolean){ super(_arg1); this._pauseEnabled = _arg2; } public function get pauseEnabled():Boolean{ return (this._pauseEnabled); } } }//package com.lumoslabs.framework.events
Section 12
//GamePlayEvent (com.lumoslabs.framework.events.GamePlayEvent) package com.lumoslabs.framework.events { import com.lumoslabs.framework.*; public class GamePlayEvent extends AbstractGameEvent { public static const GAME_PLAY:String = "gamePlay"; public function GamePlayEvent(_arg1:ManagedGame){ super(_arg1, GAME_PLAY); } } }//package com.lumoslabs.framework.events
Section 13
//GamePromoEvent (com.lumoslabs.framework.events.GamePromoEvent) package com.lumoslabs.framework.events { import com.lumoslabs.framework.*; public class GamePromoEvent extends AbstractGameEvent { public static const GAME_PROMO:String = "gamePromo"; public function GamePromoEvent(_arg1:ManagedGame){ super(_arg1, GAME_PROMO); } } }//package com.lumoslabs.framework.events
Section 14
//GameQuitEvent (com.lumoslabs.framework.events.GameQuitEvent) package com.lumoslabs.framework.events { import com.lumoslabs.framework.*; public class GameQuitEvent extends AbstractGameEvent { public static const GAME_QUIT:String = "gameQuit"; public function GameQuitEvent(_arg1:ManagedGame){ super(_arg1, GAME_QUIT); } } }//package com.lumoslabs.framework.events
Section 15
//AbstractGame (com.lumoslabs.framework.AbstractGame) package com.lumoslabs.framework { import flash.events.*; import flash.display.*; import com.lumoslabs.framework.events.*; public class AbstractGame extends EventDispatcher implements ManagedGame { protected var fullScreen:Boolean; protected var pauseActive:Boolean; protected var controlPanel:Boolean; protected var pauseEnabled:Boolean; protected var parentDisObjCon:DisplayObjectContainer; protected var soundEffects:AbstractSoundEffects; protected var muteActive:Boolean; public function AbstractGame(_arg1:DisplayObjectContainer=null, _arg2:Boolean=true){ if (_arg1){ this.parentDisObjCon = _arg1; if (_arg1.stage){ _arg1.stage.tabChildren = false; _arg1.stage.align = StageAlign.TOP_LEFT; _arg1.stage.scaleMode = StageScaleMode.NO_SCALE; }; }; fullScreen = false; controlPanel = true; pauseActive = false; muteActive = false; pauseEnabled = false; setDefaultSettings(); initGame(); if (_arg2){ GameRegistrar.registerManagedGame(this); }; } public function help():void{ pauseActive = false; pauseEnabled = false; dispatchEvent(new GameControlEvent(this, true, pauseActive, muteActive, pauseEnabled)); } protected function setDefaultSettings():void{ } public function destroy():void{ soundEffects.stopAll(); } protected function reportPlay():void{ dispatchEvent(new GamePlayEvent(this)); } protected function enablePause(_arg1:Boolean):void{ this.pauseEnabled = _arg1; dispatchEvent(new GamePauseEnabledEvent(GamePauseEnabledEvent.PAUSE_ENABLED, _arg1)); } public function mute():void{ trace("AbstractGame: MUTE IS DEPRECATED!"); } public function hasControlPanel():Boolean{ return (controlPanel); } protected function reportQuit():void{ dispatchEvent(new GameQuitEvent(this)); } public function addSettings(_arg1:Object):void{ } public function isFullScreen():Boolean{ return (fullScreen); } public function start():void{ } protected function initGame():void{ } public function pause():void{ pauseActive = !(pauseActive); if (pauseActive){ soundEffects.pause(); } else { soundEffects.unpause(); }; dispatchEvent(new GameControlEvent(this, false, pauseActive, muteActive, pauseEnabled)); } protected function reportData(_arg1:Object):void{ dispatchEvent(new GameDataEvent(this, _arg1)); } protected function reportPromo():void{ dispatchEvent(new GamePromoEvent(this)); } protected function initPlay():void{ } } }//package com.lumoslabs.framework
Section 16
//AbstractSoundEffects (com.lumoslabs.framework.AbstractSoundEffects) package com.lumoslabs.framework { import flash.media.*; import flash.events.*; import flash.utils.*; public class AbstractSoundEffects { protected var pauseChannelDict:Dictionary; protected var loopChannelDict:Dictionary; protected var soundDict:Dictionary; protected var transform:SoundTransform; protected var volumeDict:Dictionary; protected var loopDict:Dictionary; public function AbstractSoundEffects(){ transform = new SoundTransform(); volumeDict = new Dictionary(); loopDict = new Dictionary(); loopChannelDict = new Dictionary(); pauseChannelDict = new Dictionary(); soundDict = new Dictionary(); } public function unpause():void{ var _local1:Sound; var _local2:SoundChannel; for each (_local2 in pauseChannelDict) { _local1 = soundDict[_local2]; delete loopChannelDict[_local1]; delete soundDict[_local2]; playSound(_local1, _local2.position); }; pauseChannelDict = new Dictionary(); } public function mute():void{ transform.volume = 0; SoundMixer.soundTransform = transform; } protected function getDeleteChannelFunction(_arg1:SoundChannel):Function{ var channel = _arg1; return (function (_arg1:Event):void{ delete soundDict[channel]; }); } protected function getReplayFunction(_arg1:Sound, _arg2:SoundChannel):Function{ var sound = _arg1; var channel = _arg2; return (function (_arg1:Event):void{ delete loopChannelDict[sound]; delete soundDict[channel]; playLoopSound(sound); }); } public function playSoundByName(_arg1:String, _arg2:Number=0, _arg3:Number=1):void{ var _local4:Sound = new ((getDefinitionByName(_arg1) as Class)); playSound(_local4, _arg2, _arg3); } protected function stopNoLoopSound(_arg1:Sound):void{ var _local2:*; for (_local2 in soundDict) { if (soundDict[_local2] == _arg1){ _local2.stop(); delete soundDict[_local2]; }; }; } protected function stopLoopSound(_arg1:Sound):void{ var _local2:SoundChannel; if ((loopChannelDict[_arg1] is SoundChannel)){ _local2 = loopChannelDict[_arg1]; _local2.stop(); delete loopChannelDict[_arg1]; delete soundDict[_local2]; }; } protected function addEnumerableSounds(_arg1:Object, _arg2:Number=1, _arg3:Boolean=false):void{ var _local4:Sound; for each (_local4 in _arg1) { addSound(_local4, _arg2, _arg3); }; } protected function addSound(_arg1:Sound, _arg2:Number=1, _arg3:Boolean=false):void{ volumeDict[_arg1] = _arg2; loopDict[_arg1] = _arg3; } public function unmute():void{ transform.volume = 1; SoundMixer.soundTransform = transform; } protected function playNoLoopSound(_arg1:Sound, _arg2:Number=0, _arg3:Number=1):void{ if (volumeDict[_arg1] == undefined){ transform.volume = _arg3; } else { transform.volume = volumeDict[_arg1]; }; var _local4:SoundChannel = _arg1.play(_arg2, 0, transform); if (_local4 != null){ soundDict[_local4] = _arg1; _local4.addEventListener(Event.SOUND_COMPLETE, getDeleteChannelFunction(_local4)); }; } protected function playLoopSound(_arg1:Sound, _arg2:Number=0, _arg3:Number=1):void{ var _local4:SoundChannel; if (loopChannelDict[_arg1] == undefined){ if (volumeDict[_arg1] == undefined){ transform.volume = _arg3; } else { transform.volume = volumeDict[_arg1]; }; _local4 = _arg1.play(_arg2, 0, transform); if (_local4 != null){ loopChannelDict[_arg1] = _local4; soundDict[_local4] = _arg1; _local4.addEventListener(Event.SOUND_COMPLETE, getReplayFunction(_arg1, _local4)); }; }; } protected function playSound(_arg1:Sound, _arg2:Number=0, _arg3:Number=1):void{ if (loopDict[_arg1]){ playLoopSound(_arg1, _arg2, _arg3); } else { playNoLoopSound(_arg1, _arg2, _arg3); }; } protected function stopSound(_arg1:Sound):void{ if (loopDict[_arg1]){ stopLoopSound(_arg1); } else { stopNoLoopSound(_arg1); }; } public function pause():void{ var _local1:*; SoundMixer.stopAll(); for (_local1 in soundDict) { pauseChannelDict[_local1] = _local1; }; } public function stopAll():void{ SoundMixer.stopAll(); loopChannelDict = new Dictionary(); pauseChannelDict = new Dictionary(); soundDict = new Dictionary(); } } }//package com.lumoslabs.framework
Section 17
//GameManager (com.lumoslabs.framework.GameManager) package com.lumoslabs.framework { public interface GameManager { function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void; function setupGame(_arg1:ManagedGame):void; } }//package com.lumoslabs.framework
Section 18
//GameRegistrar (com.lumoslabs.framework.GameRegistrar) package com.lumoslabs.framework { public class GameRegistrar { private static var _gameManager:GameManager; public static function getGameManager():GameManager{ return (_gameManager); } public static function registerManagedGame(_arg1:ManagedGame):void{ trace(("GameRegistrar: registerManagedGame: " + _arg1)); if (_gameManager != null){ _gameManager.setupGame(_arg1); } else { _arg1.start(); }; } public static function registerGameManager(_arg1:GameManager):void{ trace(("GameRegistrar: registerGameManager: " + _arg1)); if (_gameManager != null){ trace(("GameRegistrar: registering a new GameManager, although already had: " + _gameManager)); }; _gameManager = _arg1; } } }//package com.lumoslabs.framework
Section 19
//ManagedGame (com.lumoslabs.framework.ManagedGame) package com.lumoslabs.framework { public interface ManagedGame { function help():void; function start():void; function addSettings(_arg1:Object):void; function isFullScreen():Boolean; function pause():void; function hasControlPanel():Boolean; function mute():void; function destroy():void; function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void; } }//package com.lumoslabs.framework
Section 20
//EndScreen (com.lumoslabs.games.memoryMatrix.screens.EndScreen) package com.lumoslabs.games.memoryMatrix.screens { import flash.events.*; import flash.display.*; import flash.text.*; public class EndScreen extends Sprite { public var levelField:TextField; public var continueButton:SimpleButton; public var surveyButton:SimpleButton; public var scoreField:TextField; public function EndScreen(_arg1:Function, _arg2:Function){ continueButton.addEventListener(MouseEvent.CLICK, _arg1, false, 0, true); surveyButton.addEventListener(MouseEvent.CLICK, _arg2, false, 0, true); surveyButton.visible = false; } public function showSurveyButton(_arg1:Boolean=true):void{ surveyButton.visible = _arg1; } public function setScoreText(_arg1:Object):void{ scoreField.text = String(_arg1); } public function setLevelText(_arg1:Object):void{ levelField.text = String(_arg1); } } }//package com.lumoslabs.games.memoryMatrix.screens
Section 21
//HelpScreen (com.lumoslabs.games.memoryMatrix.screens.HelpScreen) package com.lumoslabs.games.memoryMatrix.screens { import flash.events.*; import flash.display.*; public class HelpScreen extends Sprite { public var animation:MovieClip; public var startButton:SimpleButton; public function HelpScreen(_arg1:Function){ startButton.addEventListener(MouseEvent.CLICK, _arg1); resetAnimation(); } public function startAnimation():void{ animation.gotoAndPlay(1); } public function resetAnimation():void{ animation.gotoAndStop(1); } } }//package com.lumoslabs.games.memoryMatrix.screens
Section 22
//PlayScreen (com.lumoslabs.games.memoryMatrix.screens.PlayScreen) package com.lumoslabs.games.memoryMatrix.screens { import flash.display.*; import flash.text.*; public class PlayScreen extends Sprite { public var trialField:TextField; public var levelField:TextField; public var scoreField:TextField; public function setTrialText(_arg1:Object):void{ trialField.text = String(_arg1); } public function setScoreText(_arg1:Object):void{ scoreField.text = String(_arg1); } public function setLevelText(_arg1:Object):void{ levelField.text = String(_arg1); } } }//package com.lumoslabs.games.memoryMatrix.screens
Section 23
//PromoEndScreen (com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen) package com.lumoslabs.games.memoryMatrix.screens { import flash.events.*; import flash.display.*; public class PromoEndScreen extends EndScreen { public var promoButton:SimpleButton; public function PromoEndScreen(_arg1:Function, _arg2:Function, _arg3:Function){ super(_arg1, _arg3); promoButton.addEventListener(MouseEvent.CLICK, _arg2); } } }//package com.lumoslabs.games.memoryMatrix.screens
Section 24
//PromoStartScreen (com.lumoslabs.games.memoryMatrix.screens.PromoStartScreen) package com.lumoslabs.games.memoryMatrix.screens { public class PromoStartScreen extends StartScreen { public function PromoStartScreen(_arg1:Function, _arg2:Function){ super(_arg1, _arg2); } } }//package com.lumoslabs.games.memoryMatrix.screens
Section 25
//StartScreen (com.lumoslabs.games.memoryMatrix.screens.StartScreen) package com.lumoslabs.games.memoryMatrix.screens { import flash.events.*; import flash.display.*; public class StartScreen extends Sprite { public var helpButton:SimpleButton; public var startButton:SimpleButton; public function StartScreen(_arg1:Function, _arg2:Function){ helpButton.addEventListener(MouseEvent.CLICK, _arg1); startButton.addEventListener(MouseEvent.CLICK, _arg2); } } }//package com.lumoslabs.games.memoryMatrix.screens
Section 26
//Board (com.lumoslabs.games.memoryMatrix.Board) package com.lumoslabs.games.memoryMatrix { import flash.events.*; import com.greensock.*; import flash.display.*; import fl.motion.easing.*; import com.lumoslabs.util.*; public class Board extends Sprite { public var bottomLeftCorner:Sprite; protected var tileMatrix:Array; public var topSide:Sprite; protected var onFlipComplete:Function; public var center:Sprite; protected var diagonalXIndex:int; protected var rows:int; public var rightSide:Sprite; protected var columns:int; protected var tileParentSprite:Sprite; public var bottomRightCorner:Sprite; public var bottomSide:Sprite; public var topLeftCorner:Sprite; public var topRightCorner:Sprite; public var leftSide:Sprite; protected var markedTileArray:Array; protected static const FLIP_PAUSE:Number = 3; protected static const BORDER_WIDTH:int = 20; protected static const FLIP_TWEEN_TIME:Number = 0.2; protected static const BORDER_HEIGHT:int = 20; protected static const CORNER_SPACE:int = 10; protected static const DIAGONAL_WAIT:Number = 0.05; public function Board(_arg1:int, _arg2:int, _arg3:int, _arg4:Function){ this.columns = _arg1; this.rows = _arg2; setupBoard(); setupTiles(_arg3, _arg4); } protected function flipComplete(_arg1:Function):void{ if ((rotation % 180) == 0){ TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleX:0.1, delay:FLIP_PAUSE, ease:Linear.easeNone, onComplete:_arg1}); } else { TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleY:0.1, delay:FLIP_PAUSE, ease:Linear.easeNone, onComplete:_arg1}); }; } protected function appearFinish(_arg1:Function):void{ diagonalXIndex = 0; delayedShowDiagonalTiles(true, _arg1); } public function showMarkedTiles(_arg1:Boolean, _arg2:Function=null, _arg3:Array=null):void{ markedTileArray[0].activate(_arg1, rotation, _arg2, _arg3); var _local4 = 1; while (_local4 < markedTileArray.length) { markedTileArray[_local4].activate(_arg1, rotation); _local4++; }; } protected function endFlipComplete():void{ if (onFlipComplete != null){ TweenMax.delayedCall(FLIP_PAUSE, onFlipComplete); }; } protected function delayedShowDiagonalTiles(_arg1:Boolean, _arg2:Function=null):void{ TweenMax.delayedCall(DIAGONAL_WAIT, showDiagonalTiles, [_arg1, _arg2]); } public function showInactiveMarkedTiles(_arg1:Boolean, _arg2:Function=null, _arg3:Array=null):void{ var _local5:Tile; var _local4:Boolean; for each (_local5 in markedTileArray) { if (!_local5.active){ if (!_local4){ _local4 = true; _local5.activate(_arg1, rotation, _arg2, _arg3); } else { _local5.activate(_arg1, rotation); }; }; }; } protected function endFlipFinish(_arg1:int, _arg2:int):void{ var _local3:*; removeChild(tileParentSprite); if (_arg2 > 0){ _local3 = new PerfectEndGameBox(); _local3.bonusField.text = ("+" + _arg2); } else { _local3 = new EndGameBox(); }; _local3.rotation = -(rotation); addChild(_local3); if ((rotation % 180) == 0){ TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleX:1, ease:Linear.easeNone, onComplete:endFlipComplete}); } else { TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleY:1, ease:Linear.easeNone, onComplete:endFlipComplete}); }; } public function appear(_arg1:Function=null):void{ TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleX:1, ease:Linear.easeNone, onComplete:appearFinish, onCompleteParams:[_arg1]}); } protected function flipFinish(_arg1:int, _arg2:int, _arg3:Function):void{ var _local4:*; removeChild(tileParentSprite); if (_arg2 > 0){ _local4 = new PerfectEndTrialBox(); _local4.bonusField.text = ("+" + _arg2); } else { _local4 = new EndTrialBox(); }; if (_arg1 == 1){ _local4.tilesField.text = (_arg1 + " tile"); } else { _local4.tilesField.text = (_arg1 + " tiles"); }; _local4.rotation = -(rotation); addChild(_local4); if ((rotation % 180) == 0){ TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleX:1, ease:Linear.easeNone, onComplete:flipComplete, onCompleteParams:[_arg3]}); } else { TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleY:1, ease:Linear.easeNone, onComplete:flipComplete, onCompleteParams:[_arg3]}); }; } public function endFlip(_arg1:int, _arg2:int, _arg3:Function):void{ onFlipComplete = _arg3; if ((rotation % 180) == 0){ TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleX:0.1, ease:Linear.easeNone, onComplete:endFlipFinish, onCompleteParams:[_arg1, _arg2]}); } else { TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleY:0.1, ease:Linear.easeNone, onComplete:endFlipFinish, onCompleteParams:[_arg1, _arg2]}); }; } protected function showDiagonalTiles(_arg1:Boolean, _arg2:Function=null, _arg3:Array=null):void{ var _local4:int = Math.min(diagonalXIndex, (columns - 1)); var _local5:int = Math.max(0, ((diagonalXIndex - columns) + 1)); while ((((_local4 >= 0)) && ((_local5 < rows)))) { if ((((_local4 == (columns - 1))) && ((_local5 == (rows - 1))))){ tileMatrix[_local4][_local5].show(_arg1, _arg2, _arg3); } else { tileMatrix[_local4][_local5].show(_arg1); }; _local4--; _local5++; }; diagonalXIndex++; if (diagonalXIndex < ((columns + rows) - 1)){ delayedShowDiagonalTiles(_arg1, _arg2); }; } protected function setupBoard():void{ var _local1:Number = ((Tile.WIDTH * columns) + (2 * BORDER_WIDTH)); var _local2:Number = ((Tile.HEIGHT * rows) + (2 * BORDER_HEIGHT)); center.width = ((Tile.WIDTH * columns) - CORNER_SPACE); center.height = ((Tile.HEIGHT * rows) - CORNER_SPACE); topLeftCorner.x = (-(_local1) / 2); topLeftCorner.y = (-(_local2) / 2); topRightCorner.x = (_local1 / 2); topRightCorner.y = (-(_local2) / 2); bottomRightCorner.x = (_local1 / 2); bottomRightCorner.y = (_local2 / 2); bottomLeftCorner.x = (-(_local1) / 2); bottomLeftCorner.y = (_local2 / 2); leftSide.x = (-(_local1) / 2); leftSide.y = 0; leftSide.height = center.height; topSide.x = 0; topSide.y = (-(_local2) / 2); topSide.width = center.width; rightSide.x = (_local1 / 2); rightSide.y = 0; rightSide.height = center.height; bottomSide.x = 0; bottomSide.y = (_local2 / 2); bottomSide.width = center.width; scaleX = 0.1; } public function flip(_arg1:int, _arg2:int, _arg3:Function):void{ if ((rotation % 180) == 0){ TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleX:0.1, ease:Linear.easeNone, onComplete:flipFinish, onCompleteParams:[_arg1, _arg2, _arg3]}); } else { TweenMax.to(this, (FLIP_TWEEN_TIME / 2), {scaleY:0.1, ease:Linear.easeNone, onComplete:flipFinish, onCompleteParams:[_arg1, _arg2, _arg3]}); }; } protected function setupTiles(_arg1:int, _arg2:Function):void{ var _local6:Tile; var _local8:int; var _local3:Array = new Array(); var _local4:int; while (_local4 < _arg1) { _local3.push(Random.otherIntBetween(1, (columns * rows), _local3)); _local4++; }; tileMatrix = new Array(); markedTileArray = new Array(); tileParentSprite = new Sprite(); addChild(tileParentSprite); var _local5 = 1; var _local7:int; while (_local7 < columns) { tileMatrix[_local7] = new Array(); _local8 = 0; while (_local8 < rows) { if (_local3.indexOf(_local5) >= 0){ _local6 = new Tile(_local7, _local8, columns, rows, true); markedTileArray.push(_local6); } else { _local6 = new Tile(_local7, _local8, columns, rows, false); }; tileMatrix[_local7][_local8] = _local6; _local6.addEventListener(MouseEvent.CLICK, _arg2); tileParentSprite.addChild(_local6); _local5++; _local8++; }; _local7++; }; } } }//package com.lumoslabs.games.memoryMatrix
Section 27
//MemoryMatrixGame (com.lumoslabs.games.memoryMatrix.MemoryMatrixGame) package com.lumoslabs.games.memoryMatrix { import flash.events.*; import com.lumoslabs.framework.*; import com.greensock.*; import flash.display.*; import com.lumoslabs.util.*; import com.lumoslabs.games.memoryMatrix.screens.*; import flash.net.*; public class MemoryMatrixGame extends AbstractGame { protected var maxLevel:int; protected var level:int; protected var helpScreen:HelpScreen; protected var showTimeArray:Array; protected var score:int; protected var promo:Boolean; protected var rowArray:Array; protected var consLosses:int; protected var columnArray:Array; protected var maxConsLosses:int; protected var endScreen:EndScreen; protected var levelIndex:int; protected var tilePoints:int; protected var maxMarkedTiles:int; protected var markedTiles:int; protected var surveyURL:String; protected var playScreen:PlayScreen; protected var numTrials:int; protected var trialsLeft:int; protected var gameHeight:int; protected var perfectPoints:int; protected var activeMarkedTiles:int; protected var board:Board; protected var startScreen:StartScreen; protected var tileHistoryArray:Array; protected var gameWidth:int; protected var markedTileArray:Array; protected static const END_LEVEL_WAIT:Number = 0.5; protected static const SHOW_MARK_WAIT:Number = 0.5; protected static const INDENT_Y:int = 15; public function MemoryMatrixGame(_arg1:DisplayObjectContainer):void{ super(_arg1); } override public function destroy():void{ super.destroy(); disableInput(); TweenMax.killAll(); helpScreen.resetAnimation(); Display.removeIfChildren(parentDisObjCon, startScreen, helpScreen, playScreen, endScreen); parentDisObjCon = null; soundEffects = null; startScreen = null; helpScreen = null; playScreen = null; endScreen = null; } protected function showMarkedTiles(_arg1:Function):void{ board.showMarkedTiles(true, _arg1); sounds.playCardFlipSound(); } protected function endGame():void{ TweenMax.killAll(); parentDisObjCon.removeChild(playScreen); endScreen.setScoreText(score); if (maxMarkedTiles == 1){ endScreen.setLevelText((maxMarkedTiles + " tile")); } else { endScreen.setLevelText((maxMarkedTiles + " tiles")); }; reportData({score:score, session_level:maxLevel, threshold:getThreshold(tileHistoryArray)}); parentDisObjCon.addChild(endScreen); } protected function delayedWinLevel():void{ TweenMax.delayedCall(END_LEVEL_WAIT, winLevel); } protected function winLevel():void{ var _local1:int = (Math.pow(2, levelIndex) * perfectPoints); levelIndex = Math.min((levelIndex + 1), (columnArray.length - 1)); maxLevel = Math.min((maxLevel + 1), columnArray.length); score = (score + _local1); playScreen.setScoreText(score); trialsLeft--; consLosses = 0; if (trialsLeft == 0){ board.endFlip(markedTileArray[levelIndex], _local1, endGame); } else { board.flip(markedTileArray[levelIndex], _local1, nextTrial); }; sounds.playBoardFlipSound(); } protected function enableInput():void{ if (board){ board.mouseChildren = true; }; } protected function continueClick(_arg1:MouseEvent):void{ sounds.stopAll(); reportQuit(); } override protected function initGame():void{ gameWidth = 640; gameHeight = 480; startScreen = new StartScreen(helpClick, startClick); helpScreen = new HelpScreen(startClick); playScreen = new PlayScreen(); endScreen = new EndScreen(continueClick, surveyClick); soundEffects = new MemoryMatrixSoundEffects(); columnArray = [3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]; rowArray = [3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]; markedTileArray = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 25, 27, 28]; showTimeArray = [1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5]; tilePoints = 10; perfectPoints = 5; maxConsLosses = 0; } protected function setupTiles():void{ var _local1:int = columnArray[levelIndex]; var _local2:int = rowArray[levelIndex]; markedTiles = markedTileArray[levelIndex]; tileHistoryArray.push(markedTiles); maxMarkedTiles = Math.max(markedTiles, maxMarkedTiles); activeMarkedTiles = 0; board = new Board(_local1, _local2, markedTiles, tileClickListener); board.x = (gameWidth / 2); board.y = ((gameHeight / 2) + INDENT_Y); disableInput(); } protected function hideMarkedTiles(_arg1:Function):void{ board.showMarkedTiles(false, _arg1); sounds.playCardFlipSound(); } protected function delayedLoseLevel():void{ TweenMax.delayedCall(END_LEVEL_WAIT, loseLevel); } protected function delayedShowMarkedTiles():void{ TweenMax.delayedCall(SHOW_MARK_WAIT, showMarkedTiles, [delayedHideMarkedTiles]); } override public function help():void{ super.help(); sounds.stopAll(); TweenMax.killAll(); Display.removeIfChildren(parentDisObjCon, startScreen, helpScreen, playScreen, endScreen); parentDisObjCon.addChild(helpScreen); helpScreen.startAnimation(); } override protected function setDefaultSettings():void{ promo = false; level = 1; numTrials = 15; surveyURL = null; } protected function helpClick(_arg1:MouseEvent):void{ help(); } protected function disableInput():void{ if (board){ board.mouseChildren = false; }; } protected function playGame():void{ reportPlay(); initPlay(); parentDisObjCon.addChild(playScreen); nextTrial(); } protected function promoClick(_arg1:MouseEvent):void{ sounds.stopAll(); reportPromo(); } protected function surveyClick(_arg1:Event=null):void{ if (surveyURL != null){ navigateToURL(new URLRequest(surveyURL)); }; } protected function tileClickListener(_arg1:MouseEvent):void{ var _local2:Tile = Tile(_arg1.target); if (_local2.active){ _local2.shake(); sounds.playShakeSound(); } else { if (_local2.marked){ activeMarkedTiles++; score = (score + tilePoints); playScreen.setScoreText(score); if (activeMarkedTiles == markedTiles){ disableInput(); _local2.activate(true, board.rotation, delayedWinLevel); sounds.playWinSound(); } else { _local2.activate(true, board.rotation); }; sounds.playCardFlipSound(); } else { disableInput(); _local2.crossOut(); sounds.playIncorrectSound(); board.showInactiveMarkedTiles(true, delayedLoseLevel); }; }; } protected function startClick(_arg1:MouseEvent):void{ playGame(); } override public function addSettings(_arg1:Object):void{ if (_arg1 == null){ trace("MemoryMatrixGame, null settingsHash passed, defaults used"); } else { if (_arg1.promo == undefined){ trace(("MemoryMatrixGame, no promo passed, default used: " + promo)); } else { promo = (_arg1.promo == true.toString()); }; if (_arg1.level == undefined){ trace(("MemoryMatrixGame, no level passed, default used: " + level)); } else { level = int(_arg1.level); }; if (_arg1.num_trials == undefined){ trace(("MemoryMatrixGame, no num_trials passed, default used: " + numTrials)); } else { numTrials = int(_arg1.num_trials); }; if ((((_arg1.survey_url == undefined)) || ((_arg1.survey_url == "")))){ trace(("MemoryMatrixGame, no survey_url passed, default used: " + surveyURL)); } else { surveyURL = String(_arg1.survey_url); }; }; } override public function start():void{ initPlay(); parentDisObjCon.addChild(startScreen); } protected function loseLevel():void{ consLosses++; if (consLosses > maxConsLosses){ levelIndex = Math.max((levelIndex - 1), 0); consLosses = 0; }; playScreen.setScoreText(score); trialsLeft--; if (trialsLeft == 0){ board.endFlip(markedTileArray[levelIndex], 0, endGame); } else { board.flip(markedTileArray[levelIndex], 0, nextTrial); }; sounds.playBoardFlipSound(); } protected function delayedHideMarkedTiles():void{ TweenMax.delayedCall(showTimeArray[levelIndex], hideMarkedTiles, [enableInput]); } protected function nextTrial():void{ Display.removeIfChild(playScreen, board); setupTiles(); playScreen.setScoreText(score); playScreen.setTrialText(trialsLeft); playScreen.setLevelText(markedTiles); playScreen.addChild(board); board.appear(delayedShowMarkedTiles); sounds.playBoardFlipSound(); } override protected function initPlay():void{ Display.removeIfChildren(parentDisObjCon, startScreen, helpScreen, playScreen, endScreen); helpScreen.resetAnimation(); sounds.stopAll(); TweenMax.killAll(); if (promo){ startScreen = new PromoStartScreen(helpClick, startClick); endScreen = new PromoEndScreen(continueClick, promoClick, surveyClick); }; endScreen.showSurveyButton(!((surveyURL == null))); maxLevel = level; levelIndex = (level - 1); trialsLeft = numTrials; consLosses = 0; score = 0; maxMarkedTiles = markedTileArray[levelIndex]; tileHistoryArray = new Array(); } protected function get sounds():MemoryMatrixSoundEffects{ return (MemoryMatrixSoundEffects(soundEffects)); } public static function main(_arg1:DisplayObjectContainer):void{ var _local2:ManagedGame = new MemoryMatrixGame(_arg1); } protected static function getThreshold(_arg1:Array):Number{ if (_arg1.length < 2){ return (0); }; if (_arg1.length == 2){ return (_arg1[1]); }; var _local2:int = _arg1[1]; var _local3:int = _arg1[0]; var _local4:int = _local2; var _local5:int = _local2; var _local6:int = (_local2 - _local3); var _local7:int; var _local8:int; var _local9:Number = 0; var _local10:int; var _local11 = 2; while (_local11 < _arg1.length) { _local3 = _local2; _local2 = int(_arg1[_local11]); _local4 = Math.min(_local4, _local2); _local5 = Math.max(_local5, _local2); _local7 = _local6; _local6 = (_local2 - _local3); if (_local6 != _local7){ if (_local6 < 0){ if ((((_local7 > 0)) || ((_local8 > 0)))){ _local9 = (_local9 + _local3); _local10++; }; _local8 = 0; } else { if (_local6 > 0){ if ((((_local7 < 0)) || ((_local8 < 0)))){ _local9 = (_local9 + _local3); _local10++; }; _local8 = 0; } else { if (_local8 == 0){ _local8 = _local7; }; }; }; }; _local11++; }; if ((((_local2 == _local4)) || ((_local2 == _local5)))){ _local9 = (_local9 + _local2); _local10++; }; _local9 = (_local9 / _local10); return (_local9); } } }//package com.lumoslabs.games.memoryMatrix
Section 28
//MemoryMatrixSoundEffects (com.lumoslabs.games.memoryMatrix.MemoryMatrixSoundEffects) package com.lumoslabs.games.memoryMatrix { import flash.media.*; import com.lumoslabs.framework.*; public class MemoryMatrixSoundEffects extends AbstractSoundEffects { protected const shakeSound:Sound; protected const incorrectSound:Sound; protected const winSound:Sound; protected const cardFlipSound:Sound; protected const boardFlipSound:Sound; public function MemoryMatrixSoundEffects(){ cardFlipSound = new Paper11(); boardFlipSound = new Paper15(); incorrectSound = new Boing(); winSound = new Bell(); shakeSound = new Splat(); super(); addSound(cardFlipSound, 0.3); addSound(boardFlipSound, 0.3); addSound(incorrectSound, 0.3); addSound(winSound, 0.3); addSound(shakeSound, 0.3); } public function playIncorrectSound():void{ playSound(incorrectSound); } public function playWinSound():void{ playSound(winSound); } public function playBoardFlipSound():void{ playSound(boardFlipSound); } public function playShakeSound():void{ playSound(shakeSound); } public function playCardFlipSound():void{ playSound(cardFlipSound); } } }//package com.lumoslabs.games.memoryMatrix
Section 29
//Tile (com.lumoslabs.games.memoryMatrix.Tile) package com.lumoslabs.games.memoryMatrix { import com.greensock.*; import flash.display.*; import fl.motion.easing.*; public class Tile extends Sprite { protected const ACTIVATE_TWEEN_TIME:Number = 0.2; protected const SHAKE_TWEEN_TIME:Number = 0.4; public var cross:Sprite; protected var tileMarked:Boolean; protected var tileActive:Boolean; protected var scaleYOrigin:Number; protected var scaleXOrigin:Number; public var activeTile:Sprite; protected var onCompleteParamArray:Array; protected var onComplete:Function; public var inactiveTile:Sprite; public static const WIDTH:Number = 50; public static const HEIGHT:Number = 50; public function Tile(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:Boolean):void{ this.tileMarked = _arg5; visible = false; buttonMode = true; mouseChildren = false; x = getCoord(_arg1, _arg3, WIDTH); y = getCoord(_arg2, _arg4, HEIGHT); tileActive = false; activeTile.visible = false; inactiveTile.visible = true; cross.visible = false; } public function activate(_arg1:Boolean, _arg2:Number, _arg3:Function=null, _arg4:Array=null):void{ disableMouse(); this.tileActive = _arg1; this.onComplete = _arg3; this.onCompleteParamArray = _arg4; if ((_arg2 % 180) == 0){ TweenMax.to(this, (ACTIVATE_TWEEN_TIME / 2), {scaleX:0.1, ease:Linear.easeNone, onComplete:activateFinish, onCompleteParams:[_arg2]}); } else { TweenMax.to(this, (ACTIVATE_TWEEN_TIME / 2), {scaleY:0.1, ease:Linear.easeNone, onComplete:activateFinish, onCompleteParams:[_arg2]}); }; } protected function disappear(_arg1:Function, _arg2:Array):void{ disableMouse(); this.onComplete = _arg1; this.onCompleteParamArray = _arg2; scaleXOrigin = scaleX; TweenMax.to(this, (ACTIVATE_TWEEN_TIME / 2), {scaleX:(0.1 * scaleX), ease:Linear.easeNone, onComplete:disappearCompleteFun}); } public function get active():Boolean{ return (tileActive); } protected function completeFun():void{ enableMouse(); if (onComplete != null){ onComplete.apply(null, onCompleteParamArray); }; } protected function disappearCompleteFun():void{ visible = false; scaleX = scaleXOrigin; if (onComplete != null){ onComplete.apply(null, onCompleteParamArray); }; } protected function shakeFinish():void{ TweenMax.to(this, (SHAKE_TWEEN_TIME / 2), {scaleX:1, scaleY:1, ease:Quartic.easeIn, onComplete:enableMouse}); } protected function appear(_arg1:Function, _arg2:Array):void{ disableMouse(); this.onComplete = _arg1; this.onCompleteParamArray = _arg2; scaleXOrigin = scaleX; scaleX = (scaleX * 0.1); visible = true; TweenMax.to(this, (ACTIVATE_TWEEN_TIME / 2), {scaleX:scaleXOrigin, ease:Linear.easeNone, onComplete:completeFun}); } protected function disableMouse():void{ mouseEnabled = false; } public function shake():void{ disableMouse(); TweenMax.to(this, (SHAKE_TWEEN_TIME / 2), {scaleX:0.9, scaleY:0.9, ease:Quartic.easeOut, onComplete:shakeFinish}); } protected function enableMouse():void{ mouseEnabled = true; } protected function activateFinish(_arg1:Number):void{ activeTile.visible = tileActive; inactiveTile.visible = !(tileActive); if ((_arg1 % 180) == 0){ TweenMax.to(this, (ACTIVATE_TWEEN_TIME / 2), {scaleX:1, ease:Linear.easeNone, onComplete:completeFun}); } else { TweenMax.to(this, (ACTIVATE_TWEEN_TIME / 2), {scaleY:1, ease:Linear.easeNone, onComplete:completeFun}); }; } public function get marked():Boolean{ return (tileMarked); } public function crossOut():void{ disableMouse(); cross.visible = true; } public function show(_arg1:Boolean, _arg2:Function=null, _arg3:Array=null):void{ if (_arg1){ appear(_arg2, _arg3); } else { disappear(_arg2, _arg3); }; } protected function getCoord(_arg1:int, _arg2:int, _arg3:Number):Number{ return (((_arg1 + ((1 - _arg2) / 2)) * _arg3)); } } }//package com.lumoslabs.games.memoryMatrix
Section 30
//Display (com.lumoslabs.util.Display) package com.lumoslabs.util { import flash.display.*; import flash.geom.*; public class Display { public static const VIOLET:Number = 15631086; public static const WHITE:Number = 0xFFFFFF; public static const BROWN:Number = 0x964B00; public static const ORANGE:Number = 0xFF7F00; public static const PURPLE:Number = 0x800080; public static const BLUE:Number = 0xFF; public static const GREY:Number = 0x808080; public static const GREEN:Number = 0xFF00; public static const BLACK:Number = 0; public static const YELLOW:Number = 0xFFFF00; public static const RED:Number = 0xFF0000; public static function remove(_arg1:DisplayObject):void{ if (((!((_arg1 == null))) && (!((_arg1.parent == null))))){ _arg1.parent.removeChild(_arg1); }; } public static function alignBottomToY(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):void{ var _local4:Point = new Point(0, _arg3); alignBoundsTo(_arg1, _arg2, _local4, false, true, 0, 1); } public static function alignTop(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point(0, _local3.y); alignBoundsTo(_arg1, _arg2, _local4, false, true, 0, 0); } public static function alignTopToY(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):void{ var _local4:Point = new Point(0, _arg3); alignBoundsTo(_arg1, _arg2, _local4, false, true, 0, 0); } public static function alignRight(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point(_local3.right, 0); alignBoundsTo(_arg1, _arg2, _local4, true, false, 1); } public static function removeAllChildren(_arg1:DisplayObjectContainer):void{ if (_arg1 != null){ while (_arg1.numChildren > 0) { _arg1.removeChildAt(0); }; }; } public static function alignBottom(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point(0, _local3.bottom); alignBoundsTo(_arg1, _arg2, _local4, false, true, 0, 1); } public static function centerX(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point((_local3.x + (0.5 * _local3.width)), 0); alignBoundsTo(_arg1, _arg2, _local4, true, false); } public static function stopAllClips(_arg1:DisplayObjectContainer):void{ var _local3:DisplayObjectContainer; var _local4:MovieClip; var _local5:DisplayObjectContainer; var _local6:int; var _local2:Array = [_arg1]; while (_local2.length > 0) { _local3 = _local2.shift(); _local4 = (_local3 as MovieClip); if (_local4 != null){ _local4.stop(); }; _local6 = 0; while (_local6 < _local3.numChildren) { _local5 = (_local3.getChildAt(_local6) as DisplayObjectContainer); if (_local5 != null){ _local2.push(_local5); }; _local6++; }; }; } public static function alignRightToX(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):void{ var _local4:Point = new Point(_arg3, 0); alignBoundsTo(_arg1, _arg2, _local4, true, false, 1); } public static function centerToX(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):void{ var _local4:Point = new Point(_arg3, 0); alignBoundsTo(_arg1, _arg2, _local4, true, false); } public static function centerToY(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):void{ var _local4:Point = new Point(0, _arg3); alignBoundsTo(_arg1, _arg2, _local4, false, true); } public static function centerY(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point(0, (_local3.y + (0.5 * _local3.height))); alignBoundsTo(_arg1, _arg2, _local4, false, true); } public static function alignLeft(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point(_local3.x, 0); alignBoundsTo(_arg1, _arg2, _local4, true, false, 0); } public static function moveToY(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0, _arg4:Number=0):void{ var _local5:Point = new Point(0, _arg3); var _local6:Point = new Point(0, _arg4); moveTo(_arg1, _arg2, _local5, _local6, false, true); } protected static function getBoundsExclude(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObject):Rectangle{ var _local5:DisplayObjectContainer; var _local6:int; var _local7:Rectangle; var _local4:DisplayObjectContainer = (_arg1 as DisplayObjectContainer); if (((_local4) && (_local4.contains(_arg3)))){ _local5 = _arg3.parent; _local6 = _local5.getChildIndex(_arg3); _local5.removeChild(_arg3); _local7 = _arg1.getBounds(_arg2); _local5.addChildAt(_arg3, _local6); return (_local7); }; return (_arg1.getBounds(_arg2)); } public static function centerTo(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Point=null):void{ alignBoundsTo(_arg1, _arg2, _arg3); } public static function moveTo(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Point=null, _arg4:Point=null, _arg5:Boolean=true, _arg6:Boolean=true):void{ if (_arg3 == null){ _arg3 = new Point(); }; if (_arg4 == null){ _arg4 = new Point(); }; var _local7:Point = new Point(); _local7 = _arg1.localToGlobal(_local7); _arg3 = _arg1.localToGlobal(_arg3); _arg4 = _arg2.localToGlobal(_arg4); if (_arg1.parent){ _local7 = _arg1.parent.globalToLocal(_local7); _arg3 = _arg1.parent.globalToLocal(_arg3); _arg4 = _arg1.parent.globalToLocal(_arg4); }; if (_arg5){ _arg1.x = (_arg4.x + (_local7.x - _arg3.x)); }; if (_arg6){ _arg1.y = (_arg4.y + (_local7.y - _arg3.y)); }; } public static function replace(_arg1:DisplayObject, _arg2:DisplayObject):void{ if (_arg1.parent != null){ if (_arg1 != _arg2){ _arg2.x = _arg1.x; _arg2.y = _arg1.y; _arg2.rotation = _arg1.rotation; _arg1.parent.addChild(_arg2); _arg1.parent.swapChildren(_arg1, _arg2); _arg1.parent.removeChild(_arg1); } else { trace("Display, replace, argument DisplayObjects are equal"); }; } else { trace("Display, replace, first argument DisplayObject has no parent"); }; } public static function alignBoundsTo(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Point=null, _arg4:Boolean=true, _arg5:Boolean=true, _arg6:Number=0.5, _arg7:Number=0.5):void{ var _local9:Rectangle; var _local10:Point; var _local11:Point; if (_arg3 == null){ _arg3 = new Point(); }; var _local8:Point = new Point(); _local8 = _arg1.localToGlobal(_local8); _arg3 = _arg2.localToGlobal(_arg3); if (_arg1.parent){ _local8 = _arg1.parent.globalToLocal(_local8); _arg3 = _arg1.parent.globalToLocal(_arg3); _local9 = getBoundsExclude(_arg1, _arg1.parent, _arg2); _local10 = _local9.topLeft; _local11 = _local9.bottomRight; } else { _local9 = getBoundsExclude(_arg1, _arg1, _arg2); _local10 = _arg1.localToGlobal(_local9.topLeft); _local11 = _arg1.localToGlobal(_local9.bottomRight); }; if (_arg4){ _arg6 = ((_arg6 < 0)) ? 0 : ((_arg6 > 1)) ? 1 : _arg6; _arg1.x = ((_arg3.x + (_local8.x - _local10.x)) - (_arg6 * (_local11.x - _local10.x))); }; if (_arg5){ _arg7 = ((_arg7 < 0)) ? 0 : ((_arg7 > 1)) ? 1 : _arg7; _arg1.y = ((_arg3.y + (_local8.y - _local10.y)) - (_arg7 * (_local11.y - _local10.y))); }; } public static function moveToX(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0, _arg4:Number=0):void{ var _local5:Point = new Point(_arg3, 0); var _local6:Point = new Point(_arg4, 0); moveTo(_arg1, _arg2, _local5, _local6, true, false); } public static function localToLocal(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Point=null):Point{ if (_arg3 == null){ _arg3 = new Point(); }; _arg3 = _arg1.localToGlobal(_arg3); _arg3 = _arg2.globalToLocal(_arg3); return (_arg3); } public static function center(_arg1:DisplayObject, _arg2:DisplayObject):void{ var _local3:Rectangle = getBoundsExclude(_arg2, _arg2, _arg1); var _local4:Point = new Point((_local3.x + (0.5 * _local3.width)), (_local3.y + (0.5 * _local3.height))); alignBoundsTo(_arg1, _arg2, _local4); } public static function removeIfChild(_arg1:DisplayObjectContainer, _arg2:DisplayObject):void{ if (((((!((_arg1 == null))) && (!((_arg2 == null))))) && ((_arg2.parent == _arg1)))){ _arg1.removeChild(_arg2); }; } public static function removeIfChildren(_arg1:DisplayObjectContainer, ... _args):void{ var _local3:DisplayObject; if (_arg1 != null){ for each (_local3 in _args) { if (((!((_local3 == null))) && ((_local3.parent == _arg1)))){ _arg1.removeChild(_local3); }; }; }; } public static function removeEnumerable(_arg1:Object):void{ var _local2:DisplayObject; for each (_local2 in _arg1) { remove(_local2); }; } public static function alignLeftToX(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):void{ var _local4:Point = new Point(_arg3, 0); alignBoundsTo(_arg1, _arg2, _local4, true, false, 0); } public static function bringToFront(_arg1:DisplayObject):void{ if (_arg1.parent != null){ _arg1.parent.addChild(_arg1); }; } public static function removeAll(... _args):void{ var _local2:DisplayObject; for each (_local2 in _args) { remove(_local2); }; } } }//package com.lumoslabs.util
Section 31
//Random (com.lumoslabs.util.Random) package com.lumoslabs.util { public class Random { private static var equals:Function; private static var anElement; public static function array(_arg1:Array, _arg2:int=-1):Array{ var _local3:Array = _arg1.slice(); shuffle(_local3); if (_arg2 >= 0){ _local3.splice(_arg2); }; return (_local3); } public static function popOtherElementFun(_arg1:Array, _arg2:Array, _arg3:Function){ var _local4:int; equals = _arg3; var _local5:Array = _arg1.slice(); do { _local4 = Math.floor((Math.random() * _local5.length)); anElement = _local5.splice(_local4, 1)[0]; } while (_arg2.some(equalsAnElement)); if (anElement == undefined){ return (undefined); }; return (_arg1.splice(_local4, 1)[0]); } public static function shuffle(_arg1:Array):void{ var _local3:uint; var _local4:*; var _local2:uint = _arg1.length; while (_local2 > 1) { _local3 = Math.floor((_local2 * Math.random())); _local2--; _local4 = _arg1[_local2]; _arg1[_local2] = _arg1[_local3]; _arg1[_local3] = _local4; }; } public static function otherIntBetween(_arg1:int, _arg2:int, _arg3:Array){ equals = simpleEquals; var _local4:Array = new Array(); var _local5:int = ((_arg2 - _arg1) + 1); for each (anElement in _arg3) { if ((((((((anElement is int)) && ((_arg1 <= anElement)))) && ((anElement <= _arg2)))) && (!(_local4.some(equalsAnElement))))){ _local4.push(anElement); }; }; if (_local4.length < _local5){ do { anElement = Math.floor((_arg1 + (((_arg2 - _arg1) + 1) * Math.random()))); } while (_local4.some(equalsAnElement)); return (anElement); //unresolved jump }; return (undefined); } public static function bool():Boolean{ return ((Math.random() < 0.5)); } public static function indexLessThan(_arg1:uint):int{ return (Math.floor((Math.random() * _arg1))); } public static function letter(_arg1:Boolean=true):String{ var _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; return (_local2.charAt((Math.random() * _local2.length))); } private static function equalsAnElement(_arg1, _arg2:int, _arg3:Array):Boolean{ return (equals(anElement, _arg1)); } public static function pop(_arg1:Array){ return (_arg1.splice(Math.floor((Math.random() * _arg1.length)), 1)[0]); } public static function index(_arg1:Array):int{ return (Math.floor((Math.random() * _arg1.length))); } public static function otherElementFun(_arg1:Array, _arg2:Array, _arg3:Function){ equals = _arg3; var _local4:Array = _arg1.slice(); do { anElement = _local4.splice(Math.floor((Math.random() * _local4.length)), 1)[0]; } while (_arg2.some(equalsAnElement)); return (anElement); } private static function simpleEquals(_arg1, _arg2):Boolean{ return ((_arg1 == _arg2)); } public static function intBetween(_arg1:int, _arg2:int):int{ return (Math.floor((_arg1 + (((_arg2 - _arg1) + 1) * Math.random())))); } public static function push(_arg1:Array, ... _args):uint{ var _local3:*; for each (_local3 in _args) { _arg1.splice(Math.floor((Math.random() * _arg1.length)), 0, _local3); }; return (_arg1.length); } public static function otherElement(_arg1:Array, _arg2:Array){ var _local4:int; var _local3:Array = _arg1.slice(); for each (anElement in _arg2) { _local4 = _local3.indexOf(anElement); while (_local4 >= 0) { _local3.splice(_local4, 1); _local4 = _local3.indexOf(anElement); }; }; return (_local3[Math.floor((Math.random() * _local3.length))]); } public static function element(_arg1:Array){ return (_arg1[Math.floor((Math.random() * _arg1.length))]); } public static function popOtherElement(_arg1:Array, _arg2:Array){ popOtherElementFun(_arg1, _arg2, simpleEquals); } public static function numberBetween(_arg1:Number, _arg2:Number):Number{ return ((_arg1 + ((_arg2 - _arg1) * Math.random()))); } } }//package com.lumoslabs.util
Section 32
//Linear (fl.motion.easing.Linear) package fl.motion.easing { public class Linear { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package fl.motion.easing
Section 33
//Quartic (fl.motion.easing.Quartic) package fl.motion.easing { public class Quartic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):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)); } } }//package fl.motion.easing
Section 34
//MainTimeline (memory_matrix_game_fla.MainTimeline) package memory_matrix_game_fla { import flash.display.*; import com.lumoslabs.games.memoryMatrix.*; public dynamic class MainTimeline extends MovieClip { public function MainTimeline(){ addFrameScript(0, frame1); } function frame1(){ MemoryMatrixGame.main(this); } } }//package memory_matrix_game_fla
Section 35
//ActiveTile (ActiveTile) package { import flash.display.*; public dynamic class ActiveTile extends Sprite { } }//package
Section 36
//Bell (Bell) package { import flash.media.*; public dynamic class Bell extends Sound { } }//package
Section 37
//BoardCenter (BoardCenter) package { import flash.display.*; public dynamic class BoardCenter extends Sprite { } }//package
Section 38
//BoardCorner (BoardCorner) package { import flash.display.*; public dynamic class BoardCorner extends Sprite { } }//package
Section 39
//BoardLeftSide (BoardLeftSide) package { import flash.display.*; public dynamic class BoardLeftSide extends Sprite { } }//package
Section 40
//BoardTopSide (BoardTopSide) package { import flash.display.*; public dynamic class BoardTopSide extends Sprite { } }//package
Section 41
//Boing (Boing) package { import flash.media.*; public dynamic class Boing extends Sound { } }//package
Section 42
//continue_btn (continue_btn) package { import flash.display.*; public dynamic class continue_btn extends SimpleButton { } }//package
Section 43
//done_btn (done_btn) package { import flash.display.*; public dynamic class done_btn extends SimpleButton { } }//package
Section 44
//EndGameBox (EndGameBox) package { import flash.display.*; import flash.text.*; public dynamic class EndGameBox extends Sprite { public var nextField:TextField; } }//package
Section 45
//EndTrialBox (EndTrialBox) package { import flash.display.*; import flash.text.*; public dynamic class EndTrialBox extends Sprite { public var tilesField:TextField; public var nextField:TextField; } }//package
Section 46
//howto_btn (howto_btn) package { import flash.display.*; public dynamic class howto_btn extends SimpleButton { } }//package
Section 47
//InactiveTile (InactiveTile) package { import flash.display.*; public dynamic class InactiveTile extends Sprite { } }//package
Section 48
//Paper11 (Paper11) package { import flash.media.*; public dynamic class Paper11 extends Sound { } }//package
Section 49
//Paper15 (Paper15) package { import flash.media.*; public dynamic class Paper15 extends Sound { } }//package
Section 50
//PerfectEndGameBox (PerfectEndGameBox) package { import flash.display.*; import flash.text.*; public dynamic class PerfectEndGameBox extends Sprite { public var nextField:TextField; public var bonusField:TextField; public var perfectField:TextField; } }//package
Section 51
//PerfectEndTrialBox (PerfectEndTrialBox) package { import flash.display.*; import flash.text.*; public dynamic class PerfectEndTrialBox extends Sprite { public var tilesField:TextField; public var nextField:TextField; public var bonusField:TextField; public var perfectField:TextField; } }//package
Section 52
//PromoButton (PromoButton) package { import flash.display.*; public dynamic class PromoButton extends SimpleButton { } }//package
Section 53
//redX (redX) package { import flash.display.*; public dynamic class redX extends MovieClip { } }//package
Section 54
//score_mc (score_mc) package { import flash.display.*; import flash.text.*; public dynamic class score_mc extends MovieClip { public var myScore:TextField; } }//package
Section 55
//Splat (Splat) package { import flash.media.*; public dynamic class Splat extends Sound { } }//package
Section 56
//start_btn (start_btn) package { import flash.display.*; public dynamic class start_btn extends SimpleButton { } }//package
Section 57
//timer_mc (timer_mc) package { import flash.display.*; import flash.text.*; public dynamic class timer_mc extends MovieClip { public var myTime:TextField; } }//package

Library Items

Symbol 1 Sound {Splat}
Symbol 2 Sound {Paper15}
Symbol 3 Sound {Paper11}
Symbol 4 Sound {Boing}
Symbol 5 Sound {Bell}
Symbol 6 GraphicUsed by:121
Symbol 7 FontUsed by:8 10 13 16 19 24 27 30 33 36 39 42 45 48 51 54 57 61 64 67 70 73 77 80 83 86 90 93 96 99 102 105 108 111 114 117
Symbol 8 TextUses:7Used by:10
Symbol 9 TextUsed by:10
Symbol 10 MovieClipUses:7 8 9Used by:23
Symbol 11 FontUsed by:12
Symbol 12 TextUses:11Used by:23
Symbol 13 TextUses:7Used by:15
Symbol 14 TextUsed by:15
Symbol 15 MovieClipUses:13 14Used by:23
Symbol 16 TextUses:7Used by:18
Symbol 17 TextUsed by:18
Symbol 18 MovieClipUses:16 17Used by:23
Symbol 19 TextUses:7Used by:21
Symbol 20 TextUsed by:21
Symbol 21 MovieClipUses:19 20Used by:23
Symbol 22 GraphicUsed by:23
Symbol 23 MovieClipUses:10 12 15 18 21 22Used by:121
Symbol 24 TextUses:7Used by:26
Symbol 25 TextUsed by:26
Symbol 26 MovieClipUses:24 25Used by:121
Symbol 27 TextUses:7Used by:29
Symbol 28 TextUsed by:29
Symbol 29 MovieClipUses:27 28Used by:121
Symbol 30 TextUses:7Used by:32
Symbol 31 TextUsed by:32
Symbol 32 MovieClipUses:30 31Used by:121
Symbol 33 TextUses:7Used by:35
Symbol 34 TextUsed by:35
Symbol 35 MovieClipUses:33 34Used by:121
Symbol 36 TextUses:7Used by:38
Symbol 37 TextUsed by:38
Symbol 38 MovieClipUses:36 37Used by:121
Symbol 39 TextUses:7Used by:41
Symbol 40 TextUsed by:41
Symbol 41 MovieClipUses:39 40Used by:121
Symbol 42 TextUses:7Used by:44
Symbol 43 TextUsed by:44
Symbol 44 MovieClipUses:42 43Used by:121
Symbol 45 TextUses:7Used by:47
Symbol 46 TextUsed by:47
Symbol 47 MovieClipUses:45 46Used by:121
Symbol 48 TextUses:7Used by:50
Symbol 49 TextUsed by:50
Symbol 50 MovieClipUses:48 49Used by:121
Symbol 51 TextUses:7Used by:53
Symbol 52 TextUsed by:53
Symbol 53 MovieClipUses:51 52Used by:121
Symbol 54 TextUses:7Used by:56
Symbol 55 TextUsed by:56
Symbol 56 MovieClipUses:54 55Used by:121
Symbol 57 TextUses:7Used by:59
Symbol 58 TextUsed by:59
Symbol 59 MovieClipUses:57 58Used by:121
Symbol 60 GraphicUsed by:76
Symbol 61 TextUses:7Used by:63
Symbol 62 TextUsed by:63
Symbol 63 MovieClipUses:61 62Used by:76
Symbol 64 TextUses:7Used by:66
Symbol 65 TextUsed by:66
Symbol 66 MovieClipUses:64 65Used by:76
Symbol 67 TextUses:7Used by:69
Symbol 68 TextUsed by:69
Symbol 69 MovieClipUses:67 68Used by:76
Symbol 70 TextUses:7Used by:72
Symbol 71 TextUsed by:72
Symbol 72 MovieClipUses:70 71Used by:76
Symbol 73 TextUses:7Used by:75
Symbol 74 TextUsed by:75
Symbol 75 MovieClipUses:73 74Used by:76
Symbol 76 MovieClipUses:60 63 66 69 72 75Used by:121
Symbol 77 TextUses:7Used by:79
Symbol 78 TextUsed by:79
Symbol 79 MovieClipUses:77 78Used by:121
Symbol 80 TextUses:7Used by:82
Symbol 81 TextUsed by:82
Symbol 82 MovieClipUses:80 81Used by:121
Symbol 83 TextUses:7Used by:85
Symbol 84 TextUsed by:85
Symbol 85 MovieClipUses:83 84Used by:121
Symbol 86 TextUses:7Used by:88
Symbol 87 TextUsed by:88
Symbol 88 MovieClipUses:86 87Used by:121
Symbol 89 GraphicUsed by:121
Symbol 90 TextUses:7Used by:92
Symbol 91 TextUsed by:92
Symbol 92 MovieClipUses:90 91Used by:121
Symbol 93 TextUses:7Used by:95
Symbol 94 TextUsed by:95
Symbol 95 MovieClipUses:93 94Used by:121
Symbol 96 TextUses:7Used by:98
Symbol 97 TextUsed by:98
Symbol 98 MovieClipUses:96 97Used by:121
Symbol 99 TextUses:7Used by:101
Symbol 100 TextUsed by:101
Symbol 101 MovieClipUses:99 100Used by:121
Symbol 102 TextUses:7Used by:104
Symbol 103 TextUsed by:104
Symbol 104 MovieClipUses:102 103Used by:120
Symbol 105 TextUses:7Used by:107
Symbol 106 TextUsed by:107
Symbol 107 MovieClipUses:105 106Used by:120
Symbol 108 TextUses:7Used by:110
Symbol 109 TextUsed by:110
Symbol 110 MovieClipUses:108 109Used by:120
Symbol 111 TextUses:7Used by:113
Symbol 112 TextUsed by:113
Symbol 113 MovieClipUses:111 112Used by:120
Symbol 114 TextUses:7Used by:116
Symbol 115 TextUsed by:116
Symbol 116 MovieClipUses:114 115Used by:120
Symbol 117 TextUses:7Used by:119
Symbol 118 TextUsed by:119
Symbol 119 MovieClipUses:117 118Used by:120
Symbol 120 MovieClipUses:104 107 110 113 116 119Used by:121
Symbol 121 MovieClipUses:6 23 26 29 32 35 38 41 44 47 50 53 56 59 76 79 82 85 88 89 92 95 98 101 120Used by:157 165 221 234
Symbol 122 GraphicUsed by:129
Symbol 123 FontUsed by:124 131 168 183 202 203 210 211 213 223 228 229 237 244 251 253 255 268 275 277 278
Symbol 124 TextUses:123Used by:129
Symbol 125 GraphicUsed by:129
Symbol 126 GraphicUsed by:129
Symbol 127 GraphicUsed by:129
Symbol 128 GraphicUsed by:129
Symbol 129 Button {start_btn}Uses:122 124 125 126 127 128Used by:157 165 181
Symbol 130 GraphicUsed by:135
Symbol 131 TextUses:123Used by:135
Symbol 132 GraphicUsed by:135
Symbol 133 GraphicUsed by:135
Symbol 134 GraphicUsed by:135
Symbol 135 Button {howto_btn}Uses:130 131 132 133 134Used by:157 165
Symbol 136 GraphicUsed by:137
Symbol 137 MovieClipUses:136Used by:157 165 221 234
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:138Used by:157 221
Symbol 140 FontUsed by:141 144
Symbol 141 TextUses:140Used by:157
Symbol 142 FontUsed by:143 154 155 158 202 203 210 211 214 228 229 268 275 277 278
Symbol 143 TextUses:142Used by:157
Symbol 144 TextUses:140Used by:157
Symbol 145 GraphicUsed by:153
Symbol 146 FontUsed by:147 148 149 150 151 167 200 201 202 203 208 210 211 212 227 228 229 236 243 250 252 254 267 268 269 270 272 274 275 277 278 279
Symbol 147 TextUses:146Used by:153
Symbol 148 TextUses:146Used by:153
Symbol 149 TextUses:146Used by:153
Symbol 150 TextUses:146Used by:153
Symbol 151 TextUses:146Used by:153
Symbol 152 GraphicUsed by:153
Symbol 153 MovieClipUses:145 147 148 149 150 151 152Used by:157
Symbol 154 TextUses:142Used by:157
Symbol 155 TextUses:142Used by:157
Symbol 156 GraphicUsed by:157
Symbol 157 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoStartScreen}Uses:121 129 135 137 139 141 143 144 153 154 155 156
Symbol 158 TextUses:142Used by:165
Symbol 159 GraphicUsed by:160
Symbol 160 MovieClipUses:159Used by:165
Symbol 161 GraphicUsed by:165
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClipUses:162Used by:165 177
Symbol 164 GraphicUsed by:165
Symbol 165 MovieClip {com.lumoslabs.games.memoryMatrix.screens.StartScreen}Uses:121 158 129 135 137 160 161 163 164
Symbol 166 GraphicUsed by:181
Symbol 167 TextUses:146Used by:181
Symbol 168 TextUses:123Used by:181
Symbol 169 GraphicUsed by:180
Symbol 170 GraphicUsed by:171
Symbol 171 MovieClipUses:170Used by:180
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:172Used by:174
Symbol 174 MovieClip {InactiveTile}Uses:173Used by:180 248
Symbol 175 GraphicUsed by:176
Symbol 176 MovieClipUses:175Used by:180
Symbol 177 MovieClip {ActiveTile}Uses:163Used by:180 248
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:178Used by:180
Symbol 180 MovieClipUses:169 171 174 176 177 179Used by:181
Symbol 181 MovieClip {com.lumoslabs.games.memoryMatrix.screens.HelpScreen}Uses:166 167 129 168 180
Symbol 182 GraphicUsed by:187
Symbol 183 TextUses:123Used by:187
Symbol 184 GraphicUsed by:187
Symbol 185 GraphicUsed by:187
Symbol 186 GraphicUsed by:187
Symbol 187 Button {continue_btn}Uses:182 183 184 185 186Used by:221
Symbol 188 GraphicUsed by:195
Symbol 189 FontUsed by:190 202 203 210 211 228 229 268 275 277 278
Symbol 190 TextUses:189Used by:195
Symbol 191 GraphicUsed by:195
Symbol 192 FontUsed by:193
Symbol 193 TextUses:192Used by:195
Symbol 194 GraphicUsed by:195
Symbol 195 Button {PromoButton}Uses:188 190 191 193 194Used by:221
Symbol 196 GraphicUsed by:197
Symbol 197 MovieClipUses:196Used by:221 234
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClipUses:198Used by:221 234
Symbol 200 TextUses:146Used by:221 234
Symbol 201 TextUses:146Used by:221
Symbol 202 EditableTextUses:123 142 146 189 205 209Used by:221
Symbol 203 EditableTextUses:123 142 146 189 205 209Used by:221
Symbol 204 GraphicUsed by:221 234
Symbol 205 FontUsed by:202 203 206 210 211 228 229 268 275 277 278
Symbol 206 TextUses:205Used by:221 234
Symbol 207 GraphicUsed by:221
Symbol 208 TextUses:146Used by:221
Symbol 209 FontUsed by:202 203 210 211 228 229 268 275 277 278
Symbol 210 EditableTextUses:123 142 146 189 205 209Used by:221
Symbol 211 EditableTextUses:123 142 146 189 205 209Used by:221
Symbol 212 TextUses:146Used by:221
Symbol 213 TextUses:123Used by:221
Symbol 214 TextUses:142Used by:221
Symbol 215 GraphicUsed by:216
Symbol 216 MovieClipUses:215Used by:221
Symbol 217 GraphicUsed by:221
Symbol 218 FontUsed by:219
Symbol 219 TextUses:218Used by:221
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen}Uses:121 197 137 199 200 201 202 203 204 206 139 207 208 210 211 212 213 195 187 214 216 217 219 220
Symbol 222 GraphicUsed by:226
Symbol 223 TextUses:123Used by:226
Symbol 224 GraphicUsed by:226
Symbol 225 GraphicUsed by:226
Symbol 226 Button {done_btn}Uses:222 223 224 225Used by:234
Symbol 227 TextUses:146Used by:234
Symbol 228 EditableTextUses:123 142 146 189 205 209Used by:234
Symbol 229 EditableTextUses:123 142 146 189 205 209Used by:234
Symbol 230 GraphicUsed by:233
Symbol 231 FontUsed by:232
Symbol 232 TextUses:231Used by:233
Symbol 233 ButtonUses:230 232Used by:234
Symbol 234 MovieClip {com.lumoslabs.games.memoryMatrix.screens.EndScreen}Uses:121 197 137 199 200 227 228 229 226 233 204 206
Symbol 235 GraphicUsed by:241
Symbol 236 TextUses:146Used by:241
Symbol 237 EditableTextUses:123Used by:241
Symbol 238 GraphicUsed by:241 245 256
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClipUses:239Used by:241 256 271 280
Symbol 241 MovieClip {score_mc}Uses:235 236 237 238 240
Symbol 242 GraphicUsed by:245
Symbol 243 TextUses:146Used by:245
Symbol 244 EditableTextUses:123Used by:245
Symbol 245 MovieClip {timer_mc}Uses:242 243 238 244
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClip {redX}Uses:246Used by:248
Symbol 248 MovieClip {com.lumoslabs.games.memoryMatrix.Tile}Uses:177 174 247
Symbol 249 GraphicUsed by:256
Symbol 250 TextUses:146Used by:256
Symbol 251 EditableTextUses:123Used by:256
Symbol 252 TextUses:146Used by:256
Symbol 253 EditableTextUses:123Used by:256
Symbol 254 TextUses:146Used by:256
Symbol 255 EditableTextUses:123Used by:256
Symbol 256 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PlayScreen}Uses:249 250 251 252 253 238 240 254 255
Symbol 257 GraphicUsed by:258
Symbol 258 MovieClip {BoardTopSide}Uses:257Used by:265
Symbol 259 GraphicUsed by:260
Symbol 260 MovieClip {BoardLeftSide}Uses:259Used by:265
Symbol 261 GraphicUsed by:262
Symbol 262 MovieClip {BoardCorner}Uses:261Used by:265
Symbol 263 GraphicUsed by:264
Symbol 264 MovieClip {BoardCenter}Uses:263Used by:265
Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board}Uses:264 262 260 258
Symbol 266 GraphicUsed by:271 273 276 280
Symbol 267 TextUses:146Used by:271 280
Symbol 268 EditableTextUses:123 142 146 189 205 209Used by:271
Symbol 269 TextUses:146Used by:271
Symbol 270 EditableTextUses:146Used by:271
Symbol 271 MovieClip {PerfectEndGameBox}Uses:266 267 268 269 240 270
Symbol 272 TextUses:146Used by:273
Symbol 273 MovieClip {EndGameBox}Uses:266 272
Symbol 274 TextUses:146Used by:276 280
Symbol 275 EditableTextUses:123 142 146 189 205 209Used by:276
Symbol 276 MovieClip {EndTrialBox}Uses:266 274 275
Symbol 277 EditableTextUses:123 142 146 189 205 209Used by:280
Symbol 278 EditableTextUses:123 142 146 189 205 209Used by:280
Symbol 279 EditableTextUses:146Used by:280
Symbol 280 MovieClip {PerfectEndTrialBox}Uses:266 267 277 274 278 240 279

Instance Names

"startButton"Symbol 157 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoStartScreen} Frame 1Symbol 129 Button {start_btn}
"helpButton"Symbol 157 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoStartScreen} Frame 1Symbol 135 Button {howto_btn}
"startButton"Symbol 165 MovieClip {com.lumoslabs.games.memoryMatrix.screens.StartScreen} Frame 1Symbol 129 Button {start_btn}
"helpButton"Symbol 165 MovieClip {com.lumoslabs.games.memoryMatrix.screens.StartScreen} Frame 1Symbol 135 Button {howto_btn}
"startButton"Symbol 181 MovieClip {com.lumoslabs.games.memoryMatrix.screens.HelpScreen} Frame 1Symbol 129 Button {start_btn}
"animation"Symbol 181 MovieClip {com.lumoslabs.games.memoryMatrix.screens.HelpScreen} Frame 1Symbol 180 MovieClip
"scoreField"Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen} Frame 1Symbol 202 EditableText
"levelField"Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen} Frame 1Symbol 203 EditableText
"scoreField"Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen} Frame 1Symbol 210 EditableText
"levelField"Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen} Frame 1Symbol 211 EditableText
"promoButton"Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen} Frame 1Symbol 195 Button {PromoButton}
"continueButton"Symbol 221 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PromoEndScreen} Frame 1Symbol 187 Button {continue_btn}
"scoreField"Symbol 234 MovieClip {com.lumoslabs.games.memoryMatrix.screens.EndScreen} Frame 1Symbol 228 EditableText
"levelField"Symbol 234 MovieClip {com.lumoslabs.games.memoryMatrix.screens.EndScreen} Frame 1Symbol 229 EditableText
"continueButton"Symbol 234 MovieClip {com.lumoslabs.games.memoryMatrix.screens.EndScreen} Frame 1Symbol 226 Button {done_btn}
"surveyButton"Symbol 234 MovieClip {com.lumoslabs.games.memoryMatrix.screens.EndScreen} Frame 1Symbol 233 Button
"myScore"Symbol 241 MovieClip {score_mc} Frame 1Symbol 237 EditableText
"myTime"Symbol 245 MovieClip {timer_mc} Frame 1Symbol 244 EditableText
"activeTile"Symbol 248 MovieClip {com.lumoslabs.games.memoryMatrix.Tile} Frame 1Symbol 177 MovieClip {ActiveTile}
"inactiveTile"Symbol 248 MovieClip {com.lumoslabs.games.memoryMatrix.Tile} Frame 1Symbol 174 MovieClip {InactiveTile}
"cross"Symbol 248 MovieClip {com.lumoslabs.games.memoryMatrix.Tile} Frame 1Symbol 247 MovieClip {redX}
"trialField"Symbol 256 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PlayScreen} Frame 1Symbol 251 EditableText
"scoreField"Symbol 256 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PlayScreen} Frame 1Symbol 253 EditableText
"levelField"Symbol 256 MovieClip {com.lumoslabs.games.memoryMatrix.screens.PlayScreen} Frame 1Symbol 255 EditableText
"center"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 264 MovieClip {BoardCenter}
"topLeftCorner"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 262 MovieClip {BoardCorner}
"bottomLeftCorner"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 262 MovieClip {BoardCorner}
"bottomRightCorner"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 262 MovieClip {BoardCorner}
"topRightCorner"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 262 MovieClip {BoardCorner}
"leftSide"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 260 MovieClip {BoardLeftSide}
"rightSide"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 260 MovieClip {BoardLeftSide}
"topSide"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 258 MovieClip {BoardTopSide}
"bottomSide"Symbol 265 MovieClip {com.lumoslabs.games.memoryMatrix.Board} Frame 1Symbol 258 MovieClip {BoardTopSide}
"bonusField"Symbol 271 MovieClip {PerfectEndGameBox} Frame 1Symbol 268 EditableText
"tilesField"Symbol 276 MovieClip {EndTrialBox} Frame 1Symbol 275 EditableText
"bonusField"Symbol 280 MovieClip {PerfectEndTrialBox} Frame 1Symbol 277 EditableText
"tilesField"Symbol 280 MovieClip {PerfectEndTrialBox} Frame 1Symbol 278 EditableText

Special Tags

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




http://swfchan.com/27/134525/info.shtml
Created: 9/2 -2019 21:49:16 Last modified: 9/2 -2019 21:49:16 Server time: 06/05 -2024 17:30:36