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

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

jungle-tower-2.swf

This is the info page for
Flash #109673

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


Text
200

easy

RESTART

master

More Fun

submit

<p align="center"><font face="_sans" size="12" color="#333333" letterSpacing="0.000000" kerning="1"><b>FLASHEFF</b></font></p><p align="center"><font face="_sans" size="12" color="#333333" letterSpacing="0.000000" kerning="1"><b> Pattern</b></font></p>

<p align="center"><font face="_sans" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>TxEff2</b></font></p>

<p align="left"><font face="_sans" size="1" color="#434343" letterSpacing="0.000000" kerning="0"><a href="http://www.flasheff.com"><b>txeff.com, text animation tool component</b></a></font></p>

<p align="left"><font face="_sans" size="1" color="#434343" letterSpacing="0.000000" kerning="0"><a href="http://www.jumpeyecomponents.com"><b>flash components</b></a></font></p>

<p align="left"><font face="_sans" size="1" color="#434343" letterSpacing="0.000000" kerning="0">JMP-472-V3 AS3</font></p>

JUNGLE TOWER

the balancer

2

start

JUNGLE TOWER 2

the balancer

How to PLay

How to PLay

Start

Start

Credits

Credits

More Games

More Games

MASTER

MASTER

normal

normal

EASY

EASY

choose difficulty

How to play

Credits

graphics
pETR CHARVAT

<p align="center"><font face="ben krush" size="19" color="#ffff00" letterSpacing="0.000000" kerning="0"><a href="http://www.littlebigplay.com/shajby" target = "_blank">author</a></font></p><p align="center"><font face="ben krush" size="19" color="#99cc00" letterSpacing="0.000000" kerning="0"><a href="http://www.littlebigplay.com/shajby" target = "_blank">MICHAL SAJBAN</a></font></p>

Ingame music
DJ Duccis

<p align="center"><font face="a_ConceptoTitulLdBk" size="15" color="#00ff00" letterSpacing="0.000000" kerning="0"><a href="http://www.littlebigplay.com/shajby" target = "_blank">created by</a><font color="#ffffff"><a href="http://www.littlebigplay.com/shajby" target = "_blank"> </a><font color="#ffff00"><a href="http://www.littlebigplay.com/shajby" target = "_blank">shajby</a></font></font></font></p>

<p align="center"><font face="a_ConceptoTitulLdBk" size="15" color="#00ff00" letterSpacing="0.000000" kerning="0"><a href="http://www.kingofgames.net/freegames/jungle-tower/jungle-tower.html" target = "_blank">PLAY</a><font color="#ffff00"><a href="http://www.kingofgames.net/freegames/jungle-tower/jungle-tower.html" target = "_blank"> JUNGLE TOWER 1</a></font></font></p>

efekt

hard

Let's start Hard mode!
Balancers are dynamic and
any part of the balancer
can not touch the ground!

10

R

HOW TO PLAY
move the mouse to move
the block, hOLD THE
LEFT MOUSE BUTTON TO
INCREASE THE SPEED.
press up/down to move the screen.
if something hits the block you
can not control it anymore.
Dont lose any block!
SCORE DEPENDS ON THE size of
the block!
Click to start!

10000

NEXT

SCORE

splash

PLAY THE LATEST ONLINE GAMES!

ActionScript [AS3]

Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var localPosition:b2Vec2; public var radius:Number; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2CircleShape extends b2Shape { public var m_radius:Number; public var m_localPosition:b2Vec2; public function b2CircleShape(_arg1:b2ShapeDef){ var _local2:b2CircleDef; m_localPosition = new b2Vec2(); super(_arg1); _local2 = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg1.R; _local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _local4 = (_arg2.x - _local4); _local5 = (_arg2.y - _local5); return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius))); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg1.R; _local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); _local8 = (_arg1.position.y + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); _local9 = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); _local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; _local12 = (_arg4.p2.x - _arg4.p1.x); _local13 = (_arg4.p2.y - _arg4.p1.y); _local14 = ((_local9 * _local12) + (_local10 * _local13)); _local15 = ((_local12 * _local12) + (_local13 * _local13)); _local16 = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; _local17 = -((_local14 + Math.sqrt(_local16))); if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){ _local17 = (_local17 / _local15); _arg2[0] = _local17; _arg3.x = (_local9 + (_local17 * _local12)); _arg3.y = (_local10 + (_local17 * _local13)); _arg3.Normalize(); return (true); }; return (false); } override public function ComputeMass(_arg1:b2MassData):void{ _arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius); _arg1.center.SetV(m_localPosition); _arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y)))); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = _arg2.R; _local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; _local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); _local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius)); _arg1.upperBound.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius)); } public function GetRadius():Number{ return (m_radius); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number; var _local3:Number; _local2 = (m_localPosition.x - _arg1.x); _local3 = (m_localPosition.y - _arg1.y); _local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop); } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; _local3 = _arg2.R; _local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); _local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y))); _arg1.lowerBound.Set((_local4 - m_radius), (_local5 - m_radius)); _arg1.upperBound.Set((_local4 + m_radius), (_local5 + m_radius)); } } }//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData) package Box2D.Collision.Shapes { public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function b2FilterData(){ categoryBits = 1; maskBits = 0xFFFF; groupIndex = 0; super(); } public function Copy():b2FilterData{ var _local1:b2FilterData; _local1 = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ mass = 0; center = new b2Vec2(0, 0); I = 0; super(); } } }//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertexCount:int; public var vertices:Array; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ var _local1:int; vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; _local1 = 0; while (_local1 < b2Settings.b2_maxPolygonVertices) { vertices[_local1] = new b2Vec2(); _local1++; }; } public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{ var _local5:b2Vec2; var _local6:b2Mat22; var _local7:int; vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); if (_arg3){ _local5 = _arg3; _local6 = s_mat; _local6.Set(_arg4); _local7 = 0; while (_local7 < vertexCount) { _arg3 = vertices[_local7]; _arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y))); _arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y))); _arg3.x = _arg1; _local7++; }; }; } public function SetAsBox(_arg1:Number, _arg2:Number):void{ vertexCount = 4; vertices[0].Set(-(_arg1), -(_arg2)); vertices[1].Set(_arg1, -(_arg2)); vertices[2].Set(_arg1, _arg2); vertices[3].Set(-(_arg1), _arg2); } } }//package Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolygonShape extends b2Shape { public var m_vertices:Array; public var m_normals:Array; private var s_supportVec:b2Vec2; public var m_obb:b2OBB; public var m_coreVertices:Array; public var m_centroid:b2Vec2; public var m_vertexCount:int; private static var s_computeMat:b2Mat22 = new b2Mat22(); private static var s_sweptAABB1:b2AABB = new b2AABB(); private static var s_sweptAABB2:b2AABB = new b2AABB(); public function b2PolygonShape(_arg1:b2ShapeDef){ var _local2:b2PolygonDef; var _local3:int; var _local4:int; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; s_supportVec = new b2Vec2(); m_obb = new b2OBB(); m_vertices = new Array(b2Settings.b2_maxPolygonVertices); m_normals = new Array(b2Settings.b2_maxPolygonVertices); m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices); super(_arg1); m_type = e_polygonShape; _local2 = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; _local4 = _local3; _local5 = _local3; _local3 = 0; while (_local3 < m_vertexCount) { m_vertices[_local3] = _local2.vertices[_local3].Copy(); _local3++; }; _local3 = 0; while (_local3 < m_vertexCount) { _local4 = _local3; _local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0; _local6 = (m_vertices[_local5].x - m_vertices[_local4].x); _local7 = (m_vertices[_local5].y - m_vertices[_local4].y); _local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7))); m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8)); _local3++; }; m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount); ComputeOBB(m_obb, m_vertices, m_vertexCount); _local3 = 0; while (_local3 < m_vertexCount) { _local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1); _local5 = _local3; _local9 = m_normals[_local4].x; _local10 = m_normals[_local4].y; _local11 = m_normals[_local5].x; _local12 = m_normals[_local5].y; _local13 = (m_vertices[_local3].x - m_centroid.x); _local14 = (m_vertices[_local3].y - m_centroid.y); _local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop); _local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop); _local17 = (1 / ((_local9 * _local12) - (_local10 * _local11))); m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y)); _local3++; }; } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; _local4 = _arg1.R; _local5 = (_arg2.x - _arg1.position.x); _local6 = (_arg2.y - _arg1.position.y); _local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); _local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); _local9 = 0; while (_local9 < m_vertexCount) { _local3 = m_vertices[_local9]; _local5 = (_local7 - _local3.x); _local6 = (_local8 - _local3.y); _local3 = m_normals[_local9]; _local10 = ((_local3.x * _local5) + (_local3.y * _local6)); if (_local10 > 0){ return (false); }; _local9++; }; return (true); } public function GetCoreVertices():Array{ return (m_coreVertices); } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:Number; var _local21:Number; _local6 = 0; _local7 = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; _local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local8 = (_arg4.p2.x - _arg1.position.x); _local9 = (_arg4.p2.y - _arg1.position.y); _local10 = _arg1.R; _local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); _local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local18 = -1; _local19 = 0; while (_local19 < m_vertexCount) { _local11 = m_vertices[_local19]; _local8 = (_local11.x - _local12); _local9 = (_local11.y - _local13); _local11 = m_normals[_local19]; _local20 = ((_local11.x * _local8) + (_local11.y * _local9)); _local21 = ((_local11.x * _local16) + (_local11.y * _local17)); if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){ _local6 = (_local20 / _local21); _local18 = _local19; } else { if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){ _local7 = (_local20 / _local21); }; }; if (_local7 < _local6){ return (false); }; _local19++; }; if (_local18 >= 0){ _arg2[0] = _local6; _local10 = _arg1.R; _local11 = m_normals[_local18]; _arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); return (true); }; return (false); } public function GetCentroid():b2Vec2{ return (m_centroid); } override public function ComputeMass(_arg1:b2MassData):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local2 = 0; _local3 = 0; _local4 = 0; _local5 = 0; _local6 = 0; _local7 = 0; _local8 = (1 / 3); _local9 = 0; while (_local9 < m_vertexCount) { _local10 = m_vertices[_local9]; _local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0]; _local12 = (_local10.x - _local6); _local13 = (_local10.y - _local7); _local14 = (_local11.x - _local6); _local15 = (_local11.y - _local7); _local16 = ((_local12 * _local15) - (_local13 * _local14)); _local17 = (0.5 * _local16); _local4 = (_local4 + _local17); _local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x))); _local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y))); _local18 = _local6; _local19 = _local7; _local20 = _local12; _local21 = _local13; _local22 = _local14; _local23 = _local15; _local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18)); _local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19)); _local5 = (_local5 + (_local16 * (_local24 + _local25))); _local9++; }; _arg1.mass = (m_density * _local4); _local2 = (_local2 * (1 / _local4)); _local3 = (_local3 * (1 / _local4)); _arg1.center.Set(_local2, _local3); _arg1.I = (m_density * _local5); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local6:Number; var _local7:Number; var _local8:int; var _local9:Number; var _local10:int; var _local11:Number; _local5 = _arg1.R; _local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); _local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); _local8 = 0; _local4 = m_coreVertices[0]; _local9 = ((_local4.x * _local6) + (_local4.y * _local7)); _local10 = 1; while (_local10 < m_vertexCount) { _local4 = m_coreVertices[_local10]; _local11 = ((_local4.x * _local6) + (_local4.y * _local7)); if (_local11 > _local9){ _local8 = _local10; _local9 = _local11; }; _local10++; }; _local5 = _arg1.R; _local4 = m_coreVertices[_local8]; s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y))); s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y))); return (s_supportVec); } public function GetVertexCount():int{ return (m_vertexCount); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB; var _local5:b2AABB; _local4 = s_sweptAABB1; _local5 = s_sweptAABB2; ComputeAABB(_local4, _arg2); ComputeAABB(_local5, _arg3); _arg1.lowerBound.Set(((_local4.lowerBound.x < _local5.lowerBound.x)) ? _local4.lowerBound.x : _local5.lowerBound.x, ((_local4.lowerBound.y < _local5.lowerBound.y)) ? _local4.lowerBound.y : _local5.lowerBound.y); _arg1.upperBound.Set(((_local4.upperBound.x > _local5.upperBound.x)) ? _local4.upperBound.x : _local5.upperBound.x, ((_local4.upperBound.y > _local5.upperBound.y)) ? _local4.upperBound.y : _local5.upperBound.y); } public function GetVertices():Array{ return (m_vertices); } public function GetNormals():Array{ return (m_normals); } public function GetOBB():b2OBB{ return (m_obb); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_coreVertices[0])); } public function Centroid(_arg1:b2XForm):b2Vec2{ return (b2Math.b2MulX(_arg1, m_centroid)); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local3:int; var _local4:Number; var _local5:Number; m_sweepRadius = 0; _local3 = 0; while (_local3 < m_vertexCount) { _local2 = m_coreVertices[_local3]; _local4 = (_local2.x - _arg1.x); _local5 = (_local2.y - _arg1.y); _local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5))); if (_local4 > m_sweepRadius){ m_sweepRadius = _local4; }; _local3++; }; } override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local5 = s_computeMat; _local3 = _arg2.R; _local4 = m_obb.R.col1; _local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local4 = m_obb.R.col2; _local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); _local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); _local5.Abs(); _local6 = _local5; _local4 = m_obb.extents; _local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); _local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; _local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); _local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y))); _arg1.lowerBound.Set((_local9 - _local7), (_local10 - _local8)); _arg1.upperBound.Set((_local9 + _local7), (_local10 + _local8)); } public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:int; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local3 = new b2Vec2(); _local4 = 0; _local5 = 0; _local6 = 0; _local7 = (1 / 3); _local8 = 0; while (_local8 < _arg2) { _local9 = _arg1[_local8]; _local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0]; _local11 = (_local9.x - _local5); _local12 = (_local9.y - _local6); _local13 = (_local10.x - _local5); _local14 = (_local10.y - _local6); _local15 = ((_local11 * _local14) - (_local12 * _local13)); _local16 = (0.5 * _local15); _local4 = (_local4 + _local16); _local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x))); _local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y))); _local8++; }; _local3.x = (_local3.x * (1 / _local4)); _local3.y = (_local3.y * (1 / _local4)); return (_local3); } public static function ComputeOBB(_arg1:b2OBB, _arg2:Array, _arg3:int):void{ var _local4:int; var _local5:Array; var _local6:Number; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:b2Mat22; _local5 = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; _local6 = Number.MAX_VALUE; _local4 = 1; while (_local4 <= _arg3) { _local7 = _local5[int((_local4 - 1))]; _local8 = (_local5[_local4].x - _local7.x); _local9 = (_local5[_local4].y - _local7.y); _local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local8 = (_local8 / _local10); _local9 = (_local9 / _local10); _local11 = -(_local9); _local12 = _local8; _local13 = Number.MAX_VALUE; _local14 = Number.MAX_VALUE; _local15 = -(Number.MAX_VALUE); _local16 = -(Number.MAX_VALUE); _local17 = 0; while (_local17 < _arg3) { _local19 = (_local5[_local17].x - _local7.x); _local20 = (_local5[_local17].y - _local7.y); _local21 = ((_local8 * _local19) + (_local9 * _local20)); _local22 = ((_local11 * _local19) + (_local12 * _local20)); if (_local21 < _local13){ _local13 = _local21; }; if (_local22 < _local14){ _local14 = _local22; }; if (_local21 > _local15){ _local15 = _local21; }; if (_local22 > _local16){ _local16 = _local22; }; _local17++; }; _local18 = ((_local15 - _local13) * (_local16 - _local14)); if (_local18 < (0.95 * _local6)){ _local6 = _local18; _arg1.R.col1.x = _local8; _arg1.R.col1.y = _local9; _arg1.R.col2.x = _local11; _arg1.R.col2.y = _local12; _local23 = (0.5 * (_local13 + _local15)); _local24 = (0.5 * (_local14 + _local16)); _local25 = _arg1.R; _arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24))); _arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24))); _arg1.extents.x = (0.5 * (_local15 - _local13)); _arg1.extents.y = (0.5 * (_local16 - _local14)); }; _local4++; }; } } }//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape) package Box2D.Collision.Shapes { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2Shape { public var m_type:int; public var m_sweepRadius:Number; public var m_density:Number; public var m_filter:b2FilterData; public var m_friction:Number; public var m_next:b2Shape; public var m_restitution:Number; public var m_userData; public var m_isSensor:Boolean; public var m_proxyId:uint; public var m_body:b2Body; public static const e_polygonShape:int = 1; public static const e_unknownShape:int = -1; public static const e_circleShape:int = 0; public static const e_shapeTypeCount:int = 2; private static var s_resetAABB:b2AABB = new b2AABB(); private static var s_syncAABB:b2AABB = new b2AABB(); private static var s_proxyAABB:b2AABB = new b2AABB(); public function b2Shape(_arg1:b2ShapeDef){ m_userData = _arg1.userData; m_friction = _arg1.friction; m_restitution = _arg1.restitution; m_density = _arg1.density; m_body = null; m_sweepRadius = 0; m_next = null; m_proxyId = b2Pair.b2_nullProxy; m_filter = _arg1.filter.Copy(); m_isSensor = _arg1.isSensor; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } public function GetSweepRadius():Number{ return (m_sweepRadius); } public function GetNext():b2Shape{ return (m_next); } public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ } public function GetType():int{ return (m_type); } public function GetRestitution():Number{ return (m_restitution); } public function GetFriction():Number{ return (m_friction); } public function GetFilterData():b2FilterData{ return (m_filter.Copy()); } public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ return (false); } public function RefilterProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); _local3 = s_resetAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function SetFilterData(_arg1:b2FilterData):void{ m_filter = _arg1.Copy(); } public function GetUserData(){ return (m_userData); } public function Synchronize(_arg1:b2BroadPhase, _arg2:b2XForm, _arg3:b2XForm):Boolean{ var _local4:b2AABB; if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; _local4 = s_syncAABB; ComputeSweptAABB(_local4, _arg2, _arg3); if (_arg1.InRange(_local4)){ _arg1.MoveProxy(m_proxyId, _local4); return (true); }; return (false); } public function ComputeMass(_arg1:b2MassData):void{ } public function IsSensor():Boolean{ return (m_isSensor); } public function DestroyProxy(_arg1:b2BroadPhase):void{ if (m_proxyId != b2Pair.b2_nullProxy){ _arg1.DestroyProxy(m_proxyId); m_proxyId = b2Pair.b2_nullProxy; }; } public function UpdateSweepRadius(_arg1:b2Vec2):void{ } public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ } public function GetBody():b2Body{ return (m_body); } public function CreateProxy(_arg1:b2BroadPhase, _arg2:b2XForm):void{ var _local3:b2AABB; var _local4:Boolean; _local3 = s_proxyAABB; ComputeAABB(_local3, _arg2); _local4 = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public static function Destroy(_arg1:b2Shape, _arg2):void{ } public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{ switch (_arg1.type){ case e_circleShape: return (new b2CircleShape(_arg1)); case e_polygonShape: return (new b2PolygonShape(_arg1)); default: return (null); }; } } }//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef) package Box2D.Collision.Shapes { public class b2ShapeDef { public var isSensor:Boolean;// = false public var density:Number;// = 0 public var type:int;// = -1 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var friction:Number;// = 0.2 public function b2ShapeDef(){ type = b2Shape.e_unknownShape; userData = null; friction = 0.2; restitution = 0; density = 0; isSensor = false; filter = new b2FilterData(); super(); } } }//package Box2D.Collision.Shapes
Section 9
//b2AABB (Box2D.Collision.b2AABB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2AABB { public var upperBound:b2Vec2; public var lowerBound:b2Vec2; public function b2AABB(){ lowerBound = new b2Vec2(); upperBound = new b2Vec2(); super(); } public function IsValid():Boolean{ var _local1:Number; var _local2:Number; var _local3:Boolean; _local1 = (upperBound.x - lowerBound.x); _local2 = (upperBound.y - lowerBound.y); _local3 = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package Box2D.Collision
Section 10
//b2Bound (Box2D.Collision.b2Bound) package Box2D.Collision { public class b2Bound { public var proxyId:uint; public var stabbingCount:uint; public var value:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint; var _local3:uint; var _local4:uint; _local2 = value; _local3 = proxyId; _local4 = stabbingCount; value = _arg1.value; proxyId = _arg1.proxyId; stabbingCount = _arg1.stabbingCount; _arg1.value = _local2; _arg1.proxyId = _local3; _arg1.stabbingCount = _local4; } public function IsLower():Boolean{ return (((value & 1) == 0)); } public function IsUpper():Boolean{ return (((value & 1) == 1)); } } }//package Box2D.Collision
Section 11
//b2BoundValues (Box2D.Collision.b2BoundValues) package Box2D.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package Box2D.Collision
Section 12
//b2BroadPhase (Box2D.Collision.b2BroadPhase) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2BroadPhase { public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; public var m_bounds:Array; public var m_freeProxy:uint; public var m_proxyCount:int; public var m_proxyPool:Array; public var m_queryResultCount:int; public var m_pairManager:b2PairManager; public var m_timeStamp:uint; public var m_queryResults:Array; public static const b2_nullEdge:uint = b2Settings.USHRT_MAX; public static const b2_invalid:uint = b2Settings.USHRT_MAX; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; var _local4:Number; var _local5:Number; var _local6:b2Proxy; var _local7:int; m_pairManager = new b2PairManager(); m_proxyPool = new Array(b2Settings.b2_maxPairs); m_bounds = new Array((2 * b2Settings.b2_maxProxies)); m_queryResults = new Array(b2Settings.b2_maxProxies); m_quantizationFactor = new b2Vec2(); super(); m_pairManager.Initialize(this, _arg2); m_worldAABB = _arg1; m_proxyCount = 0; _local3 = 0; while (_local3 < b2Settings.b2_maxProxies) { m_queryResults[_local3] = 0; _local3++; }; m_bounds = new Array(2); _local3 = 0; while (_local3 < 2) { m_bounds[_local3] = new Array((2 * b2Settings.b2_maxProxies)); _local7 = 0; while (_local7 < (2 * b2Settings.b2_maxProxies)) { m_bounds[_local3][_local7] = new b2Bound(); _local7++; }; _local3++; }; _local4 = (_arg1.upperBound.x - _arg1.lowerBound.x); _local5 = (_arg1.upperBound.y - _arg1.lowerBound.y); m_quantizationFactor.x = (b2Settings.USHRT_MAX / _local4); m_quantizationFactor.y = (b2Settings.USHRT_MAX / _local5); _local3 = 0; while (_local3 < (b2Settings.b2_maxProxies - 1)) { _local6 = new b2Proxy(); m_proxyPool[_local3] = _local6; _local6.SetNext((_local3 + 1)); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; _local3++; }; _local6 = new b2Proxy(); m_proxyPool[int((b2Settings.b2_maxProxies - 1))] = _local6; _local6.SetNext(b2Pair.b2_nullProxy); _local6.timeStamp = 0; _local6.overlapCount = b2_invalid; _local6.userData = null; m_freeProxy = 0; m_timeStamp = 1; m_queryResultCount = 0; } public function QueryAABB(_arg1:b2AABB, _arg2, _arg3:int):int{ var _local4:Array; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:Array; var _local9:Array; var _local10:int; var _local11:int; var _local12:b2Proxy; _local4 = new Array(); _local5 = new Array(); ComputeBounds(_local4, _local5, _arg1); _local8 = [_local6]; _local9 = [_local7]; Query(_local8, _local9, _local4[0], _local5[0], m_bounds[0], (2 * m_proxyCount), 0); Query(_local8, _local9, _local4[1], _local5[1], m_bounds[1], (2 * m_proxyCount), 1); _local10 = 0; _local11 = 0; while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) { _local12 = m_proxyPool[m_queryResults[_local11]]; _arg2[_local11] = _local12.userData; _local11++; _local10++; }; m_queryResultCount = 0; IncrementTimeStamp(); return (_local10); } public function Commit():void{ m_pairManager.Commit(); } public function GetProxy(_arg1:int):b2Proxy{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((_local2.IsValid() == false)))){ return (null); }; return (_local2); } private function IncrementTimeStamp():void{ var _local1:uint; if (m_timeStamp == b2Settings.USHRT_MAX){ _local1 = 0; while (_local1 < b2Settings.b2_maxProxies) { (m_proxyPool[_local1] as b2Proxy).timeStamp = 0; _local1++; }; m_timeStamp = 1; } else { m_timeStamp++; }; } private function Query(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{ var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local11:uint; var _local12:int; var _local13:int; var _local14:b2Proxy; _local8 = BinarySearch(_arg5, _arg6, _arg3); _local9 = BinarySearch(_arg5, _arg6, _arg4); _local11 = _local8; while (_local11 < _local9) { _local10 = _arg5[_local11]; if (_local10.IsLower()){ IncrementOverlapCount(_local10.proxyId); }; _local11++; }; if (_local8 > 0){ _local12 = (_local8 - 1); _local10 = _arg5[_local12]; _local13 = _local10.stabbingCount; while (_local13) { _local10 = _arg5[_local12]; if (_local10.IsLower()){ _local14 = m_proxyPool[_local10.proxyId]; if (_local8 <= _local14.upperBounds[_arg7]){ IncrementOverlapCount(_local10.proxyId); _local13--; }; }; _local12--; }; }; _arg1[0] = _local8; _arg2[0] = _local9; } private function TestOverlapValidate(_arg1:b2Proxy, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; var _local6:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg1.lowerBounds[_local3]]; _local6 = _local4[_arg2.upperBounds[_local3]]; if (_local5.value > _local6.value){ return (false); }; _local5 = _local4[_arg1.upperBounds[_local3]]; _local6 = _local4[_arg2.lowerBounds[_local3]]; if (_local5.value < _local6.value){ return (false); }; _local3++; }; return (true); } private function ComputeBounds(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local4 = _arg3.lowerBound.x; _local5 = _arg3.lowerBound.y; _local4 = b2Math.b2Min(_local4, m_worldAABB.upperBound.x); _local5 = b2Math.b2Min(_local5, m_worldAABB.upperBound.y); _local4 = b2Math.b2Max(_local4, m_worldAABB.lowerBound.x); _local5 = b2Math.b2Max(_local5, m_worldAABB.lowerBound.y); _local6 = _arg3.upperBound.x; _local7 = _arg3.upperBound.y; _local6 = b2Math.b2Min(_local6, m_worldAABB.upperBound.x); _local7 = b2Math.b2Min(_local7, m_worldAABB.upperBound.y); _local6 = b2Math.b2Max(_local6, m_worldAABB.lowerBound.x); _local7 = b2Math.b2Max(_local7, m_worldAABB.lowerBound.y); _arg1[0] = (uint((m_quantizationFactor.x * (_local4 - m_worldAABB.lowerBound.x))) & (b2Settings.USHRT_MAX - 1)); _arg2[0] = ((uint((m_quantizationFactor.x * (_local6 - m_worldAABB.lowerBound.x))) & 0xFFFF) | 1); _arg1[1] = (uint((m_quantizationFactor.y * (_local5 - m_worldAABB.lowerBound.y))) & (b2Settings.USHRT_MAX - 1)); _arg2[1] = ((uint((m_quantizationFactor.y * (_local7 - m_worldAABB.lowerBound.y))) & 0xFFFF) | 1); } public function CreateProxy(_arg1:b2AABB, _arg2):uint{ var _local3:uint; var _local4:b2Proxy; var _local5:uint; var _local6:uint; var _local7:Array; var _local8:Array; var _local9:int; var _local10:int; var _local11:Array; var _local12:uint; var _local13:uint; var _local14:Array; var _local15:Array; var _local16:Array; var _local17:int; var _local18:int; var _local19:b2Bound; var _local20:b2Bound; var _local21:b2Bound; var _local22:int; var _local23:b2Proxy; _local5 = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; _local6 = (2 * m_proxyCount); _local7 = new Array(); _local8 = new Array(); ComputeBounds(_local7, _local8, _arg1); _local9 = 0; while (_local9 < 2) { _local11 = m_bounds[_local9]; _local14 = [_local12]; _local15 = [_local13]; Query(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9); _local12 = _local14[0]; _local13 = _local15[0]; _local16 = new Array(); _local18 = (_local6 - _local13); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local13 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local13 + 2); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local16 = new Array(); _local18 = (_local13 - _local12); _local17 = 0; while (_local17 < _local18) { _local16[_local17] = new b2Bound(); _local19 = _local16[_local17]; _local20 = _local11[int((_local12 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local18 = _local16.length; _local22 = (_local12 + 1); _local17 = 0; while (_local17 < _local18) { _local20 = _local16[_local17]; _local19 = _local11[int((_local22 + _local17))]; _local19.value = _local20.value; _local19.proxyId = _local20.proxyId; _local19.stabbingCount = _local20.stabbingCount; _local17++; }; _local13++; _local19 = _local11[_local12]; _local20 = _local11[_local13]; _local19.value = _local7[_local9]; _local19.proxyId = _local5; _local20.value = _local8[_local9]; _local20.proxyId = _local5; _local21 = _local11[int((_local12 - 1))]; _local19.stabbingCount = ((_local12 == 0)) ? 0 : _local21.stabbingCount; _local21 = _local11[int((_local13 - 1))]; _local20.stabbingCount = _local21.stabbingCount; _local3 = _local12; while (_local3 < _local13) { _local21 = _local11[_local3]; _local21.stabbingCount++; _local3++; }; _local3 = _local12; while (_local3 < (_local6 + 2)) { _local19 = _local11[_local3]; _local23 = m_proxyPool[_local19.proxyId]; if (_local19.IsLower()){ _local23.lowerBounds[_local9] = _local3; } else { _local23.upperBounds[_local9] = _local3; }; _local3++; }; _local9++; }; m_proxyCount++; _local10 = 0; while (_local10 < m_queryResultCount) { m_pairManager.AddBufferedPair(_local5, m_queryResults[_local10]); _local10++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); return (_local5); } public function DestroyProxy(_arg1:uint):void{ var _local2:b2Bound; var _local3:b2Bound; var _local4:b2Proxy; var _local5:int; var _local6:int; var _local7:int; var _local8:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:Array; var _local14:int; var _local15:int; var _local16:int; var _local17:uint; var _local18:int; var _local19:b2Proxy; _local4 = m_proxyPool[_arg1]; _local5 = (2 * m_proxyCount); _local6 = 0; while (_local6 < 2) { _local8 = m_bounds[_local6]; _local9 = _local4.lowerBounds[_local6]; _local10 = _local4.upperBounds[_local6]; _local2 = _local8[_local9]; _local11 = _local2.value; _local3 = _local8[_local10]; _local12 = _local3.value; _local13 = new Array(); _local15 = ((_local10 - _local9) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local9 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = _local9; _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local13 = new Array(); _local15 = ((_local5 - _local10) - 1); _local14 = 0; while (_local14 < _local15) { _local13[_local14] = new b2Bound(); _local2 = _local13[_local14]; _local3 = _local8[int(((_local10 + 1) + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = _local13.length; _local16 = (_local10 - 1); _local14 = 0; while (_local14 < _local15) { _local3 = _local13[_local14]; _local2 = _local8[int((_local16 + _local14))]; _local2.value = _local3.value; _local2.proxyId = _local3.proxyId; _local2.stabbingCount = _local3.stabbingCount; _local14++; }; _local15 = (_local5 - 2); _local17 = _local9; while (_local17 < _local15) { _local2 = _local8[_local17]; _local19 = m_proxyPool[_local2.proxyId]; if (_local2.IsLower()){ _local19.lowerBounds[_local6] = _local17; } else { _local19.upperBounds[_local6] = _local17; }; _local17++; }; _local15 = (_local10 - 1); _local18 = _local9; while (_local18 < _local15) { _local2 = _local8[_local18]; _local2.stabbingCount--; _local18++; }; Query([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6); _local6++; }; _local7 = 0; while (_local7 < m_queryResultCount) { m_pairManager.RemoveBufferedPair(_arg1, m_queryResults[_local7]); _local7++; }; m_pairManager.Commit(); m_queryResultCount = 0; IncrementTimeStamp(); _local4.userData = null; _local4.overlapCount = b2_invalid; _local4.lowerBounds[0] = b2_invalid; _local4.lowerBounds[1] = b2_invalid; _local4.upperBounds[0] = b2_invalid; _local4.upperBounds[1] = b2_invalid; _local4.SetNext(m_freeProxy); m_freeProxy = _arg1; m_proxyCount--; } public function TestOverlap(_arg1:b2BoundValues, _arg2:b2Proxy):Boolean{ var _local3:int; var _local4:Array; var _local5:b2Bound; _local3 = 0; while (_local3 < 2) { _local4 = m_bounds[_local3]; _local5 = _local4[_arg2.upperBounds[_local3]]; if (_arg1.lowerValues[_local3] > _local5.value){ return (false); }; _local5 = _local4[_arg2.lowerBounds[_local3]]; if (_arg1.upperValues[_local3] < _local5.value){ return (false); }; _local3++; }; return (true); } public function Validate():void{ var _local1:b2Pair; var _local2:b2Proxy; var _local3:b2Proxy; var _local4:Boolean; var _local5:int; var _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; _local5 = 0; while (_local5 < 2) { _local6 = m_bounds[_local5]; _local7 = (2 * m_proxyCount); _local8 = 0; _local9 = 0; while (_local9 < _local7) { _local10 = _local6[_local9]; if (_local10.IsLower() == true){ _local8++; } else { _local8--; }; _local9++; }; _local5++; }; } private function IncrementOverlapCount(_arg1:uint):void{ var _local2:b2Proxy; _local2 = m_proxyPool[_arg1]; if (_local2.timeStamp < m_timeStamp){ _local2.timeStamp = m_timeStamp; _local2.overlapCount = 1; } else { _local2.overlapCount = 2; m_queryResults[m_queryResultCount] = _arg1; m_queryResultCount++; }; } public function InRange(_arg1:b2AABB):Boolean{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = _arg1.lowerBound.x; _local3 = _arg1.lowerBound.y; _local2 = (_local2 - m_worldAABB.upperBound.x); _local3 = (_local3 - m_worldAABB.upperBound.y); _local4 = m_worldAABB.lowerBound.x; _local5 = m_worldAABB.lowerBound.y; _local4 = (_local4 - _arg1.upperBound.x); _local5 = (_local5 - _arg1.upperBound.y); _local2 = b2Math.b2Max(_local2, _local4); _local3 = b2Math.b2Max(_local3, _local5); return ((b2Math.b2Max(_local2, _local3) < 0)); } public function MoveProxy(_arg1:uint, _arg2:b2AABB):void{ var _local3:Array; var _local4:int; var _local5:uint; var _local6:uint; var _local7:b2Bound; var _local8:b2Bound; var _local9:b2Bound; var _local10:uint; var _local11:b2Proxy; var _local12:uint; var _local13:b2Proxy; var _local14:b2BoundValues; var _local15:b2BoundValues; var _local16:Array; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:int; var _local22:int; var _local23:uint; var _local24:b2Proxy; if ((((_arg1 == b2Pair.b2_nullProxy)) || ((b2Settings.b2_maxProxies <= _arg1)))){ return; }; if (_arg2.IsValid() == false){ return; }; _local12 = (2 * m_proxyCount); _local13 = m_proxyPool[_arg1]; _local14 = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); _local15 = new b2BoundValues(); _local5 = 0; while (_local5 < 2) { _local7 = m_bounds[_local5][_local13.lowerBounds[_local5]]; _local15.lowerValues[_local5] = _local7.value; _local7 = m_bounds[_local5][_local13.upperBounds[_local5]]; _local15.upperValues[_local5] = _local7.value; _local5++; }; _local5 = 0; while (_local5 < 2) { _local16 = m_bounds[_local5]; _local17 = _local13.lowerBounds[_local5]; _local18 = _local13.upperBounds[_local5]; _local19 = _local14.lowerValues[_local5]; _local20 = _local14.upperValues[_local5]; _local7 = _local16[_local17]; _local21 = (_local19 - _local7.value); _local7.value = _local19; _local7 = _local16[_local18]; _local22 = (_local20 - _local7.value); _local7.value = _local20; if (_local21 < 0){ _local6 = _local17; while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local8.proxyId]; _local8.stabbingCount++; if (_local8.IsUpper() == true){ if (TestOverlap(_local14, _local24)){ m_pairManager.AddBufferedPair(_arg1, _local23); }; _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; if (_local22 > 0){ _local6 = _local18; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount++; if (_local9.IsLower() == true){ if (TestOverlap(_local14, _local11)){ m_pairManager.AddBufferedPair(_arg1, _local10); }; _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; } else { _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local21 > 0){ _local6 = _local17; while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) { _local7 = _local16[_local6]; _local9 = _local16[int((_local6 + 1))]; _local10 = _local9.proxyId; _local11 = m_proxyPool[_local10]; _local9.stabbingCount--; if (_local9.IsUpper()){ if (TestOverlap(_local15, _local11)){ m_pairManager.RemoveBufferedPair(_arg1, _local10); }; _local3 = _local11.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local11.lowerBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.Swap(_local9); _local6++; }; }; if (_local22 < 0){ _local6 = _local18; while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) { _local7 = _local16[_local6]; _local8 = _local16[int((_local6 - 1))]; _local23 = _local8.proxyId; _local24 = m_proxyPool[_local23]; _local8.stabbingCount--; if (_local8.IsLower() == true){ if (TestOverlap(_local15, _local24)){ m_pairManager.RemoveBufferedPair(_arg1, _local23); }; _local3 = _local24.lowerBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount--; } else { _local3 = _local24.upperBounds; _local4 = _local3[_local5]; _local4++; _local3[_local5] = _local4; _local7.stabbingCount++; }; _local3 = _local13.upperBounds; _local4 = _local3[_local5]; _local4--; _local3[_local5] = _local4; _local7.Swap(_local8); _local6--; }; }; _local5++; }; } public static function BinarySearch(_arg1:Array, _arg2:int, _arg3:uint):uint{ var _local4:int; var _local5:int; var _local6:int; var _local7:b2Bound; _local4 = 0; _local5 = (_arg2 - 1); while (_local4 <= _local5) { _local6 = ((_local4 + _local5) / 2); _local7 = _arg1[_local6]; if (_local7.value > _arg3){ _local5 = (_local6 - 1); } else { if (_local7.value < _arg3){ _local4 = (_local6 + 1); } else { return (uint(_local6)); }; }; }; return (uint(_local4)); } } }//package Box2D.Collision
Section 13
//b2BufferedPair (Box2D.Collision.b2BufferedPair) package Box2D.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package Box2D.Collision
Section 14
//b2Collision (Box2D.Collision.b2Collision) package Box2D.Collision { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Collision { public static const b2_nullFeature:uint = 0xFF; private static var b2CollidePolyTempVec:b2Vec2 = new b2Vec2(); public static function EdgeSeparation(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:Array; var _local9:int; var _local10:Array; var _local11:b2Mat22; var _local12:b2Vec2; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _local6 = _arg1.m_vertexCount; _local7 = _arg1.m_vertices; _local8 = _arg1.m_normals; _local9 = _arg4.m_vertexCount; _local10 = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; _local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); _local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; _local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); _local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local12 = _local10[_local19]; _local25 = ((_local12.x * _local15) + (_local12.y * _local16)); if (_local25 < _local18){ _local18 = _local25; _local17 = _local19; }; _local19++; }; _local12 = _local7[_arg3]; _local11 = _arg2.R; _local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; _local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); _local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); _local24 = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local3 = _arg2.lowerBound; _local4 = _arg1.upperBound; _local5 = (_local3.x - _local4.x); _local6 = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; _local7 = (_local3.x - _local4.x); _local8 = (_local3.y - _local4.y); if ((((_local5 > 0)) || ((_local6 > 0)))){ return (false); }; if ((((_local7 > 0)) || ((_local8 > 0)))){ return (false); }; return (true); } public static function FindIncidentEdge(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{ var _local7:int; var _local8:Array; var _local9:int; var _local10:Array; var _local11:Array; var _local12:b2Mat22; var _local13:b2Vec2; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:int; var _local18:Number; var _local19:int; var _local20:ClipVertex; var _local21:int; var _local22:int; var _local23:Number; _local7 = _arg2.m_vertexCount; _local8 = _arg2.m_normals; _local9 = _arg5.m_vertexCount; _local10 = _arg5.m_vertices; _local11 = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; _local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); _local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; _local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; _local17 = 0; _local18 = Number.MAX_VALUE; _local19 = 0; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; _local21 = _local17; _local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0; _local20 = _arg1[0]; _local13 = _local10[_local21]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local21; _local20.id.features.incidentVertex = 0; _local20 = _arg1[1]; _local13 = _local10[_local22]; _local12 = _arg6.R; _local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y))); _local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y))); _local20.id.features.referenceEdge = _arg4; _local20.id.features.incidentEdge = _local22; _local20.id.features.incidentVertex = 1; } public static function b2CollidePolygons(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{ var _local6:ClipVertex; var _local7:int; var _local8:Array; var _local9:Number; var _local10:int; var _local11:Array; var _local12:Number; var _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local15:b2XForm; var _local16:b2XForm; var _local17:int; var _local18:uint; var _local19:Number; var _local20:Number; var _local21:Array; var _local22:int; var _local23:Array; var _local24:b2Vec2; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:b2Vec2; var _local28:b2Vec2; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Array; var _local33:Array; var _local34:int; var _local35:int; var _local36:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; _local7 = 0; _local8 = [_local7]; _local9 = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; _local10 = 0; _local11 = [_local10]; _local12 = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; _local15 = new b2XForm(); _local16 = new b2XForm(); _local19 = 0.98; _local20 = 0.001; if (_local12 > ((_local19 * _local9) + _local20)){ _local13 = _arg4; _local14 = _arg2; _local15.Set(_arg5); _local16.Set(_arg3); _local17 = _local10; _local18 = 1; } else { _local13 = _arg2; _local14 = _arg4; _local15.Set(_arg3); _local16.Set(_arg5); _local17 = _local7; _local18 = 0; }; _local21 = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); _local22 = _local13.m_vertexCount; _local23 = _local13.m_vertices; _local24 = _local23[_local17]; _local25 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; _local26 = b2Math.SubtractVV(_local37, _local25); _local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); _local28 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); _local29 = b2Math.b2Dot(_local28, _local25); _local30 = -(b2Math.b2Dot(_local27, _local25)); _local31 = b2Math.b2Dot(_local27, _local37); _local32 = [new ClipVertex(), new ClipVertex()]; _local33 = [new ClipVertex(), new ClipVertex()]; _local34 = ClipSegmentToLine(_local32, _local21, _local27.Negative(), _local30); if (_local34 < 2){ return; }; _local34 = ClipSegmentToLine(_local33, _local32, _local27, _local31); if (_local34 < 2){ return; }; _arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy(); _local35 = 0; _local36 = 0; while (_local36 < b2Settings.b2_maxManifoldPoints) { _local6 = _local33[_local36]; _local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29); if (_local38 <= 0){ _local39 = _arg1.points[_local35]; _local39.separation = _local38; _local39.localPoint1 = b2Math.b2MulXT(_arg3, _local6.v); _local39.localPoint2 = b2Math.b2MulXT(_arg5, _local6.v); _local39.id.key = _local6.id._key; _local39.id.features.flip = _local18; _local35++; }; _local36++; }; _arg1.pointCount = _local35; } public static function FindMaxSeparation(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{ var _local6:int; var _local7:Array; var _local8:b2Vec2; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:int; var _local15:Number; var _local16:int; var _local17:Number; var _local18:int; var _local19:Number; var _local20:int; var _local21:Number; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; _local6 = _arg2.m_vertexCount; _local7 = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; _local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); _local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))); _local9 = _arg3.R; _local8 = _arg2.m_centroid; _local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)))); _local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)))); _local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); _local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); _local14 = 0; _local15 = -(Number.MAX_VALUE); _local16 = 0; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; _local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); _local19 = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; _local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; _local21 = EdgeSeparation(_arg2, _arg3, _local20, _arg4, _arg5); if (_local21 > 0){ return (_local21); }; if ((((_local19 > _local17)) && ((_local19 > _local21)))){ _local24 = -1; _local22 = _local18; _local23 = _local19; } else { if (_local21 > _local17){ _local24 = 1; _local22 = _local20; _local23 = _local21; } else { _arg1[0] = _local14; return (_local17); }; }; while (true) { if (_local24 == -1){ _local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1); } else { _local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0; }; _local17 = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; if (_local17 > _local23){ _local22 = _local14; _local23 = _local17; } else { break; }; }; _arg1[0] = _local22; return (_local23); } public static function ClipSegmentToLine(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{ var _local5:ClipVertex; var _local6:int; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:b2Vec2; var _local13:ClipVertex; _local6 = 0; _local5 = _arg2[0]; _local7 = _local5.v; _local5 = _arg2[1]; _local8 = _local5.v; _local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4); _local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4); if (_local9 <= 0){ var _temp1 = _local6; _local6 = (_local6 + 1); var _local14 = _temp1; _arg1[_local14] = _arg2[0]; }; if (_local10 <= 0){ var _temp2 = _local6; _local6 = (_local6 + 1); _local14 = _temp2; _arg1[_local14] = _arg2[1]; }; if ((_local9 * _local10) < 0){ _local11 = (_local9 / (_local9 - _local10)); _local5 = _arg1[_local6]; _local12 = _local5.v; _local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x))); _local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y))); _local5 = _arg1[_local6]; if (_local9 > 0){ _local13 = _arg2[0]; _local5.id = _local13.id; } else { _local13 = _arg2[1]; _local5.id = _local13.id; }; _local6++; }; return (_local6); } public static function b2CollideCircles(_arg1:b2Manifold, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2Mat22; var _local7:b2Vec2; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:b2ManifoldPoint; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; _local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; _local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); _local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local12 = (_local10 - _local8); _local13 = (_local11 - _local9); _local14 = ((_local12 * _local12) + (_local13 * _local13)); _local15 = _arg2.m_radius; _local16 = _arg4.m_radius; _local17 = (_local15 + _local16); if (_local14 > (_local17 * _local17)){ return; }; if (_local14 < Number.MIN_VALUE){ _local18 = -(_local17); _arg1.normal.Set(0, 1); } else { _local24 = Math.sqrt(_local14); _local18 = (_local24 - _local17); _local25 = (1 / _local24); _arg1.normal.x = (_local25 * _local12); _arg1.normal.y = (_local25 * _local13); }; _arg1.pointCount = 1; _local19 = _arg1.points[0]; _local19.id.key = 0; _local19.separation = _local18; _local8 = (_local8 + (_local15 * _arg1.normal.x)); _local9 = (_local9 + (_local15 * _arg1.normal.y)); _local10 = (_local10 - (_local16 * _arg1.normal.x)); _local11 = (_local11 - (_local16 * _arg1.normal.y)); _local20 = (0.5 * (_local8 + _local10)); _local21 = (0.5 * (_local9 + _local11)); _local22 = (_local20 - _arg3.position.x); _local23 = (_local21 - _arg3.position.y); _local19.localPoint1.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y)); _local19.localPoint1.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y)); _local22 = (_local20 - _arg5.position.x); _local23 = (_local21 - _arg5.position.y); _local19.localPoint2.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y)); _local19.localPoint2.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y)); } public static function b2CollidePolygonAndCircle(_arg1:b2Manifold, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{ var _local6:b2ManifoldPoint; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:b2Vec2; var _local12:b2Mat22; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:Number; var _local20:Number; var _local21:int; var _local22:Array; var _local23:Array; var _local24:int; var _local25:int; var _local26:int; var _local27:b2Vec2; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; _local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); _local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y))); _local7 = (_local13 - _arg3.position.x); _local8 = (_local14 - _arg3.position.y); _local12 = _arg3.R; _local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local18 = 0; _local19 = -(Number.MAX_VALUE); _local20 = _arg4.m_radius; _local21 = _arg2.m_vertexCount; _local22 = _arg2.m_vertices; _local23 = _arg2.m_normals; _local24 = 0; while (_local24 < _local21) { _local11 = _local22[_local24]; _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local11 = _local23[_local24]; _local34 = ((_local11.x * _local7) + (_local11.y * _local8)); if (_local34 > _local20){ return; }; if (_local34 > _local19){ _local19 = _local34; _local18 = _local24; }; _local24++; }; if (_local19 < Number.MIN_VALUE){ _arg1.pointCount = 1; _local11 = _local23[_local18]; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)); _arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)); _local6 = _arg1.points[0]; _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local19 - _local20); return; }; _local25 = _local18; _local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; _local27 = _local22[_local26]; _local28 = (_local27.x - _local11.x); _local29 = (_local27.y - _local11.y); _local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); _local31 = ((_local7 * _local28) + (_local8 * _local29)); _local6 = _arg1.points[0]; if (_local31 <= 0){ _local32 = _local11.x; _local33 = _local11.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local25; } else { if (_local31 >= _local30){ _local32 = _local27.x; _local33 = _local27.y; _local6.id.features.incidentEdge = b2_nullFeature; _local6.id.features.incidentVertex = _local26; } else { _local32 = ((_local28 * _local31) + _local11.x); _local33 = ((_local29 * _local31) + _local11.y); _local6.id.features.incidentEdge = _local18; _local6.id.features.incidentVertex = b2_nullFeature; }; }; _local7 = (_local15 - _local32); _local8 = (_local16 - _local33); _local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8))); _local7 = (_local7 / _local17); _local8 = (_local8 / _local17); if (_local17 > _local20){ return; }; _arg1.pointCount = 1; _local12 = _arg3.R; _arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8)); _arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8)); _local9 = (_local13 - (_local20 * _arg1.normal.x)); _local10 = (_local14 - (_local20 * _arg1.normal.y)); _local7 = (_local9 - _arg3.position.x); _local8 = (_local10 - _arg3.position.y); _local12 = _arg3.R; _local6.localPoint1.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint1.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local7 = (_local9 - _arg5.position.x); _local8 = (_local10 - _arg5.position.y); _local12 = _arg5.R; _local6.localPoint2.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); _local6.localPoint2.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); _local6.separation = (_local17 - _local20); _local6.id.features.referenceEdge = 0; _local6.id.features.flip = 0; } } }//package Box2D.Collision
Section 15
//b2ContactID (Box2D.Collision.b2ContactID) package Box2D.Collision { public class b2ContactID { public var _key:uint; public var features:Features; public function b2ContactID(){ features = new Features(); super(); features._m_id = this; } public function Set(_arg1:b2ContactID):void{ key = _arg1._key; } public function Copy():b2ContactID{ var _local1:b2ContactID; _local1 = new b2ContactID(); _local1.key = key; return (_local1); } public function get key():uint{ return (_key); } public function set key(_arg1:uint):void{ _key = _arg1; features._referenceEdge = (_key & 0xFF); features._incidentEdge = (((_key & 0xFF00) >> 8) & 0xFF); features._incidentVertex = (((_key & 0xFF0000) >> 16) & 0xFF); features._flip = (((_key & 4278190080) >> 24) & 0xFF); } } }//package Box2D.Collision
Section 16
//b2ContactPoint (Box2D.Collision.b2ContactPoint) package Box2D.Collision { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; public class b2ContactPoint { public var separation:Number; public var normal:b2Vec2; public var position:b2Vec2; public var restitution:Number; public var shape1:b2Shape; public var shape2:b2Shape; public var id:b2ContactID; public var friction:Number; public var velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 17
//b2Distance (Box2D.Collision.b2Distance) package Box2D.Collision { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Distance { private static var s_p2s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_p1s:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var s_points:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()]; private static var gPoint:b2Point = new b2Point(); public static var g_GJK_Iterations:int = 0; public static function InPoints(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{ var _local4:Number; var _local5:int; var _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = (100 * Number.MIN_VALUE); _local5 = 0; while (_local5 < _arg3) { _local6 = _arg2[_local5]; _local7 = Math.abs((_arg1.x - _local6.x)); _local8 = Math.abs((_arg1.y - _local6.y)); _local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x)); _local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y)); if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){ return (true); }; _local5++; }; return (false); } public static function DistanceGeneric(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{ var _local7:b2Vec2; var _local8:Array; var _local9:Array; var _local10:Array; var _local11:int; var _local12:Number; var _local13:int; var _local14:int; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:int; _local8 = s_p1s; _local9 = s_p2s; _local10 = s_points; _local11 = 0; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); _local12 = 0; _local13 = 20; _local14 = 0; while (_local14 < _local13) { _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local17 = _arg3.Support(_arg4, _local15, _local16); _local18 = _arg5.Support(_arg6, -(_local15), -(_local16)); _local12 = ((_local15 * _local15) + (_local16 * _local16)); _local19 = (_local18.x - _local17.x); _local20 = (_local18.y - _local17.y); _local21 = ((_local15 * _local19) + (_local16 * _local20)); if ((_local12 - _local21) <= (0.01 * _local12)){ if (_local11 == 0){ _arg1.SetV(_local17); _arg2.SetV(_local18); }; g_GJK_Iterations = _local14; return (Math.sqrt(_local12)); }; switch (_local11){ case 0: _local7 = _local8[0]; _local7.SetV(_local17); _local7 = _local9[0]; _local7.SetV(_local18); _local7 = _local10[0]; _local7.x = _local19; _local7.y = _local20; _arg1.SetV(_local8[0]); _arg2.SetV(_local9[0]); _local11++; break; case 1: _local7 = _local8[1]; _local7.SetV(_local17); _local7 = _local9[1]; _local7.SetV(_local18); _local7 = _local10[1]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessTwo(_arg1, _arg2, _local8, _local9, _local10); break; case 2: _local7 = _local8[2]; _local7.SetV(_local17); _local7 = _local9[2]; _local7.SetV(_local18); _local7 = _local10[2]; _local7.x = _local19; _local7.y = _local20; _local11 = ProcessThree(_arg1, _arg2, _local8, _local9, _local10); break; }; if (_local11 == 3){ g_GJK_Iterations = _local14; return (0); }; _local22 = -(Number.MAX_VALUE); _local23 = 0; while (_local23 < _local11) { _local7 = _local10[_local23]; _local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y))); _local23++; }; if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){ g_GJK_Iterations = _local14; _local15 = (_arg2.x - _arg1.x); _local16 = (_arg2.y - _arg1.y); _local12 = ((_local15 * _local15) + (_local16 * _local16)); return (Math.sqrt(_local12)); }; _local14++; }; g_GJK_Iterations = _local13; return (Math.sqrt(_local12)); } public static function DistanceCC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; _local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; _local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = ((_local13 * _local13) + (_local14 * _local14)); _local16 = (_arg3.m_radius - b2Settings.b2_toiSlop); _local17 = (_arg5.m_radius - b2Settings.b2_toiSlop); _local18 = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(_local15); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _local20 = (_local19 - _local18); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = (_local11 - (_local17 * _local13)); _arg2.y = (_local12 - (_local17 * _local14)); return (_local20); }; if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){ _local19 = Math.sqrt(_local15); _local13 = (_local13 / _local19); _local14 = (_local14 / _local19); _arg1.x = (_local9 + (_local16 * _local13)); _arg1.y = (_local10 + (_local16 * _local14)); _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); }; _arg1.x = _local9; _arg1.y = _local10; _arg2.x = _arg1.x; _arg2.y = _arg1.y; return (0); } public static function ProcessThree(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:b2Vec2; var _local13:b2Vec2; var _local14:b2Vec2; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg5[2]; _local9 = _arg3[0]; _local10 = _arg3[1]; _local11 = _arg3[2]; _local12 = _arg4[0]; _local13 = _arg4[1]; _local14 = _arg4[2]; _local15 = _local6.x; _local16 = _local6.y; _local17 = _local7.x; _local18 = _local7.y; _local19 = _local8.x; _local20 = _local8.y; _local21 = (_local17 - _local15); _local22 = (_local18 - _local16); _local23 = (_local19 - _local15); _local24 = (_local20 - _local16); _local25 = (_local19 - _local17); _local26 = (_local20 - _local18); _local27 = -(((_local15 * _local21) + (_local16 * _local22))); _local28 = ((_local17 * _local21) + (_local18 * _local22)); _local29 = -(((_local15 * _local23) + (_local16 * _local24))); _local30 = ((_local19 * _local23) + (_local20 * _local24)); _local31 = -(((_local17 * _local25) + (_local18 * _local26))); _local32 = ((_local19 * _local25) + (_local20 * _local26)); if ((((_local30 <= 0)) && ((_local32 <= 0)))){ _arg1.SetV(_local11); _arg2.SetV(_local14); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (1); }; _local33 = ((_local21 * _local24) - (_local22 * _local23)); _local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); _local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19))); if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){ _local35 = (_local31 / (_local31 + _local32)); _arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x))); _arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y))); _arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x))); _arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y))); _local9.SetV(_local11); _local12.SetV(_local14); _local6.SetV(_local8); return (2); }; _local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15))); if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){ _local35 = (_local29 / (_local29 + _local30)); _arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x))); _arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y))); _arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x))); _arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y))); _local10.SetV(_local11); _local13.SetV(_local14); _local7.SetV(_local8); return (2); }; _local38 = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); _local39 = (_local36 * _local38); _local40 = (_local37 * _local38); _local41 = ((1 - _local39) - _local40); _arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x)); _arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y)); _arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x)); _arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y)); return (3); } public static function DistancePC(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{ var _local7:b2Mat22; var _local8:b2Vec2; var _local9:b2Point; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local9 = gPoint; _local8 = _arg5.m_localPosition; _local7 = _arg6.R; _local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); _local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local10 = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); _local11 = (_arg5.m_radius - b2Settings.b2_toiSlop); if (_local10 > _local11){ _local10 = (_local10 - _local11); _local12 = (_arg2.x - _arg1.x); _local13 = (_arg2.y - _arg1.y); _local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13))); _local12 = (_local12 / _local14); _local13 = (_local13 / _local14); _arg2.x = (_arg2.x - (_local11 * _local12)); _arg2.y = (_arg2.y - (_local11 * _local13)); } else { _local10 = 0; _arg2.x = _arg1.x; _arg2.y = _arg1.y; }; return (_local10); } public static function Distance(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{ var _local7:int; var _local8:int; _local7 = _arg3.m_type; _local8 = _arg5.m_type; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistanceCC(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){ return (DistancePC(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6)); }; if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistancePC(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4)); }; if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){ return (DistanceGeneric(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6)); }; return (0); } public static function ProcessTwo(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{ var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local6 = _arg5[0]; _local7 = _arg5[1]; _local8 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; _local12 = -(_local7.x); _local13 = -(_local7.y); _local14 = (_local6.x - _local7.x); _local15 = (_local6.y - _local7.y); _local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15))); _local14 = (_local14 / _local16); _local15 = (_local15 / _local16); _local17 = ((_local12 * _local14) + (_local13 * _local15)); if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){ _arg1.SetV(_local9); _arg2.SetV(_local11); _local8.SetV(_local9); _local10.SetV(_local11); _local6.SetV(_local7); return (1); }; _local17 = (_local17 / _local16); _arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x))); _arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y))); _arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x))); _arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y))); return (2); } } }//package Box2D.Collision
Section 18
//b2Manifold (Box2D.Collision.b2Manifold) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2Manifold { public var points:Array; public var pointCount:int;// = 0 public var normal:b2Vec2; public function b2Manifold(){ var _local1:int; pointCount = 0; super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ var _local2:int; pointCount = _arg1.pointCount; _local2 = 0; while (_local2 < b2Settings.b2_maxManifoldPoints) { (points[_local2] as b2ManifoldPoint).Set(_arg1.points[_local2]); _local2++; }; normal.SetV(_arg1.normal); } public function Reset():void{ var _local1:int; _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package Box2D.Collision
Section 19
//b2ManifoldPoint (Box2D.Collision.b2ManifoldPoint) package Box2D.Collision { import Box2D.Common.Math.*; public class b2ManifoldPoint { public var separation:Number; public var localPoint2:b2Vec2; public var normalImpulse:Number; public var tangentImpulse:Number; public var localPoint1:b2Vec2; public var id:b2ContactID; public function b2ManifoldPoint(){ localPoint1 = new b2Vec2(); localPoint2 = new b2Vec2(); id = new b2ContactID(); super(); } public function Set(_arg1:b2ManifoldPoint):void{ localPoint1.SetV(_arg1.localPoint1); localPoint2.SetV(_arg1.localPoint2); separation = _arg1.separation; normalImpulse = _arg1.normalImpulse; tangentImpulse = _arg1.tangentImpulse; id.key = _arg1.id.key; } public function Reset():void{ localPoint1.SetZero(); localPoint2.SetZero(); separation = 0; normalImpulse = 0; tangentImpulse = 0; id.key = 0; } } }//package Box2D.Collision
Section 20
//b2OBB (Box2D.Collision.b2OBB) package Box2D.Collision { import Box2D.Common.Math.*; public class b2OBB { public var R:b2Mat22; public var center:b2Vec2; public var extents:b2Vec2; public function b2OBB(){ R = new b2Mat22(); center = new b2Vec2(); extents = new b2Vec2(); super(); } } }//package Box2D.Collision
Section 21
//b2Pair (Box2D.Collision.b2Pair) package Box2D.Collision { import Box2D.Common.*; public class b2Pair { public var userData;// = null public var proxyId1:uint; public var proxyId2:uint; public var status:uint; public var next:uint; public static var e_pairFinal:uint = 4; public static var b2_tableMask:int = (b2_tableCapacity - 1); public static var e_pairRemoved:uint = 2; public static var b2_nullPair:uint = b2Settings.USHRT_MAX; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = b2Settings.USHRT_MAX; public static var b2_tableCapacity:int = b2Settings.b2_maxPairs; public function b2Pair(){ userData = null; super(); } public function SetBuffered():void{ status = (status | e_pairBuffered); } public function IsBuffered():Boolean{ return (((status & e_pairBuffered) == e_pairBuffered)); } public function IsFinal():Boolean{ return (((status & e_pairFinal) == e_pairFinal)); } public function ClearRemoved():void{ status = (status & ~(e_pairRemoved)); } public function SetFinal():void{ status = (status | e_pairFinal); } public function IsRemoved():Boolean{ return (((status & e_pairRemoved) == e_pairRemoved)); } public function ClearBuffered():void{ status = (status & ~(e_pairBuffered)); } public function SetRemoved():void{ status = (status | e_pairRemoved); } } }//package Box2D.Collision
Section 22
//b2PairCallback (Box2D.Collision.b2PairCallback) package Box2D.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package Box2D.Collision
Section 23
//b2PairManager (Box2D.Collision.b2PairManager) package Box2D.Collision { import Box2D.Common.Math.*; import Box2D.Common.*; public class b2PairManager { public var m_pairCount:int; public var m_pairBuffer:Array; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_pairBufferCount:int; public var m_hashTable:Array; public var m_broadPhase:b2BroadPhase; public var m_freePair:uint; public function b2PairManager(){ var _local1:uint; super(); m_hashTable = new Array(b2Pair.b2_tableCapacity); _local1 = 0; while (_local1 < b2Pair.b2_tableCapacity) { m_hashTable[_local1] = b2Pair.b2_nullPair; _local1++; }; m_pairs = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1] = new b2Pair(); _local1++; }; m_pairBuffer = new Array(b2Settings.b2_maxPairs); _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairBuffer[_local1] = new b2BufferedPair(); _local1++; }; _local1 = 0; while (_local1 < b2Settings.b2_maxPairs) { m_pairs[_local1].proxyId1 = b2Pair.b2_nullProxy; m_pairs[_local1].proxyId2 = b2Pair.b2_nullProxy; m_pairs[_local1].userData = null; m_pairs[_local1].status = 0; m_pairs[_local1].next = (_local1 + 1); _local1++; }; m_pairs[int((b2Settings.b2_maxPairs - 1))].next = b2Pair.b2_nullPair; m_pairCount = 0; m_pairBufferCount = 0; } private function FindHash(_arg1:uint, _arg2:uint, _arg3:uint):b2Pair{ var _local4:b2Pair; var _local5:uint; _local5 = m_hashTable[_arg3]; _local4 = m_pairs[_local5]; while (((!((_local5 == b2Pair.b2_nullPair))) && ((Equals(_local4, _arg1, _arg2) == false)))) { _local5 = _local4.next; _local4 = m_pairs[_local5]; }; if (_local5 == b2Pair.b2_nullPair){ return (null); }; return (_local4); } private function Find(_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); return (FindHash(_arg1, _arg2, _local3)); } private function ValidateBuffer():void{ } public function Commit():void{ var _local1:b2BufferedPair; var _local2:int; var _local3:int; var _local4:Array; var _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; _local3 = 0; _local4 = m_broadPhase.m_proxyPool; _local2 = 0; while (_local2 < m_pairBufferCount) { _local1 = m_pairBuffer[_local2]; _local5 = Find(_local1.proxyId1, _local1.proxyId2); _local5.ClearBuffered(); _local6 = _local4[_local5.proxyId1]; _local7 = _local4[_local5.proxyId2]; if (_local5.IsRemoved()){ if (_local5.IsFinal() == true){ m_callback.PairRemoved(_local6.userData, _local7.userData, _local5.userData); }; _local1 = m_pairBuffer[_local3]; _local1.proxyId1 = _local5.proxyId1; _local1.proxyId2 = _local5.proxyId2; _local3++; } else { if (_local5.IsFinal() == false){ _local5.userData = m_callback.PairAdded(_local6.userData, _local7.userData); _local5.SetFinal(); }; }; _local2++; }; _local2 = 0; while (_local2 < _local3) { _local1 = m_pairBuffer[_local2]; RemovePair(_local1.proxyId1, _local1.proxyId2); _local2++; }; m_pairBufferCount = 0; if (b2BroadPhase.s_validate){ ValidateTable(); }; } public function RemoveBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = Find(_arg1, _arg2); if (_local4 == null){ return; }; if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.SetRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } private function RemovePair(_arg1:uint, _arg2:uint){ var _local3:b2Pair; var _local4:uint; var _local5:uint; var _local6:b2Pair; var _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; _local4 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local5 = m_hashTable[_local4]; _local6 = null; while (_local5 != b2Pair.b2_nullPair) { if (Equals(m_pairs[_local5], _arg1, _arg2)){ _local8 = _local5; _local3 = m_pairs[_local5]; if (_local6){ _local6.next = _local3.next; } else { m_hashTable[_local4] = _local3.next; }; _local3 = m_pairs[_local8]; _local9 = _local3.userData; _local3.next = m_freePair; _local3.proxyId1 = b2Pair.b2_nullProxy; _local3.proxyId2 = b2Pair.b2_nullProxy; _local3.userData = null; _local3.status = 0; m_freePair = _local8; m_pairCount--; return (_local9); } else { _local6 = m_pairs[_local5]; _local5 = _local6.next; }; }; return (null); } public function Initialize(_arg1:b2BroadPhase, _arg2:b2PairCallback):void{ m_broadPhase = _arg1; m_callback = _arg2; } public function AddBufferedPair(_arg1:int, _arg2:int):void{ var _local3:b2BufferedPair; var _local4:b2Pair; _local4 = AddPair(_arg1, _arg2); if (_local4.IsBuffered() == false){ _local4.SetBuffered(); _local3 = m_pairBuffer[m_pairBufferCount]; _local3.proxyId1 = _local4.proxyId1; _local3.proxyId2 = _local4.proxyId2; m_pairBufferCount++; }; _local4.ClearRemoved(); if (b2BroadPhase.s_validate){ ValidateBuffer(); }; } private function AddPair(_arg1:uint, _arg2:uint):b2Pair{ var _local3:uint; var _local4:b2Pair; var _local5:uint; var _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; _local3 = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; _local5 = m_freePair; _local4 = m_pairs[_local5]; m_freePair = _local4.next; _local4.proxyId1 = _arg1; _local4.proxyId2 = _arg2; _local4.status = 0; _local4.userData = null; _local4.next = m_hashTable[_local3]; m_hashTable[_local3] = _local5; m_pairCount++; return (_local4); } private function ValidateTable():void{ } public static function EqualsPair(_arg1:b2BufferedPair, _arg2:b2BufferedPair):Boolean{ return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2)))); } public static function Hash(_arg1:uint, _arg2:uint):uint{ var _local3:uint; _local3 = (((_arg2 << 16) & 4294901760) | _arg1); _local3 = (~(_local3) + ((_local3 << 15) & 4294934528)); _local3 = (_local3 ^ ((_local3 >> 12) & 1048575)); _local3 = (_local3 + ((_local3 << 2) & 4294967292)); _local3 = (_local3 ^ ((_local3 >> 4) & 268435455)); _local3 = (_local3 * 2057); _local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF)); return (_local3); } public static function Equals(_arg1:b2Pair, _arg2:uint, _arg3:uint):Boolean{ return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3)))); } } }//package Box2D.Collision
Section 24
//b2Point (Box2D.Collision.b2Point) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Point { public var p:b2Vec2; public function b2Point(){ p = new b2Vec2(); super(); } public function GetFirstVertex(_arg1:b2XForm):b2Vec2{ return (p); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ return (p); } } }//package Box2D.Collision
Section 25
//b2Proxy (Box2D.Collision.b2Proxy) package Box2D.Collision { public class b2Proxy { public var overlapCount:uint; public var lowerBounds:Array; public var upperBounds:Array; public var userData;// = null public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; userData = null; super(); } public function GetNext():uint{ return (lowerBounds[0]); } public function IsValid():Boolean{ return (!((overlapCount == b2BroadPhase.b2_invalid))); } public function SetNext(_arg1:uint):void{ lowerBounds[0] = (_arg1 & 0xFFFF); } } }//package Box2D.Collision
Section 26
//b2Segment (Box2D.Collision.b2Segment) package Box2D.Collision { import Box2D.Common.Math.*; public class b2Segment { public var p1:b2Vec2; public var p2:b2Vec2; public function b2Segment(){ p1 = new b2Vec2(); p2 = new b2Vec2(); super(); } public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:b2Segment, _arg4:Number):Boolean{ var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; _local5 = _arg3.p1; _local6 = (_arg3.p2.x - _local5.x); _local7 = (_arg3.p2.y - _local5.y); _local8 = (p2.x - p1.x); _local9 = (p2.y - p1.y); _local10 = _local9; _local11 = -(_local8); _local12 = (100 * Number.MIN_VALUE); _local13 = -(((_local6 * _local10) + (_local7 * _local11))); if (_local13 > _local12){ _local14 = (_local5.x - p1.x); _local15 = (_local5.y - p1.y); _local16 = ((_local14 * _local10) + (_local15 * _local11)); if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){ _local17 = ((-(_local6) * _local15) + (_local7 * _local14)); if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){ _local16 = (_local16 / _local13); _local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); _local10 = (_local10 / _local18); _local11 = (_local11 / _local18); _arg1[0] = _local16; _arg2.Set(_local10, _local11); return (true); }; }; }; return (false); } } }//package Box2D.Collision
Section 27
//b2TimeOfImpact (Box2D.Collision.b2TimeOfImpact) package Box2D.Collision { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Common.*; public class b2TimeOfImpact { public static var s_xf1:b2XForm = new b2XForm(); public static var s_xf2:b2XForm = new b2XForm(); public static var s_p1:b2Vec2 = new b2Vec2(); public static var s_p2:b2Vec2 = new b2Vec2(); public static function TimeOfImpact(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:b2Vec2; var _local19:int; var _local20:int; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; _local7 = _arg1.m_sweepRadius; _local8 = _arg3.m_sweepRadius; _local9 = _arg2.t0; _local10 = (_arg2.c.x - _arg2.c0.x); _local11 = (_arg2.c.y - _arg2.c0.y); _local12 = (_arg4.c.x - _arg4.c0.x); _local13 = (_arg4.c.y - _arg4.c0.y); _local14 = (_arg2.a - _arg2.a0); _local15 = (_arg4.a - _arg4.a0); _local16 = 0; _local17 = s_p1; _local18 = s_p2; _local19 = 20; _local20 = 0; _local21 = 0; _local22 = 0; _local23 = 0; _local24 = 0; while (true) { _local25 = (((1 - _local16) * _local9) + _local16); _local26 = s_xf1; _local27 = s_xf2; _arg2.GetXForm(_local26, _local25); _arg4.GetXForm(_local27, _local25); _local23 = b2Distance.Distance(_local17, _local18, _arg1, _local26, _arg3, _local27); if (_local20 == 0){ if (_local23 > (2 * b2Settings.b2_toiSlop)){ _local24 = (1.5 * b2Settings.b2_toiSlop); } else { _local5 = (0.05 * b2Settings.b2_toiSlop); _local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop)); _local24 = ((_local5 > _local6)) ? _local5 : _local6; }; }; if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){ break; }; _local21 = (_local18.x - _local17.x); _local22 = (_local18.y - _local17.y); _local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22))); _local21 = (_local21 / _local28); _local22 = (_local22 / _local28); _local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8)); if (_local29 == 0){ _local16 = 1; break; }; _local30 = ((_local23 - _local24) / _local29); _local31 = (_local16 + _local30); if ((((_local31 < 0)) || ((1 < _local31)))){ _local16 = 1; break; }; if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){ break; }; _local16 = _local31; _local20++; }; return (_local16); } } }//package Box2D.Collision
Section 28
//ClipVertex (Box2D.Collision.ClipVertex) package Box2D.Collision { import Box2D.Common.Math.*; public class ClipVertex { public var v:b2Vec2; public var id:b2ContactID; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Collision
Section 29
//Features (Box2D.Collision.Features) package Box2D.Collision { public class Features { public var _referenceEdge:int; public var _incidentEdge:int; public var _flip:int; public var _incidentVertex:int; public var _m_id:b2ContactID; public function get referenceEdge():int{ return (_referenceEdge); } public function set incidentVertex(_arg1:int):void{ _incidentVertex = _arg1; _m_id._key = ((_m_id._key & 4278255615) | ((_incidentVertex << 16) & 0xFF0000)); } public function get flip():int{ return (_flip); } public function get incidentEdge():int{ return (_incidentEdge); } public function set referenceEdge(_arg1:int):void{ _referenceEdge = _arg1; _m_id._key = ((_m_id._key & 4294967040) | (_referenceEdge & 0xFF)); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function get incidentVertex():int{ return (_incidentVertex); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } } }//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22) package Box2D.Common.Math { public class b2Mat22 { public var col1:b2Vec2; public var col2:b2Vec2; public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){ var _local4:Number; var _local5:Number; col1 = new b2Vec2(); col2 = new b2Vec2(); super(); if (((!((_arg2 == null))) && (!((_arg3 == null))))){ col1.SetV(_arg2); col2.SetV(_arg3); } else { _local4 = Math.cos(_arg1); _local5 = Math.sin(_arg1); col1.x = _local4; col2.x = -(_local5); col1.y = _local5; col2.y = _local4; }; } public function SetIdentity():void{ col1.x = 1; col2.x = 0; col1.y = 0; col2.y = 1; } public function Set(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = Math.cos(_arg1); _local3 = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function SetZero():void{ col1.x = 0; col2.x = 0; col1.y = 0; col2.y = 0; } public function SetM(_arg1:b2Mat22):void{ col1.SetV(_arg1.col1); col2.SetV(_arg1.col2); } public function AddM(_arg1:b2Mat22):void{ col1.x = (col1.x + _arg1.col1.x); col1.y = (col1.y + _arg1.col1.y); col2.x = (col2.x + _arg1.col2.x); col2.y = (col2.y + _arg1.col2.y); } public function Abs():void{ col1.Abs(); col2.Abs(); } public function Copy():b2Mat22{ return (new b2Mat22(0, col1, col2)); } public function Invert(_arg1:b2Mat22):b2Mat22{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = col1.x; _local3 = col2.x; _local4 = col1.y; _local5 = col2.y; _local6 = ((_local2 * _local5) - (_local3 * _local4)); _local6 = (1 / _local6); _arg1.col1.x = (_local6 * _local5); _arg1.col2.x = (-(_local6) * _local3); _arg1.col1.y = (-(_local6) * _local4); _arg1.col2.y = (_local6 * _local2); return (_arg1); } public function GetAngle():Number{ return (Math.atan2(col1.y, col1.x)); } public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; _local4 = col1.x; _local5 = col2.x; _local6 = col1.y; _local7 = col2.y; _local8 = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math) package Box2D.Common.Math { public class b2Math { public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1)); public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity); public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0); public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)); return (_local3); } public static function b2IsValid(_arg1:Number):Boolean{ return (isFinite(_arg1)); } public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y)); return (_local3); } public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = b2MulMV(_arg1.R, _arg2); _local3.x = (_local3.x + _arg1.position.x); _local3.y = (_local3.y + _arg1.position.y); return (_local3); } public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:*; _local3 = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22; _local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)); return (_local3); } public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; var _local4:Number; _local3 = SubtractVV(_arg2, _arg1.position); _local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y)); _local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y)); _local3.x = _local4; return (_local3); } public static function b2Abs(_arg1:Number):Number{ return (((_arg1 > 0)) ? _arg1 : -(_arg1)); } public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{ return (b2Max(_arg2, b2Min(_arg1, _arg3))); } public static function b2AbsV(_arg1:b2Vec2):b2Vec2{ var _local2:b2Vec2; _local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y)); return (_local3); } public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x))); } public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{ return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y))); } public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2)); return (_local3); } public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{ var _local3:Number; var _local4:Number; _local3 = (_arg1.x - _arg2.x); _local4 = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2Mat22; _local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); _local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); _local5 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean; _local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0))); return (_local2); } public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{ return (b2MaxV(_arg2, b2MinV(_arg1, _arg3))); } public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{ var _local3:Number; _local3 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2)); return (_local3); } public static function b2Min(_arg1:Number, _arg2:Number):Number{ return (((_arg1 < _arg2)) ? _arg1 : _arg2); } public static function b2Random():Number{ return (((Math.random() * 2) - 1)); } public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22; _local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2)); return (_local3); } public static function b2NextPowerOfTwo(_arg1:uint):uint{ _arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647)); _arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823)); _arg1 = (_arg1 | ((_arg1 >> 4) & 268435455)); _arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF)); _arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF)); return ((_arg1 + 1)); } public static function b2Max(_arg1:Number, _arg2:Number):Number{ return (((_arg1 > _arg2)) ? _arg1 : _arg2); } public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2; _local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y))); return (_local3); } } }//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep) package Box2D.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var c:b2Vec2; public var a:Number; public var c0:b2Vec2; public var a0:Number; public var t0:Number; public function b2Sweep(){ localCenter = new b2Vec2(); c0 = new b2Vec2(); c = new b2Vec2(); super(); } public function Advance(_arg1:Number):void{ var _local2:Number; if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){ _local2 = ((_arg1 - t0) / (1 - t0)); c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x)); c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y)); a0 = (((1 - _local2) * a0) + (_local2 * a)); t0 = _arg1; }; } public function GetXForm(_arg1:b2XForm, _arg2:Number):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; if ((1 - t0) > Number.MIN_VALUE){ _local4 = ((_arg2 - t0) / (1 - t0)); _arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x)); _arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y)); _local5 = (((1 - _local4) * a0) + (_local4 * a)); _arg1.R.Set(_local5); } else { _arg1.position.SetV(c); _arg1.R.Set(a); }; _local3 = _arg1.R; _arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y))); _arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y))); } } }//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2) package Box2D.Common.Math { public class b2Vec2 { public var x:Number; public var y:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Set(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Multiply(_arg1:Number):void{ x = (x * _arg1); y = (y * _arg1); } public function Length():Number{ return (Math.sqrt(((x * x) + (y * y)))); } public function LengthSquared():Number{ return (((x * x) + (y * y))); } public function SetZero():void{ x = 0; y = 0; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } public function MaxV(_arg1:b2Vec2):void{ x = ((x > _arg1.x)) ? x : _arg1.x; y = ((y > _arg1.y)) ? y : _arg1.y; } public function SetV(_arg1:b2Vec2):void{ x = _arg1.x; y = _arg1.y; } public function Negative():b2Vec2{ return (new b2Vec2(-(x), -(y))); } public function CrossVF(_arg1:Number):void{ var _local2:Number; _local2 = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number; _local2 = b2Math.b2Dot(this, _arg1.col1); y = b2Math.b2Dot(this, _arg1.col2); x = _local2; } public function IsValid():Boolean{ return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y)))); } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function MulM(_arg1:b2Mat22):void{ var _local2:Number; _local2 = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function Normalize():Number{ var _local1:Number; var _local2:Number; _local1 = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; _local2 = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function CrossFV(_arg1:Number):void{ var _local2:Number; _local2 = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm) package Box2D.Common.Math { public class b2XForm { public var R:b2Mat22; public var position:b2Vec2; public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{ position = new b2Vec2(); R = new b2Mat22(); super(); if (_arg1){ position.SetV(_arg1); R.SetM(_arg2); }; } public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{ position.SetV(_arg1); R.SetM(_arg2); } public function Set(_arg1:b2XForm):void{ position.SetV(_arg1.position); R.SetM(_arg1.R); } public function SetIdentity():void{ position.SetZero(); R.SetIdentity(); } } }//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color) package Box2D.Common { import Box2D.Common.Math.*; public class b2Color { private var _g:uint;// = 0 private var _b:uint;// = 0 private var _r:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _r = 0; _g = 0; _b = 0; super(); _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); _g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1))); _b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1))); } public function get color():uint{ return (((_r | (_g << 8)) | (_b << 16))); } public function set r(_arg1:Number):void{ _r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } public function set g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings) package Box2D.Common { import Box2D.Common.Math.*; public class b2Settings { public static const b2_angularSleepTolerance:Number = 0.0111111111111111; public static const b2_linearSleepTolerance:Number = 0.01; public static const b2_angularSlop:Number = 0.0349065850398866; public static const b2_linearSlop:Number = 0.005; public static const b2_pi:Number = 3.14159265358979; public static const b2_maxProxies:int = 0x0200; public static const b2_maxAngularVelocitySquared:Number = 62500; public static const b2_maxPolygonVertices:int = 8; public static const b2_velocityThreshold:Number = 1; public static const b2_contactBaumgarte:Number = 0.2; public static const b2_maxPairs:int = 4096; public static const b2_maxTOIContactsPerIsland:int = 32; public static const b2_timeToSleep:Number = 0.5; public static const b2_maxManifoldPoints:int = 2; public static const b2_maxAngularVelocity:Number = 250; public static const b2_maxAngularCorrection:Number = 0.139626340159546; public static const USHRT_MAX:int = 0xFFFF; public static const b2_maxLinearVelocity:Number = 200; public static const b2_maxLinearCorrection:Number = 0.2; public static const b2_toiSlop:Number = 0.04; public static const b2_maxLinearVelocitySquared:Number = 40000; public static function b2Assert(_arg1:Boolean):void{ var _local2:b2Vec2; if (!_arg1){ _local2.x++; }; } } }//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint; m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:b2ManifoldPoint; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollideCircles(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf); _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ m_manifoldCount = 1; _local8 = m_manifold.points[0]; if (m0.pointCount == 0){ _local8.normalImpulse = 0; _local8.tangentImpulse = 0; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Add(_local7); }; } else { _local4 = m0.points[0]; _local8.normalImpulse = _local4.normalImpulse; _local8.tangentImpulse = _local4.tangentImpulse; if (_arg1){ _local7.position = _local5.GetWorldPoint(_local8.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local8.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local8.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local8.separation; _local7.id.key = _local8.id._key; _arg1.Persist(_local7); }; }; } else { m_manifoldCount = 0; if ((((m0.pointCount > 0)) && (_arg1))){ _local4 = m0.points[0]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact) package Box2D.Dynamics.Contacts { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2Contact { public var m_shape1:b2Shape; public var m_shape2:b2Shape; public var m_prev:b2Contact; public var m_toi:Number; public var m_next:b2Contact; public var m_friction:Number; public var m_manifoldCount:int; public var m_node1:b2ContactEdge; public var m_node2:b2ContactEdge; public var m_restitution:Number; public var m_flags:uint; public static var e_toiFlag:uint = 8; public static var e_nonSolidFlag:uint = 1; public static var e_slowFlag:uint = 2; public static var e_islandFlag:uint = 4; public static var s_registers:Array; public static var s_initialized:Boolean = false; public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){ m_node1 = new b2ContactEdge(); m_node2 = new b2ContactEdge(); super(); m_flags = 0; if (((!(_arg1)) || (!(_arg2)))){ m_shape1 = null; m_shape2 = null; return; }; if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){ m_flags = (m_flags | e_nonSolidFlag); }; m_shape1 = _arg1; m_shape2 = _arg2; m_manifoldCount = 0; m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction)); m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution); m_prev = null; m_next = null; m_node1.contact = null; m_node1.prev = null; m_node1.next = null; m_node1.other = null; m_node2.contact = null; m_node2.prev = null; m_node2.next = null; m_node2.other = null; } public function GetShape1():b2Shape{ return (m_shape1); } public function IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetNext():b2Contact{ return (m_next); } public function GetManifolds():Array{ return (null); } public function GetShape2():b2Shape{ return (m_shape2); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function Update(_arg1:b2ContactListener):void{ var _local2:int; var _local3:int; var _local4:b2Body; var _local5:b2Body; _local2 = m_manifoldCount; Evaluate(_arg1); _local3 = m_manifoldCount; _local4 = m_shape1.m_body; _local5 = m_shape2.m_body; if ((((_local3 == 0)) && ((_local2 > 0)))){ _local4.WakeUp(); _local5.WakeUp(); }; if (((((((_local4.IsStatic()) || (_local4.IsBullet()))) || (_local5.IsStatic()))) || (_local5.IsBullet()))){ m_flags = (m_flags & ~(e_slowFlag)); } else { m_flags = (m_flags | e_slowFlag); }; } public function Evaluate(_arg1:b2ContactListener):void{ } public static function InitializeRegisters():void{ var _local1:int; var _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); _local1 = 0; while (_local1 < b2Shape.e_shapeTypeCount) { s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount); _local2 = 0; while (_local2 < b2Shape.e_shapeTypeCount) { s_registers[_local1][_local2] = new b2ContactRegister(); _local2++; }; _local1++; }; AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape); AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape); AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape); } public static function Destroy(_arg1:b2Contact, _arg2):void{ var _local3:int; var _local4:int; var _local5:b2ContactRegister; var _local6:Function; if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; _local3 = _arg1.m_shape1.m_type; _local4 = _arg1.m_shape2.m_type; _local5 = s_registers[_local3][_local4]; _local6 = _local5.destroyFcn; _local6(_arg1, _arg2); } public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{ s_registers[_arg3][_arg4].createFcn = _arg1; s_registers[_arg3][_arg4].destroyFcn = _arg2; s_registers[_arg3][_arg4].primary = true; if (_arg3 != _arg4){ s_registers[_arg4][_arg3].createFcn = _arg1; s_registers[_arg4][_arg3].destroyFcn = _arg2; s_registers[_arg4][_arg3].primary = false; }; } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ var _local4:int; var _local5:int; var _local6:b2ContactRegister; var _local7:Function; var _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; _local4 = _arg1.m_type; _local5 = _arg2.m_type; _local6 = s_registers[_local4][_local5]; _local7 = _local6.createFcn; if (_local7 != null){ if (_local6.primary){ return (_local7(_arg1, _arg2, _arg3)); }; _local8 = _local7(_arg2, _arg1, _arg3); _local9 = 0; while (_local9 < _local8.m_manifoldCount) { _local10 = _local8.GetManifolds()[_local9]; _local8.GetManifolds()[_local9].normal = _local10.normal.Negative(); _local9++; }; return (_local8); //unresolved jump }; return (null); } } }//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactConstraint { public var points:Array; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var normal:b2Vec2; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ var _local1:int; normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); _local1 = 0; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var equalizedMass:Number; public var tangentMass:Number; public var tangentImpulse:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var normalMass:Number; public var velocityBias:Number; public var r1:b2Vec2; public function b2ContactConstraintPoint(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); r1 = new b2Vec2(); r2 = new b2Vec2(); super(); } } }//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2ContactEdge { public var next:b2ContactEdge; public var other:b2Body; public var contact:b2Contact; public var prev:b2ContactEdge; } }//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister) package Box2D.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult) package Box2D.Dynamics.Contacts { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Collision.*; public class b2ContactResult { public var normal:b2Vec2; public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver) package Box2D.Dynamics.Contacts { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2ContactSolver { public var m_constraintCount:int; public var m_constraints:Array; public var m_allocator; public var m_step:b2TimeStep; public function b2ContactSolver(_arg1:b2TimeStep, _arg2:Array, _arg3:int, _arg4){ var _local5:b2Contact; var _local6:int; var _local7:b2Vec2; var _local8:b2Mat22; var _local9:int; var _local10:b2Body; var _local11:b2Body; var _local12:int; var _local13:Array; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:b2Manifold; var _local24:Number; var _local25:Number; var _local26:b2ContactConstraint; var _local27:uint; var _local28:b2ManifoldPoint; var _local29:b2ContactConstraintPoint; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; m_step = new b2TimeStep(); m_constraints = new Array(); super(); m_step.dt = _arg1.dt; m_step.inv_dt = _arg1.inv_dt; m_step.maxIterations = _arg1.maxIterations; m_allocator = _arg4; m_constraintCount = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; m_constraintCount = (m_constraintCount + _local5.m_manifoldCount); _local6++; }; _local6 = 0; while (_local6 < m_constraintCount) { m_constraints[_local6] = new b2ContactConstraint(); _local6++; }; _local9 = 0; _local6 = 0; while (_local6 < _arg3) { _local5 = _arg2[_local6]; _local10 = _local5.m_shape1.m_body; _local11 = _local5.m_shape2.m_body; _local12 = _local5.m_manifoldCount; _local13 = _local5.GetManifolds(); _local14 = _local5.m_friction; _local15 = _local5.m_restitution; _local16 = _local10.m_linearVelocity.x; _local17 = _local10.m_linearVelocity.y; _local18 = _local11.m_linearVelocity.x; _local19 = _local11.m_linearVelocity.y; _local20 = _local10.m_angularVelocity; _local21 = _local11.m_angularVelocity; _local22 = 0; while (_local22 < _local12) { _local23 = _local13[_local22]; _local24 = _local23.normal.x; _local25 = _local23.normal.y; _local26 = m_constraints[_local9]; _local26.body1 = _local10; _local26.body2 = _local11; _local26.manifold = _local23; _local26.normal.x = _local24; _local26.normal.y = _local25; _local26.pointCount = _local23.pointCount; _local26.friction = _local14; _local26.restitution = _local15; _local27 = 0; while (_local27 < _local26.pointCount) { _local28 = _local23.points[_local27]; _local29 = _local26.points[_local27]; _local29.normalImpulse = _local28.normalImpulse; _local29.tangentImpulse = _local28.tangentImpulse; _local29.separation = _local28.separation; _local29.positionImpulse = 0; _local29.localAnchor1.SetV(_local28.localPoint1); _local29.localAnchor2.SetV(_local28.localPoint2); _local8 = _local10.m_xf.R; _local32 = (_local28.localPoint1.x - _local10.m_sweep.localCenter.x); _local33 = (_local28.localPoint1.y - _local10.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33)); _local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33)); _local32 = _local30; _local29.r1.Set(_local32, _local33); _local8 = _local11.m_xf.R; _local34 = (_local28.localPoint2.x - _local11.m_sweep.localCenter.x); _local35 = (_local28.localPoint2.y - _local11.m_sweep.localCenter.y); _local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35)); _local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35)); _local34 = _local30; _local29.r2.Set(_local34, _local35); _local36 = ((_local32 * _local32) + (_local33 * _local33)); _local37 = ((_local34 * _local34) + (_local35 * _local35)); _local38 = ((_local32 * _local24) + (_local33 * _local25)); _local39 = ((_local34 * _local24) + (_local35 * _local25)); _local40 = (_local10.m_invMass + _local11.m_invMass); _local40 = (_local40 + ((_local10.m_invI * (_local36 - (_local38 * _local38))) + (_local11.m_invI * (_local37 - (_local39 * _local39))))); _local29.normalMass = (1 / _local40); _local41 = ((_local10.m_mass * _local10.m_invMass) + (_local11.m_mass * _local11.m_invMass)); _local41 = (_local41 + (((_local10.m_mass * _local10.m_invI) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11.m_invI) * (_local37 - (_local39 * _local39))))); _local29.equalizedMass = (1 / _local41); _local42 = _local25; _local43 = -(_local24); _local44 = ((_local32 * _local42) + (_local33 * _local43)); _local45 = ((_local34 * _local42) + (_local35 * _local43)); _local46 = (_local10.m_invMass + _local11.m_invMass); _local46 = (_local46 + ((_local10.m_invI * (_local36 - (_local44 * _local44))) + (_local11.m_invI * (_local37 - (_local45 * _local45))))); _local29.tangentMass = (1 / _local46); _local29.velocityBias = 0; if (_local29.separation > 0){ _local29.velocityBias = (-60 * _local29.separation); }; _local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33)); _local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32)); _local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31)); if (_local47 < -(b2Settings.b2_velocityThreshold)){ _local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47)); }; _local27++; }; _local9++; _local22++; }; _local6++; }; } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2Mat22; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:int; var _local19:int; var _local20:b2ContactConstraintPoint; var _local21:Number; var _local22:Number; var _local23:b2ContactConstraintPoint; _local5 = 0; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_invMass; _local10 = _local7.m_invI; _local11 = _local8.m_invMass; _local12 = _local8.m_invI; _local13 = _local6.normal.x; _local14 = _local6.normal.y; _local15 = _local14; _local16 = -(_local13); if (_arg1.warmStarting){ _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local20 = _local6.points[_local18]; _local6.points[_local18].normalImpulse = (_local20.normalImpulse * _arg1.dtRatio); _local20.tangentImpulse = (_local20.tangentImpulse * _arg1.dtRatio); _local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15)); _local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16)); _local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21)))); _local7.m_linearVelocity.x = (_local7.m_linearVelocity.x - (_local9 * _local21)); _local7.m_linearVelocity.y = (_local7.m_linearVelocity.y - (_local9 * _local22)); _local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21)))); _local8.m_linearVelocity.x = (_local8.m_linearVelocity.x + (_local11 * _local21)); _local8.m_linearVelocity.y = (_local8.m_linearVelocity.y + (_local11 * _local22)); _local18++; }; } else { _local19 = _local6.pointCount; _local18 = 0; while (_local18 < _local19) { _local23 = _local6.points[_local18]; _local23.normalImpulse = 0; _local23.tangentImpulse = 0; _local18++; }; }; _local5++; }; } public function SolvePositionConstraints(_arg1:Number):Boolean{ var _local2:Number; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; var _local6:b2ContactConstraint; var _local7:b2Body; var _local8:b2Body; var _local9:b2Vec2; var _local10:Number; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:int; var _local20:int; var _local21:b2ContactConstraintPoint; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:Number; var _local38:Number; _local2 = 0; _local5 = 0; while (_local5 < m_constraintCount) { _local6 = m_constraints[_local5]; _local7 = _local6.body1; _local8 = _local6.body2; _local9 = _local7.m_sweep.c; _local10 = _local7.m_sweep.a; _local11 = _local8.m_sweep.c; _local12 = _local8.m_sweep.a; _local13 = (_local7.m_mass * _local7.m_invMass); _local14 = (_local7.m_mass * _local7.m_invI); _local15 = (_local8.m_mass * _local8.m_invMass); _local16 = (_local8.m_mass * _local8.m_invI); _local17 = _local6.normal.x; _local18 = _local6.normal.y; _local19 = _local6.pointCount; _local20 = 0; while (_local20 < _local19) { _local21 = _local6.points[_local20]; _local3 = _local7.m_xf.R; _local4 = _local7.m_sweep.localCenter; _local22 = (_local21.localAnchor1.x - _local4.x); _local23 = (_local21.localAnchor1.y - _local4.y); _local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23)); _local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23)); _local22 = _local26; _local3 = _local8.m_xf.R; _local4 = _local8.m_sweep.localCenter; _local24 = (_local21.localAnchor2.x - _local4.x); _local25 = (_local21.localAnchor2.y - _local4.y); _local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25)); _local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25)); _local24 = _local26; _local27 = (_local9.x + _local22); _local28 = (_local9.y + _local23); _local29 = (_local11.x + _local24); _local30 = (_local11.y + _local25); _local31 = (_local29 - _local27); _local32 = (_local30 - _local28); _local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation); _local2 = b2Math.b2Min(_local2, _local33); _local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0)); _local35 = (-(_local21.equalizedMass) * _local34); _local36 = _local21.positionImpulse; _local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0); _local35 = (_local21.positionImpulse - _local36); _local37 = (_local35 * _local17); _local38 = (_local35 * _local18); _local9.x = (_local9.x - (_local13 * _local37)); _local9.y = (_local9.y - (_local13 * _local38)); _local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37)))); _local7.m_sweep.a = _local10; _local7.SynchronizeTransform(); _local11.x = (_local11.x + (_local15 * _local37)); _local11.y = (_local11.y + (_local15 * _local38)); _local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37)))); _local8.m_sweep.a = _local12; _local8.SynchronizeTransform(); _local20++; }; _local5++; }; return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop))); } public function SolveVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraintPoint; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Mat22; var _local18:b2Vec2; var _local19:int; var _local20:b2ContactConstraint; var _local21:b2Body; var _local22:b2Body; var _local23:Number; var _local24:Number; var _local25:b2Vec2; var _local26:b2Vec2; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; var _local35:Number; var _local36:Number; var _local37:int; var _local38:Number; _local19 = 0; while (_local19 < m_constraintCount) { _local20 = m_constraints[_local19]; _local21 = _local20.body1; _local22 = _local20.body2; _local23 = _local21.m_angularVelocity; _local24 = _local22.m_angularVelocity; _local25 = _local21.m_linearVelocity; _local26 = _local22.m_linearVelocity; _local27 = _local21.m_invMass; _local28 = _local21.m_invI; _local29 = _local22.m_invMass; _local30 = _local22.m_invI; _local31 = _local20.normal.x; _local32 = _local20.normal.y; _local33 = _local32; _local34 = -(_local31); _local35 = _local20.friction; _local37 = _local20.pointCount; _local1 = 0; while (_local1 < _local37) { _local2 = _local20.points[_local1]; _local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y)); _local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x)); _local9 = ((_local7 * _local31) + (_local8 * _local32)); _local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias)); _local10 = ((_local7 * _local33) + (_local8 * _local34)); _local12 = (_local2.tangentMass * -(_local10)); _local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0); _local11 = (_local13 - _local2.normalImpulse); _local38 = (_local35 * _local2.normalImpulse); _local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38); _local12 = (_local14 - _local2.tangentImpulse); _local15 = ((_local11 * _local31) + (_local12 * _local33)); _local16 = ((_local11 * _local32) + (_local12 * _local34)); _local25.x = (_local25.x - (_local27 * _local15)); _local25.y = (_local25.y - (_local27 * _local16)); _local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15)))); _local26.x = (_local26.x + (_local29 * _local15)); _local26.y = (_local26.y + (_local29 * _local16)); _local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15)))); _local2.normalImpulse = _local13; _local2.tangentImpulse = _local14; _local1++; }; _local21.m_angularVelocity = _local23; _local22.m_angularVelocity = _local24; _local19++; }; } public function FinalizeVelocityConstraints():void{ var _local1:int; var _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; _local1 = 0; while (_local1 < m_constraintCount) { _local2 = m_constraints[_local1]; _local3 = _local2.manifold; _local4 = 0; while (_local4 < _local2.pointCount) { _local5 = _local3.points[_local4]; _local6 = _local2.points[_local4]; _local5.normalImpulse = _local6.normalImpulse; _local5.tangentImpulse = _local6.tangentImpulse; _local4++; }; _local1++; }; } } }//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact) package Box2D.Dynamics.Contacts { import Box2D.Dynamics.*; public class b2NullContact extends b2Contact { override public function GetManifolds():Array{ return (null); } override public function Evaluate(_arg1:b2ContactListener):void{ } } }//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import Box2D.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ var _local3:b2ManifoldPoint; m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape)); b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape)); m_manifold.pointCount = 0; _local3 = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local6:b2Body; var _local7:b2Body; var _local8:Array; var _local9:b2ContactPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local6 = m_shape1.m_body; _local7 = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygonAndCircle(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf); _local8 = [false, false]; _local9 = s_evalCP; _local9.shape1 = m_shape1; _local9.shape2 = m_shape2; _local9.friction = m_friction; _local9.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local2 = 0; while (_local2 < m_manifold.pointCount) { _local10 = m_manifold.points[_local2]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local8[_local13] == true){ } else { _local5 = m0.points[_local13]; if (_local5.id._key == _local12){ _local8[_local13] = true; _local10.normalImpulse = _local5.normalImpulse; _local10.tangentImpulse = _local5.tangentImpulse; _local11 = true; if (_arg1 != null){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Persist(_local9); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local9.position = _local6.GetWorldPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m_manifold.normal); _local9.separation = _local10.separation; _local9.id.key = _local12; _arg1.Add(_local9); }; _local2++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local2 = 0; while (_local2 < m0.pointCount) { if (_local8[_local2]){ } else { _local5 = m0.points[_local2]; _local9.position = _local6.GetWorldPoint(_local5.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local5.localPoint1); _local4 = _local7.GetLinearVelocityFromLocalPoint(_local5.localPoint2); _local9.velocity.Set((_local4.x - _local3.x), (_local4.y - _local3.y)); _local9.normal.SetV(m0.normal); _local9.separation = _local5.separation; _local9.id.key = _local5.id._key; _arg1.Remove(_local9); }; _local2++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact) package Box2D.Dynamics.Contacts { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Collision.*; public class b2PolygonContact extends b2Contact { private var m_manifolds:Array; private var m0:b2Manifold; public var m_manifold:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{ m0 = new b2Manifold(); m_manifolds = [new b2Manifold()]; super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; } override public function GetManifolds():Array{ return (m_manifolds); } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactPoint; var _local8:int; var _local9:Array; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; _local5 = m_shape1.m_body; _local6 = m_shape2.m_body; m0.Set(m_manifold); b2Collision.b2CollidePolygons(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf); _local9 = [false, false]; _local7 = s_evalCP; _local7.shape1 = m_shape1; _local7.shape2 = m_shape2; _local7.friction = m_friction; _local7.restitution = m_restitution; if (m_manifold.pointCount > 0){ _local8 = 0; while (_local8 < m_manifold.pointCount) { _local10 = m_manifold.points[_local8]; _local10.normalImpulse = 0; _local10.tangentImpulse = 0; _local11 = false; _local12 = _local10.id._key; _local13 = 0; while (_local13 < m0.pointCount) { if (_local9[_local13] == true){ } else { _local4 = m0.points[_local13]; if (_local4.id._key == _local12){ _local9[_local13] = true; _local10.normalImpulse = _local4.normalImpulse; _local10.tangentImpulse = _local4.tangentImpulse; _local11 = true; if (_arg1 != null){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Persist(_local7); }; break; }; }; _local13++; }; if ((((_local11 == false)) && (!((_arg1 == null))))){ _local7.position = _local5.GetWorldPoint(_local10.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local10.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local10.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m_manifold.normal); _local7.separation = _local10.separation; _local7.id.key = _local12; _arg1.Add(_local7); }; _local8++; }; m_manifoldCount = 1; } else { m_manifoldCount = 0; }; if (_arg1 == null){ return; }; _local8 = 0; while (_local8 < m0.pointCount) { if (_local9[_local8]){ } else { _local4 = m0.points[_local8]; _local7.position = _local5.GetWorldPoint(_local4.localPoint1); _local2 = _local5.GetLinearVelocityFromLocalPoint(_local4.localPoint1); _local3 = _local6.GetLinearVelocityFromLocalPoint(_local4.localPoint2); _local7.velocity.Set((_local3.x - _local2.x), (_local3.y - _local2.y)); _local7.normal.SetV(m0.normal); _local7.separation = _local4.separation; _local7.id.key = _local4.id._key; _arg1.Remove(_local7); }; _local8++; }; } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2DistanceJoint extends b2Joint { public var m_mass:Number; public var m_u:b2Vec2; public var m_impulse:Number; public var m_dampingRatio:Number; public var m_frequencyHz:Number; public var m_localAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_bias:Number; public var m_gamma:Number; public var m_length:Number; public function b2DistanceJoint(_arg1:b2DistanceJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u = new b2Vec2(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_length = _arg1.length; m_frequencyHz = _arg1.frequencyHz; m_dampingRatio = _arg1.dampingRatio; m_impulse = 0; m_gamma = 0; m_bias = 0; m_inv_dt = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; if (m_frequencyHz > 0){ return (true); }; _local2 = m_body1; _local3 = m_body2; _local1 = _local2.m_xf.R; _local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; _local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8)); _local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8)); _local7 = _local6; _local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); _local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); _local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); _local12 = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local13 = (-(m_mass) * _local12); m_u.Set(_local9, _local10); _local14 = (_local13 * m_u.x); _local15 = (_local13 * m_u.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a - (_local2.m_invI * ((_local4 * _local15) - (_local5 * _local14)))); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3.m_invMass * _local14)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3.m_invMass * _local15)); _local3.m_sweep.a = (_local3.m_sweep.a + (_local3.m_invI * ((_local7 * _local15) - (_local8 * _local14)))); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; m_inv_dt = _arg1.inv_dt; _local4 = m_body1; _local5 = m_body2; _local2 = _local4.m_xf.R; _local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7)); _local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7)); _local6 = _local3; _local2 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local3; m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6); m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7); _local10 = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y))); if (_local10 > b2Settings.b2_linearSlop){ m_u.Multiply((1 / _local10)); } else { m_u.SetZero(); }; _local11 = ((_local6 * m_u.y) - (_local7 * m_u.x)); _local12 = ((_local8 * m_u.y) - (_local9 * m_u.x)); _local13 = (((_local4.m_invMass + ((_local4.m_invI * _local11) * _local11)) + _local5.m_invMass) + ((_local5.m_invI * _local12) * _local12)); m_mass = (1 / _local13); if (m_frequencyHz > 0){ _local14 = (_local10 - m_length); _local15 = ((2 * Math.PI) * m_frequencyHz); _local16 = (((2 * m_mass) * m_dampingRatio) * _local15); _local17 = ((m_mass * _local15) * _local15); m_gamma = (1 / (_arg1.dt * (_local16 + (_arg1.dt * _local17)))); m_bias = (((_local14 * _arg1.dt) * _local17) * m_gamma); m_mass = (1 / (_local13 + m_gamma)); }; if (_arg1.warmStarting){ m_impulse = (m_impulse * _arg1.dtRatio); _local18 = (m_impulse * m_u.x); _local19 = (m_impulse * m_u.y); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x - (_local4.m_invMass * _local18)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y - (_local4.m_invMass * _local19)); _local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4.m_invI * ((_local6 * _local19) - (_local7 * _local18)))); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + (_local5.m_invMass * _local18)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + (_local5.m_invMass * _local19)); _local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5.m_invI * ((_local8 * _local19) - (_local9 * _local18)))); } else { m_impulse = 0; }; } override public function GetReactionTorque():Number{ return (0); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _local3 = m_body1; _local4 = m_body2; _local2 = _local3.m_xf.R; _local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; _local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9)); _local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9)); _local8 = _local7; _local10 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); _local11 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); _local12 = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); _local13 = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); _local14 = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); _local15 = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); _local16 = (_local15 * m_u.x); _local17 = (_local15 * m_u.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x - (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y - (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3.m_invI * ((_local5 * _local17) - (_local6 * _local16)))); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + (_local4.m_invMass * _local16)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + (_local4.m_invMass * _local17)); _local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); } } }//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2DistanceJointDef extends b2JointDef { public var length:Number; public var dampingRatio:Number; public var frequencyHz:Number; public var localAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public function b2DistanceJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_distanceJoint; length = 1; frequencyHz = 0; dampingRatio = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ var _local5:Number; var _local6:Number; body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); _local5 = (_arg4.x - _arg3.x); _local6 = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2GearJoint extends b2Joint { public var m_force:Number; public var m_mass:Number; public var m_prismatic1:b2PrismaticJoint; public var m_prismatic2:b2PrismaticJoint; public var m_ground1:b2Body; public var m_ground2:b2Body; public var m_constant:Number; public var m_revolute1:b2RevoluteJoint; public var m_revolute2:b2RevoluteJoint; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_ratio:Number; public var m_J:b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ var _local2:int; var _local3:int; var _local4:Number; var _local5:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_J = new b2Jacobian(); super(_arg1); _local2 = _arg1.joint1.m_type; _local3 = _arg1.joint2.m_type; m_revolute1 = null; m_prismatic1 = null; m_revolute2 = null; m_prismatic2 = null; m_ground1 = _arg1.joint1.m_body1; m_body1 = _arg1.joint1.m_body2; if (_local2 == b2Joint.e_revoluteJoint){ m_revolute1 = (_arg1.joint1 as b2RevoluteJoint); m_groundAnchor1.SetV(m_revolute1.m_localAnchor1); m_localAnchor1.SetV(m_revolute1.m_localAnchor2); _local4 = m_revolute1.GetJointAngle(); } else { m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint); m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1); m_localAnchor1.SetV(m_prismatic1.m_localAnchor2); _local4 = m_prismatic1.GetJointTranslation(); }; m_ground2 = _arg1.joint2.m_body1; m_body2 = _arg1.joint2.m_body2; if (_local3 == b2Joint.e_revoluteJoint){ m_revolute2 = (_arg1.joint2 as b2RevoluteJoint); m_groundAnchor2.SetV(m_revolute2.m_localAnchor1); m_localAnchor2.SetV(m_revolute2.m_localAnchor2); _local5 = m_revolute2.GetJointAngle(); } else { m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint); m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1); m_localAnchor2.SetV(m_prismatic2.m_localAnchor2); _local5 = m_prismatic2.GetJointTranslation(); }; m_ratio = _arg1.ratio; m_constant = (_local4 + (m_ratio * _local5)); m_force = 0; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local1 = 0; _local2 = m_body1; _local3 = m_body2; if (m_revolute1){ _local4 = m_revolute1.GetJointAngle(); } else { _local4 = m_prismatic1.GetJointTranslation(); }; if (m_revolute2){ _local5 = m_revolute2.GetJointAngle(); } else { _local5 = m_prismatic2.GetJointTranslation(); }; _local6 = (m_constant - (_local4 + (m_ratio * _local5))); _local7 = (-(m_mass) * _local6); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2.m_invMass * _local7) * m_J.linear1.x)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2.m_invMass * _local7) * m_J.linear1.y)); _local2.m_sweep.a = (_local2.m_sweep.a + ((_local2.m_invI * _local7) * m_J.angular1)); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3.m_invMass * _local7) * m_J.linear2.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3.m_invMass * _local7) * m_J.linear2.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local3.m_invI * _local7) * m_J.angular2)); _local2.SynchronizeTransform(); _local3.SynchronizeTransform(); return ((_local1 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; _local2 = m_ground1; _local3 = m_ground2; _local4 = m_body1; _local5 = m_body2; _local14 = 0; m_J.SetZero(); if (m_revolute1){ m_J.angular1 = -1; _local14 = (_local14 + _local4.m_invI); } else { _local10 = _local2.m_xf.R; _local11 = m_prismatic1.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local4.m_xf.R; _local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear1.Set(-(_local6), -(_local7)); m_J.angular1 = -(_local12); _local14 = (_local14 + (_local4.m_invMass + ((_local4.m_invI * _local12) * _local12))); }; if (m_revolute2){ m_J.angular2 = -(m_ratio); _local14 = (_local14 + ((m_ratio * m_ratio) * _local5.m_invI)); } else { _local10 = _local3.m_xf.R; _local11 = m_prismatic2.m_localXAxis1; _local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y)); _local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y)); _local10 = _local5.m_xf.R; _local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y); _local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9)); _local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9)); _local8 = _local13; _local12 = ((_local8 * _local7) - (_local9 * _local6)); m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7)); m_J.angular2 = (-(m_ratio) * _local12); _local14 = (_local14 + ((m_ratio * m_ratio) * (_local5.m_invMass + ((_local5.m_invI * _local12) * _local12)))); }; m_mass = (1 / _local14); if (_arg1.warmStarting){ _local15 = (_arg1.dt * m_force); _local4.m_linearVelocity.x = (_local4.m_linearVelocity.x + ((_local4.m_invMass * _local15) * m_J.linear1.x)); _local4.m_linearVelocity.y = (_local4.m_linearVelocity.y + ((_local4.m_invMass * _local15) * m_J.linear1.y)); _local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4.m_invI * _local15) * m_J.angular1)); _local5.m_linearVelocity.x = (_local5.m_linearVelocity.x + ((_local5.m_invMass * _local15) * m_J.linear2.x)); _local5.m_linearVelocity.y = (_local5.m_linearVelocity.y + ((_local5.m_invMass * _local15) * m_J.linear2.y)); _local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5.m_invI * _local15) * m_J.angular2)); } else { m_force = 0; }; } override public function GetReactionTorque():Number{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; _local1 = m_body2.m_xf.R; _local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); _local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); _local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3)); _local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3)); _local2 = _local4; _local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x)))); return (_local4); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; _local2 = m_body1; _local3 = m_body2; _local4 = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local5 = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); _local6 = (_arg1.dt * _local5); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local2.m_invMass * _local6) * m_J.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local2.m_invMass * _local6) * m_J.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2.m_invI * _local6) * m_J.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local3.m_invMass * _local6) * m_J.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local3.m_invMass * _local6) * m_J.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _local6) * m_J.angular2)); } } }//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef) package Box2D.Dynamics.Joints { public class b2GearJointDef extends b2JointDef { public var joint2:b2Joint; public var joint1:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular2:Number; public var angular1:Number; public function b2Jacobian(){ linear1 = new b2Vec2(); linear2 = new b2Vec2(); super(); } public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{ linear1.SetV(_arg1); angular1 = _arg2; linear2.SetV(_arg3); angular2 = _arg4; } public function SetZero():void{ linear1.SetZero(); angular1 = 0; linear2.SetZero(); angular2 = 0; } public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{ return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4))); } } }//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2Joint { public var m_islandFlag:Boolean; public var m_body1:b2Body; public var m_prev:b2Joint; public var m_next:b2Joint; public var m_type:int; public var m_collideConnected:Boolean; public var m_node1:b2JointEdge; public var m_node2:b2JointEdge; public var m_inv_dt:Number; public var m_userData; public var m_body2:b2Body; public static const e_unknownJoint:int = 0; public static const e_inactiveLimit:int = 0; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_gearJoint:int = 6; public static const e_revoluteJoint:int = 1; public static const e_equalLimits:int = 3; public static const e_distanceJoint:int = 3; public static const e_pulleyJoint:int = 4; public static const e_prismaticJoint:int = 2; public static const e_mouseJoint:int = 5; public function b2Joint(_arg1:b2JointDef){ m_node1 = new b2JointEdge(); m_node2 = new b2JointEdge(); super(); m_type = _arg1.type; m_prev = null; m_next = null; m_body1 = _arg1.body1; m_body2 = _arg1.body2; m_collideConnected = _arg1.collideConnected; m_islandFlag = false; m_userData = _arg1.userData; } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } public function GetType():int{ return (m_type); } public function GetBody2():b2Body{ return (m_body2); } public function GetNext():b2Joint{ return (m_next); } public function GetReactionTorque():Number{ return (0); } public function GetUserData(){ return (m_userData); } public function GetReactionForce():b2Vec2{ return (null); } public function SolvePositionConstraints():Boolean{ return (false); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetBody1():b2Body{ return (m_body1); } public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ } public function InitPositionConstraints():void{ } public static function Destroy(_arg1:b2Joint, _arg2):void{ } public static function Create(_arg1:b2JointDef, _arg2):b2Joint{ var _local3:b2Joint; _local3 = null; switch (_arg1.type){ case e_distanceJoint: _local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef)); break; case e_mouseJoint: _local3 = new b2MouseJoint((_arg1 as b2MouseJointDef)); break; case e_prismaticJoint: _local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef)); break; case e_revoluteJoint: _local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef)); break; case e_pulleyJoint: _local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef)); break; case e_gearJoint: _local3 = new b2GearJoint((_arg1 as b2GearJointDef)); break; default: break; }; return (_local3); } } }//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointDef { public var collideConnected:Boolean; public var body1:b2Body; public var body2:b2Body; public var userData; public var type:int; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge) package Box2D.Dynamics.Joints { import Box2D.Dynamics.*; public class b2JointEdge { public var joint:b2Joint; public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; } }//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2MouseJoint extends b2Joint { public var m_beta:Number; public var m_mass:b2Mat22; public var m_target:b2Vec2; public var m_impulse:b2Vec2; public var m_localAnchor:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K:b2Mat22; public var m_gamma:Number; public var m_C:b2Vec2; public var m_maxForce:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local2:Number; var _local3:Number; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); m_localAnchor = new b2Vec2(); m_target = new b2Vec2(); m_impulse = new b2Vec2(); m_mass = new b2Mat22(); m_C = new b2Vec2(); super(_arg1); m_target.SetV(_arg1.target); _local2 = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); _local4 = m_body2.m_xf.R; m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y)); m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y)); m_maxForce = _arg1.maxForce; m_impulse.SetZero(); _local5 = m_body2.m_mass; _local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); _local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6); _local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } override public function GetAnchor1():b2Vec2{ return (m_target); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local7 = _local2.m_invMass; _local8 = _local2.m_invI; K1.col1.x = _local7; K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = _local7; K2.col1.x = ((_local8 * _local5) * _local5); K2.col2.x = ((-(_local8) * _local4) * _local5); K2.col1.y = ((-(_local8) * _local4) * _local5); K2.col2.y = ((_local8 * _local4) * _local4); K.SetM(K1); K.AddM(K2); K.col1.x = (K.col1.x + m_gamma); K.col2.y = (K.col2.y + m_gamma); K.Invert(m_mass); m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x); m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y); _local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98); _local9 = (_arg1.dt * m_impulse.x); _local10 = (_arg1.dt * m_impulse.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local7 * _local9)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local7 * _local10)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9)))); } override public function GetReactionTorque():Number{ return (0); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; _local2 = m_body2; _local3 = _local2.m_xf.R; _local6 = (m_localAnchor.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor.y - _local2.m_sweep.localCenter.y); _local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7)); _local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7)); _local6 = _local4; _local8 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); _local9 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local6)); _local3 = m_mass; _local4 = ((_local8 + ((m_beta * _arg1.inv_dt) * m_C.x)) + ((m_gamma * _arg1.dt) * m_impulse.x)); _local5 = ((_local9 + ((m_beta * _arg1.inv_dt) * m_C.y)) + ((m_gamma * _arg1.dt) * m_impulse.y)); _local10 = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); _local11 = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); _local12 = m_impulse.x; _local13 = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); _local14 = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); _local15 = (_arg1.dt * _local10); _local16 = (_arg1.dt * _local11); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); } } }//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var frequencyHz:Number; public var dampingRatio:Number; public var maxForce:Number; public var target:b2Vec2; public var timeStep:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package Box2D.Dynamics.Joints
Section 58
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var m_refAngle:Number; public var m_lowerTranslation:Number; public var m_localXAxis1:b2Vec2; public var m_torque:Number; public var m_enableLimit:Boolean; public var m_motorForce:Number; public var m_force:Number; public var m_localYAxis1:b2Vec2; public var m_motorMass:Number; public var m_maxMotorForce:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_angularMass:Number; public var m_limitState:int; public var m_linearMass:Number; public var m_upperTranslation:Number; public var m_motorJacobian:b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_linearJacobian:b2Jacobian; public var m_enableMotor:Boolean; public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_localXAxis1 = new b2Vec2(); m_localYAxis1 = new b2Vec2(); m_linearJacobian = new b2Jacobian(); m_motorJacobian = new b2Jacobian(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_localXAxis1.SetV(_arg1.localAxis1); m_localYAxis1.x = -(m_localXAxis1.y); m_localYAxis1.y = m_localXAxis1.x; m_refAngle = _arg1.referenceAngle; m_linearJacobian.SetZero(); m_linearMass = 0; m_force = 0; m_angularMass = 0; m_torque = 0; m_motorJacobian.SetZero(); m_motorMass = 0; m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerTranslation = _arg1.lowerTranslation; m_upperTranslation = _arg1.upperTranslation; m_maxMotorForce = _arg1.maxMotorForce; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function GetJointTranslation():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Vec2; var _local6:Number; var _local7:Number; var _local8:b2Vec2; var _local9:Number; _local1 = m_body1; _local2 = m_body2; _local4 = _local1.GetWorldPoint(m_localAnchor1); _local5 = _local2.GetWorldPoint(m_localAnchor2); _local6 = (_local5.x - _local4.x); _local7 = (_local5.y - _local4.y); _local8 = _local1.GetWorldVector(m_localXAxis1); _local9 = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.m_xf.R; _local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); _local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); _local4 = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); _local5 = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y))); return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5)))); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:b2Mat22; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; _local3 = m_body1; _local4 = m_body2; _local5 = _local3.m_invMass; _local6 = _local4.m_invMass; _local7 = _local3.m_invI; _local8 = _local4.m_invI; _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local21 = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); _local22 = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); _local23 = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local24 = (-(m_linearMass) * _local23); _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2)); _local25 = b2Math.b2Abs(_local23); _local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local27 = (-(m_angularMass) * _local26); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local27)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local27)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local28 = b2Math.b2Abs(_local26); if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local9 = _local3.m_xf.R; _local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12)); _local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12)); _local11 = _local10; _local9 = _local4.m_xf.R; _local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14)); _local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14)); _local13 = _local10; _local15 = (_local3.m_sweep.c.x + _local11); _local16 = (_local3.m_sweep.c.y + _local12); _local17 = (_local4.m_sweep.c.x + _local13); _local18 = (_local4.m_sweep.c.y + _local14); _local19 = (_local17 - _local15); _local20 = (_local18 - _local16); _local9 = _local3.m_xf.R; _local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y)); _local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y)); _local31 = ((_local29 * _local19) + (_local30 * _local20)); _local32 = 0; if (m_limitState == e_equalLimits){ _local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26)); } else { if (m_limitState == e_atLowerLimit){ _local1 = (_local31 - m_lowerTranslation); _local25 = b2Math.b2Max(_local25, -(_local1)); _local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); } else { if (m_limitState == e_atUpperLimit){ _local1 = (_local31 - m_upperTranslation); _local25 = b2Math.b2Max(_local25, _local1); _local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection); _local32 = (-(m_motorMass) * _local1); _local2 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0); _local32 = (m_limitPositionImpulse - _local2); }; }; }; _local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y)); _local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1)); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y)); _local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:b2Vec2; var _local16:b2Vec2; var _local17:b2Vec2; var _local18:Number; var _local19:Number; var _local20:Number; _local1 = m_body1; _local2 = m_body2; _local3 = _local1.m_xf.R; _local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; _local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8)); _local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8)); _local7 = _local6; _local9 = (_local1.m_sweep.c.x + _local4); _local10 = (_local1.m_sweep.c.y + _local5); _local11 = (_local2.m_sweep.c.x + _local7); _local12 = (_local2.m_sweep.c.y + _local8); _local13 = (_local11 - _local9); _local14 = (_local12 - _local10); _local15 = _local1.GetWorldVector(m_localXAxis1); _local16 = _local1.m_linearVelocity; _local17 = _local2.m_linearVelocity; _local18 = _local1.m_angularVelocity; _local19 = _local2.m_angularVelocity; _local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4))))); return (_local20); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local27:Number; var _local28:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; _local4 = _local2.m_xf.R; _local14 = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); _local15 = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); _local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); _local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y); m_linearJacobian.linear1.x = -(_local14); m_linearJacobian.linear1.y = -(_local15); m_linearJacobian.linear2.x = _local14; m_linearJacobian.linear2.y = _local15; m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14))); m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14)); m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2)); m_linearMass = (1 / m_linearMass); m_angularMass = (_local12 + _local13); if (m_angularMass > Number.MIN_VALUE){ m_angularMass = (1 / m_angularMass); }; if (((m_enableLimit) || (m_enableMotor))){ _local4 = _local2.m_xf.R; _local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y)); _local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y)); m_motorJacobian.linear1.x = -(_local18); m_motorJacobian.linear1.y = -(_local19); m_motorJacobian.linear2.x = _local18; m_motorJacobian.linear2.y = _local19; m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18))); m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18)); m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2)); m_motorMass = (1 / m_motorMass); if (m_enableLimit){ _local20 = (_local16 - _local6); _local21 = (_local17 - _local7); _local22 = ((_local18 * _local20) + (_local19 * _local21)); if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){ m_limitState = e_equalLimits; } else { if (_local22 <= m_lowerTranslation){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local22 >= m_upperTranslation){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; }; }; if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit == false){ m_limitForce = 0; }; if (_arg1.warmStarting){ _local23 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x))); _local24 = (_arg1.dt * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y))); _local25 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x))); _local26 = (_arg1.dt * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y))); _local27 = (_arg1.dt * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1))); _local28 = (_arg1.dt * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2))); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local10 * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local10 * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local11 * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local11 * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28)); } else { m_force = 0; m_torque = 0; m_limitForce = 0; m_motorForce = 0; }; m_limitPositionImpulse = 0; } public function GetMotorForce():Number{ return (m_motorForce); } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_invMass; _local5 = _local3.m_invMass; _local6 = _local2.m_invI; _local7 = _local3.m_invI; _local9 = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local10 = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); _local11 = (_arg1.dt * _local10); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_linearJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_linearJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_linearJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_linearJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2)); _local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local13 = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); _local14 = (_arg1.dt * _local13); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14)); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local15 = (m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity) - m_motorSpeed); _local16 = ((-(_arg1.inv_dt) * m_motorMass) * _local15); _local17 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce); _local16 = (m_motorForce - _local17); _local11 = (_arg1.dt * _local16); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local18 = m_motorJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); _local19 = ((-(_arg1.inv_dt) * m_motorMass) * _local18); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local19); } else { if (m_limitState == e_atLowerLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); } else { if (m_limitState == e_atUpperLimit){ _local8 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0); _local19 = (m_limitForce - _local8); }; }; }; _local11 = (_arg1.dt * _local19); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + ((_local4 * _local11) * m_motorJacobian.linear1.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + ((_local4 * _local11) * m_motorJacobian.linear1.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1)); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_local5 * _local11) * m_motorJacobian.linear2.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_local5 * _local11) * m_motorJacobian.linear2.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2)); }; } } }//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PrismaticJointDef extends b2JointDef { public var localAxis1:b2Vec2; public var referenceAngle:Number; public var maxMotorForce:Number; public var motorSpeed:Number; public var upperTranslation:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var lowerTranslation:Number; public function b2PrismaticJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); localAxis1 = new b2Vec2(); super(); type = b2Joint.e_prismaticJoint; localAxis1.Set(1, 0); referenceAngle = 0; enableLimit = false; lowerTranslation = 0; upperTranslation = 0; enableMotor = false; maxMotorForce = 0; motorSpeed = 0; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); localAxis1 = body1.GetLocalVector(_arg4); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2PulleyJoint extends b2Joint { public var m_ground:b2Body; public var m_maxLength2:Number; public var m_limitForce1:Number; public var m_maxLength1:Number; public var m_limitState1:int; public var m_limitState2:int; public var m_limitPositionImpulse2:Number; public var m_force:Number; public var m_limitPositionImpulse1:Number; public var m_constant:Number; public var m_state:int; public var m_ratio:Number; public var m_groundAnchor1:b2Vec2; public var m_groundAnchor2:b2Vec2; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_positionImpulse:Number; public var m_limitMass2:Number; public var m_limitMass1:Number; public var m_pulleyMass:Number; public var m_u1:b2Vec2; public var m_u2:b2Vec2; public var m_limitForce2:Number; public static const b2_minPulleyLength:Number = 2; public function b2PulleyJoint(_arg1:b2PulleyJointDef){ var _local2:b2Mat22; var _local3:Number; var _local4:Number; m_groundAnchor1 = new b2Vec2(); m_groundAnchor2 = new b2Vec2(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_u1 = new b2Vec2(); m_u2 = new b2Vec2(); super(_arg1); m_ground = m_body1.m_world.m_groundBody; m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x); m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y); m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x); m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_ratio = _arg1.ratio; m_constant = (_arg1.length1 + (m_ratio * _arg1.length2)); m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength))); m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio)); m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; } public function GetGroundAnchor2():b2Vec2{ var _local1:b2Vec2; _local1 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor2); return (_local1); } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2; _local1 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Body; var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; _local1 = m_body1; _local2 = m_body2; _local4 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local5 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local6 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local7 = (m_ground.m_xf.position.y + m_groundAnchor2.y); _local23 = 0; if (m_state == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u1.Set((_local12 - _local4), (_local13 - _local5)); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local16 = m_u1.Length(); _local17 = m_u2.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local16)); } else { m_u1.SetZero(); }; if (_local17 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local17)); } else { m_u2.SetZero(); }; _local18 = ((m_constant - _local16) - (m_ratio * _local17)); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_pulleyMass) * _local18); _local20 = m_positionImpulse; m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19)); _local19 = (m_positionImpulse - _local20); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local14 = ((-(m_ratio) * _local19) * m_u2.x); _local15 = ((-(m_ratio) * _local19) * m_u2.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local1.SynchronizeTransform(); _local2.SynchronizeTransform(); }; if (m_limitState1 == e_atUpperLimit){ _local3 = _local1.m_xf.R; _local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); _local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9)); _local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9)); _local8 = _local22; _local12 = (_local1.m_sweep.c.x + _local8); _local13 = (_local1.m_sweep.c.y + _local9); m_u1.Set((_local12 - _local4), (_local13 - _local5)); _local16 = m_u1.Length(); if (_local16 > b2Settings.b2_linearSlop){ m_u1.x = (m_u1.x * (1 / _local16)); m_u1.y = (m_u1.y * (1 / _local16)); } else { m_u1.SetZero(); }; _local18 = (m_maxLength1 - _local16); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass1) * _local18); _local21 = m_limitPositionImpulse1; m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19)); _local19 = (m_limitPositionImpulse1 - _local21); _local12 = (-(_local19) * m_u1.x); _local13 = (-(_local19) * m_u1.y); _local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1.m_invMass * _local12)); _local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1.m_invMass * _local13)); _local1.m_sweep.a = (_local1.m_sweep.a + (_local1.m_invI * ((_local8 * _local13) - (_local9 * _local12)))); _local1.SynchronizeTransform(); }; if (m_limitState2 == e_atUpperLimit){ _local3 = _local2.m_xf.R; _local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y); _local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11)); _local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11)); _local10 = _local22; _local14 = (_local2.m_sweep.c.x + _local10); _local15 = (_local2.m_sweep.c.y + _local11); m_u2.Set((_local14 - _local6), (_local15 - _local7)); _local17 = m_u2.Length(); if (_local17 > b2Settings.b2_linearSlop){ m_u2.x = (m_u2.x * (1 / _local17)); m_u2.y = (m_u2.y * (1 / _local17)); } else { m_u2.SetZero(); }; _local18 = (m_maxLength2 - _local17); _local23 = b2Math.b2Max(_local23, -(_local18)); _local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0); _local19 = (-(m_limitMass2) * _local18); _local21 = m_limitPositionImpulse2; m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19)); _local19 = (m_limitPositionImpulse2 - _local21); _local14 = (-(_local19) * m_u2.x); _local15 = (-(_local19) * m_u2.y); _local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2.m_invMass * _local14)); _local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2.m_invMass * _local15)); _local2.m_sweep.a = (_local2.m_sweep.a + (_local2.m_invI * ((_local10 * _local15) - (_local11 * _local14)))); _local2.SynchronizeTransform(); }; return ((_local23 < b2Settings.b2_linearSlop)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; _local10 = (_local2.m_sweep.c.x + _local5); _local11 = (_local2.m_sweep.c.y + _local6); _local12 = (_local3.m_sweep.c.x + _local8); _local13 = (_local3.m_sweep.c.y + _local9); _local14 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local15 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local16 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local17 = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); _local18 = m_u1.Length(); _local19 = m_u2.Length(); if (_local18 > b2Settings.b2_linearSlop){ m_u1.Multiply((1 / _local18)); } else { m_u1.SetZero(); }; if (_local19 > b2Settings.b2_linearSlop){ m_u2.Multiply((1 / _local19)); } else { m_u2.SetZero(); }; _local20 = ((m_constant - _local18) - (m_ratio * _local19)); if (_local20 > 0){ m_state = e_inactiveLimit; m_force = 0; } else { m_state = e_atUpperLimit; m_positionImpulse = 0; }; if (_local18 < m_maxLength1){ m_limitState1 = e_inactiveLimit; m_limitForce1 = 0; } else { m_limitState1 = e_atUpperLimit; m_limitPositionImpulse1 = 0; }; if (_local19 < m_maxLength2){ m_limitState2 = e_inactiveLimit; m_limitForce2 = 0; } else { m_limitState2 = e_atUpperLimit; m_limitPositionImpulse2 = 0; }; _local21 = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); _local22 = ((_local8 * m_u2.y) - (_local9 * m_u2.x)); m_limitMass1 = (_local2.m_invMass + ((_local2.m_invI * _local21) * _local21)); m_limitMass2 = (_local3.m_invMass + ((_local3.m_invI * _local22) * _local22)); m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2)); m_limitMass1 = (1 / m_limitMass1); m_limitMass2 = (1 / m_limitMass2); m_pulleyMass = (1 / m_pulleyMass); if (_arg1.warmStarting){ _local23 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.x); _local24 = ((_arg1.dt * (-(m_force) - m_limitForce1)) * m_u1.y); _local25 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x); _local26 = ((_arg1.dt * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local23)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local24)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local24) - (_local6 * _local23)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local25)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local26)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local26) - (_local9 * _local25)))); } else { m_force = 0; m_limitForce1 = 0; m_limitForce2 = 0; }; } override public function GetReactionTorque():Number{ return (0); } public function GetRatio():Number{ return (m_ratio); } public function GetLength2():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body2.GetWorldPoint(m_localAnchor2); _local2 = (m_ground.m_xf.position.x + m_groundAnchor2.x); _local3 = (m_ground.m_xf.position.y + m_groundAnchor2.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local7; if (m_state == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13)))); _local19 = ((-(_arg1.inv_dt) * m_pulleyMass) * _local18); _local20 = m_force; m_force = b2Math.b2Max(0, (m_force + _local19)); _local19 = (m_force - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local16 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.x); _local17 = (((-(_arg1.dt) * m_ratio) * _local19) * m_u2.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; if (m_limitState1 == e_atUpperLimit){ _local10 = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local6)); _local11 = (_local2.m_linearVelocity.y + (_local2.m_angularVelocity * _local5)); _local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11))); _local19 = ((-(_arg1.inv_dt) * m_limitMass1) * _local18); _local20 = m_limitForce1; m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19)); _local19 = (m_limitForce1 - _local20); _local14 = ((-(_arg1.dt) * _local19) * m_u1.x); _local15 = ((-(_arg1.dt) * _local19) * m_u1.y); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x + (_local2.m_invMass * _local14)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y + (_local2.m_invMass * _local15)); _local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2.m_invI * ((_local5 * _local15) - (_local6 * _local14)))); }; if (m_limitState2 == e_atUpperLimit){ _local12 = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)); _local13 = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)); _local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13))); _local19 = ((-(_arg1.inv_dt) * m_limitMass2) * _local18); _local20 = m_limitForce2; m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19)); _local19 = (m_limitForce2 - _local20); _local16 = ((-(_arg1.dt) * _local19) * m_u2.x); _local17 = ((-(_arg1.dt) * _local19) * m_u2.y); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local16)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local17)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local17) - (_local9 * _local16)))); }; } public function GetLength1():Number{ var _local1:b2Vec2; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local1 = m_body1.GetWorldPoint(m_localAnchor1); _local2 = (m_ground.m_xf.position.x + m_groundAnchor1.x); _local3 = (m_ground.m_xf.position.y + m_groundAnchor1.y); _local4 = (_local1.x - _local2); _local5 = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2; _local1 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2PulleyJointDef extends b2JointDef { public var maxLength2:Number; public var length1:Number; public var length2:Number; public var maxLength1:Number; public var ratio:Number; public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public function b2PulleyJointDef(){ groundAnchor1 = new b2Vec2(); groundAnchor2 = new b2Vec2(); localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_pulleyJoint; groundAnchor1.Set(-1, 1); groundAnchor2.Set(1, 1); localAnchor1.Set(-1, 0); localAnchor2.Set(1, 0); length1 = 0; maxLength1 = 0; length2 = 0; maxLength2 = 0; ratio = 1; collideConnected = true; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); _local8 = (_arg5.x - _arg3.x); _local9 = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); _local10 = (_arg6.x - _arg4.x); _local11 = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; _local12 = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; import Box2D.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_motorForce:Number; public var m_pivotMass:b2Mat22; public var m_enableLimit:Boolean; public var m_limitState:int; public var m_motorMass:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; private var K1:b2Mat22; private var K2:b2Mat22; private var K3:b2Mat22; private var K:b2Mat22; public var m_pivotForce:b2Vec2; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_limitPositionImpulse:Number; public var m_maxMotorTorque:Number; public var m_referenceAngle:Number; public var m_lowerAngle:Number; public var m_upperAngle:Number; public static var tImpulse:b2Vec2 = new b2Vec2(); public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){ K = new b2Mat22(); K1 = new b2Mat22(); K2 = new b2Mat22(); K3 = new b2Mat22(); m_localAnchor1 = new b2Vec2(); m_localAnchor2 = new b2Vec2(); m_pivotForce = new b2Vec2(); m_pivotMass = new b2Mat22(); super(_arg1); m_localAnchor1.SetV(_arg1.localAnchor1); m_localAnchor2.SetV(_arg1.localAnchor2); m_referenceAngle = _arg1.referenceAngle; m_pivotForce.Set(0, 0); m_motorForce = 0; m_limitForce = 0; m_limitPositionImpulse = 0; m_lowerAngle = _arg1.lowerAngle; m_upperAngle = _arg1.upperAngle; m_maxMotorTorque = _arg1.maxMotorTorque; m_motorSpeed = _arg1.motorSpeed; m_enableLimit = _arg1.enableLimit; m_enableMotor = _arg1.enableMotor; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetUpperLimit():Number{ return (m_upperAngle); } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ return (m_pivotForce); } override public function SolvePositionConstraints():Boolean{ var _local1:Number; var _local2:Number; var _local3:b2Body; var _local4:b2Body; var _local5:Number; var _local6:b2Mat22; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:Number; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; _local3 = m_body1; _local4 = m_body2; _local5 = 0; _local6 = _local3.m_xf.R; _local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); _local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; _local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); _local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y); _local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11)); _local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11)); _local10 = _local9; _local12 = (_local3.m_sweep.c.x + _local7); _local13 = (_local3.m_sweep.c.y + _local8); _local14 = (_local4.m_sweep.c.x + _local10); _local15 = (_local4.m_sweep.c.y + _local11); _local16 = (_local14 - _local12); _local17 = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); _local18 = _local3.m_invMass; _local19 = _local4.m_invMass; _local20 = _local3.m_invI; _local21 = _local4.m_invI; K1.col1.x = (_local18 + _local19); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local18 + _local19); K2.col1.x = ((_local20 * _local8) * _local8); K2.col2.x = ((-(_local20) * _local7) * _local8); K2.col1.y = ((-(_local20) * _local7) * _local8); K2.col2.y = ((_local20 * _local7) * _local7); K3.col1.x = ((_local21 * _local11) * _local11); K3.col2.x = ((-(_local21) * _local10) * _local11); K3.col1.y = ((-(_local21) * _local10) * _local11); K3.col2.y = ((_local21 * _local10) * _local10); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Solve(tImpulse, -(_local16), -(_local17)); _local22 = tImpulse.x; _local23 = tImpulse.y; _local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3.m_invMass * _local22)); _local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3.m_invMass * _local23)); _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * ((_local7 * _local23) - (_local8 * _local22)))); _local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4.m_invMass * _local22)); _local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4.m_invMass * _local23)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * ((_local10 * _local23) - (_local11 * _local22)))); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); _local24 = 0; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle); _local26 = 0; if (m_limitState == e_equalLimits){ _local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local24 = b2Math.b2Abs(_local2); } else { if (m_limitState == e_atLowerLimit){ _local2 = (_local25 - m_lowerAngle); _local24 = b2Math.b2Max(0, -(_local2)); _local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); } else { if (m_limitState == e_atUpperLimit){ _local2 = (_local25 - m_upperAngle); _local24 = b2Math.b2Max(0, _local2); _local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection); _local26 = (-(m_motorMass) * _local2); _local1 = m_limitPositionImpulse; m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0); _local26 = (m_limitPositionImpulse - _local1); }; }; }; _local3.m_sweep.a = (_local3.m_sweep.a - (_local3.m_invI * _local26)); _local4.m_sweep.a = (_local4.m_sweep.a + (_local4.m_invI * _local26)); _local3.SynchronizeTransform(); _local4.SynchronizeTransform(); }; return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop)))); } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } public function SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function SetMaxMotorTorque(_arg1:Number):void{ m_maxMotorTorque = _arg1; } public function GetJointAngle():Number{ return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local10 = _local2.m_invMass; _local11 = _local3.m_invMass; _local12 = _local2.m_invI; _local13 = _local3.m_invI; K1.col1.x = (_local10 + _local11); K1.col2.x = 0; K1.col1.y = 0; K1.col2.y = (_local10 + _local11); K2.col1.x = ((_local12 * _local7) * _local7); K2.col2.x = ((-(_local12) * _local6) * _local7); K2.col1.y = ((-(_local12) * _local6) * _local7); K2.col2.y = ((_local12 * _local6) * _local6); K3.col1.x = ((_local13 * _local9) * _local9); K3.col2.x = ((-(_local13) * _local8) * _local9); K3.col1.y = ((-(_local13) * _local8) * _local9); K3.col2.y = ((_local13 * _local8) * _local8); K.SetM(K1); K.AddM(K2); K.AddM(K3); K.Invert(m_pivotMass); m_motorMass = (1 / (_local12 + _local13)); if (m_enableMotor == false){ m_motorForce = 0; }; if (m_enableLimit){ _local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle); if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){ m_limitState = e_equalLimits; } else { if (_local14 <= m_lowerAngle){ if (m_limitState != e_atLowerLimit){ m_limitForce = 0; }; m_limitState = e_atLowerLimit; } else { if (_local14 >= m_upperAngle){ if (m_limitState != e_atUpperLimit){ m_limitForce = 0; }; m_limitState = e_atUpperLimit; } else { m_limitState = e_inactiveLimit; m_limitForce = 0; }; }; }; } else { m_limitForce = 0; }; if (_arg1.warmStarting){ _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - ((_arg1.dt * _local10) * m_pivotForce.x)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - ((_arg1.dt * _local10) * m_pivotForce.y)); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.dt * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + ((_arg1.dt * _local11) * m_pivotForce.x)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + ((_arg1.dt * _local11) * m_pivotForce.y)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.dt * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce))); } else { m_pivotForce.SetZero(); m_motorForce = 0; m_limitForce = 0; }; m_limitPositionImpulse = 0; } public function EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function GetMotorTorque():Number{ return (m_motorForce); } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; _local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); _local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7)); _local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7)); _local6 = _local5; _local4 = _local3.m_xf.R; _local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); _local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y); _local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9)); _local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9)); _local8 = _local5; _local11 = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); _local12 = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); _local13 = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); _local14 = (-(_arg1.inv_dt) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12))); m_pivotForce.x = (m_pivotForce.x + _local13); m_pivotForce.y = (m_pivotForce.y + _local14); _local15 = (_arg1.dt * _local13); _local16 = (_arg1.dt * _local14); _local2.m_linearVelocity.x = (_local2.m_linearVelocity.x - (_local2.m_invMass * _local15)); _local2.m_linearVelocity.y = (_local2.m_linearVelocity.y - (_local2.m_invMass * _local16)); _local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2.m_invI * ((_local6 * _local16) - (_local7 * _local15)))); _local3.m_linearVelocity.x = (_local3.m_linearVelocity.x + (_local3.m_invMass * _local15)); _local3.m_linearVelocity.y = (_local3.m_linearVelocity.y + (_local3.m_invMass * _local16)); _local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3.m_invI * ((_local8 * _local16) - (_local9 * _local15)))); if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){ _local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed); _local18 = ((-(_arg1.inv_dt) * m_motorMass) * _local17); _local19 = m_motorForce; m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque); _local18 = (m_motorForce - _local19); _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local18)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local18)); }; if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){ _local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity); _local21 = ((-(_arg1.inv_dt) * m_motorMass) * _local20); if (m_limitState == e_equalLimits){ m_limitForce = (m_limitForce + _local21); } else { if (m_limitState == e_atLowerLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); } else { if (m_limitState == e_atUpperLimit){ _local10 = m_limitForce; m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0); _local21 = (m_limitForce - _local10); }; }; }; _local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2.m_invI * _arg1.dt) * _local21)); _local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3.m_invI * _arg1.dt) * _local21)); }; } } }//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef) package Box2D.Dynamics.Joints { import Box2D.Common.Math.*; import Box2D.Dynamics.*; public class b2RevoluteJointDef extends b2JointDef { public var referenceAngle:Number; public var upperAngle:Number; public var lowerAngle:Number; public var motorSpeed:Number; public var maxMotorTorque:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public function b2RevoluteJointDef(){ localAnchor1 = new b2Vec2(); localAnchor2 = new b2Vec2(); super(); type = b2Joint.e_revoluteJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); referenceAngle = 0; lowerAngle = 0; upperAngle = 0; maxMotorTorque = 0; motorSpeed = 0; enableLimit = false; enableMotor = false; } public function Initialize(_arg1:b2Body, _arg2:b2Body, _arg3:b2Vec2):void{ body1 = _arg1; body2 = _arg2; localAnchor1 = body1.GetLocalPoint(_arg3); localAnchor2 = body2.GetLocalPoint(_arg3); referenceAngle = (body2.GetAngle() - body1.GetAngle()); } } }//package Box2D.Dynamics.Joints
Section 64
//b2Body (Box2D.Dynamics.b2Body) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.Contacts.*; public class b2Body { public var m_next:b2Body; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_shapeList:b2Shape; public var m_force:b2Vec2; public var m_mass:Number; public var m_sweep:b2Sweep; public var m_xf:b2XForm; public var m_torque:Number; public var m_userData; public var m_flags:uint; public var m_world:b2World; public var m_prev:b2Body; public var m_invMass:Number; public var m_type:int; public var m_linearDamping:Number; public var m_angularDamping:Number; public var m_invI:Number; public var m_linearVelocity:b2Vec2; public var m_sleepTime:Number; public var m_shapeCount:int; public var m_jointList:b2JointEdge; public var m_I:Number; public static var e_fixedRotationFlag:uint = 64; public static var e_frozenFlag:uint = 2; public static var e_maxTypes:uint = 3; public static var e_sleepFlag:uint = 8; private static var s_massData:b2MassData = new b2MassData(); public static var e_bulletFlag:uint = 32; public static var e_staticType:uint = 1; public static var e_islandFlag:uint = 4; public static var e_allowSleepFlag:uint = 16; private static var s_xf1:b2XForm = new b2XForm(); public static var e_dynamicType:uint = 2; public function b2Body(_arg1:b2BodyDef, _arg2:b2World){ var _local3:b2Mat22; var _local4:b2Vec2; m_xf = new b2XForm(); m_sweep = new b2Sweep(); m_linearVelocity = new b2Vec2(); m_force = new b2Vec2(); super(); m_flags = 0; if (_arg1.isBullet){ m_flags = (m_flags | e_bulletFlag); }; if (_arg1.fixedRotation){ m_flags = (m_flags | e_fixedRotationFlag); }; if (_arg1.allowSleep){ m_flags = (m_flags | e_allowSleepFlag); }; if (_arg1.isSleeping){ m_flags = (m_flags | e_sleepFlag); }; m_world = _arg2; m_xf.position.SetV(_arg1.position); m_xf.R.Set(_arg1.angle); m_sweep.localCenter.SetV(_arg1.massData.center); m_sweep.t0 = 1; m_sweep.a0 = (m_sweep.a = _arg1.angle); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_jointList = null; m_contactList = null; m_prev = null; m_next = null; m_linearDamping = _arg1.linearDamping; m_angularDamping = _arg1.angularDamping; m_force.Set(0, 0); m_torque = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_sleepTime = 0; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.massData.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.massData.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; m_userData = _arg1.userData; m_shapeList = null; m_shapeCount = 0; } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } public function SynchronizeTransform():void{ var _local1:b2Mat22; var _local2:b2Vec2; m_xf.R.Set(m_sweep.a); _local1 = m_xf.R; _local2 = m_sweep.localCenter; m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y))); m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y))); } public function GetInertia():Number{ return (m_I); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SetMassFromShapes():void{ var _local1:b2Shape; var _local2:Number; var _local3:Number; var _local4:b2MassData; var _local5:b2Mat22; var _local6:b2Vec2; var _local7:int; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; _local2 = 0; _local3 = 0; _local4 = s_massData; _local1 = m_shapeList; while (_local1) { _local1.ComputeMass(_local4); m_mass = (m_mass + _local4.mass); _local2 = (_local2 + (_local4.mass * _local4.center.x)); _local3 = (_local3 + (_local4.mass * _local4.center.y)); m_I = (m_I + _local4.I); _local1 = _local1.m_next; }; if (m_mass > 0){ m_invMass = (1 / m_mass); _local2 = (_local2 * m_invMass); _local3 = (_local3 * m_invMass); }; if ((((m_I > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){ m_I = (m_I - (m_mass * ((_local2 * _local2) + (_local3 * _local3)))); m_invI = (1 / m_I); } else { m_I = 0; m_invI = 0; }; m_sweep.localCenter.Set(_local2, _local3); _local5 = m_xf.R; _local6 = m_sweep.localCenter; m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y)); m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local1 = m_shapeList; while (_local1) { _local1.UpdateSweepRadius(m_sweep.localCenter); _local1 = _local1.m_next; }; _local7 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local7 != m_type){ _local1 = m_shapeList; while (_local1) { _local1.RefilterProxy(m_world.m_broadPhase, m_xf); _local1 = _local1.m_next; }; }; } public function PutToSleep():void{ m_flags = (m_flags | e_sleepFlag); m_sleepTime = 0; m_linearVelocity.SetZero(); m_angularVelocity = 0; m_force.SetZero(); m_torque = 0; } public function GetJointList():b2JointEdge{ return (m_jointList); } public function SetXForm(_arg1:b2Vec2, _arg2:Number):Boolean{ var _local3:b2Shape; var _local4:b2Mat22; var _local5:b2Vec2; var _local6:Boolean; var _local7:Boolean; if (m_world.m_lock == true){ return (true); }; if (IsFrozen()){ return (false); }; m_xf.R.Set(_arg2); m_xf.position.SetV(_arg1); _local4 = m_xf.R; _local5 = m_sweep.localCenter; m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y)); m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); m_sweep.a0 = (m_sweep.a = _arg2); _local6 = false; _local3 = m_shapeList; while (_local3) { _local7 = _local3.Synchronize(m_world.m_broadPhase, m_xf, m_xf); if (_local7 == false){ _local6 = true; break; }; _local3 = _local3.m_next; }; if (_local6 == true){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local3 = m_shapeList; while (_local3) { _local3.DestroyProxy(m_world.m_broadPhase); _local3 = _local3.m_next; }; return (false); }; m_world.m_broadPhase.Commit(); return (true); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } public function ApplyForce(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_force.x = (m_force.x + _arg1.x); m_force.y = (m_force.y + _arg1.y); m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))); } public function SynchronizeShapes():Boolean{ var _local1:b2XForm; var _local2:b2Mat22; var _local3:b2Vec2; var _local4:b2Shape; var _local5:Boolean; _local1 = s_xf1; _local1.R.Set(m_sweep.a0); _local2 = _local1.R; _local3 = m_sweep.localCenter; _local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y))); _local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y))); _local5 = true; _local4 = m_shapeList; while (_local4) { _local5 = _local4.Synchronize(m_world.m_broadPhase, _local1, m_xf); if (_local5 == false){ break; }; _local4 = _local4.m_next; }; if (_local5 == false){ m_flags = (m_flags | e_frozenFlag); m_linearVelocity.SetZero(); m_angularVelocity = 0; _local4 = m_shapeList; while (_local4) { _local4.DestroyProxy(m_world.m_broadPhase); _local4 = _local4.m_next; }; return (false); }; return (true); } public function GetAngle():Number{ return (m_sweep.a); } public function GetXForm():b2XForm{ return (m_xf); } public function ApplyImpulse(_arg1:b2Vec2, _arg2:b2Vec2):void{ if (IsSleeping()){ WakeUp(); }; m_linearVelocity.x = (m_linearVelocity.x + (m_invMass * _arg1.x)); m_linearVelocity.y = (m_linearVelocity.y + (m_invMass * _arg1.y)); m_angularVelocity = (m_angularVelocity + (m_invI * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)))); } public function GetNext():b2Body{ return (m_next); } public function GetMass():Number{ return (m_mass); } public function GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_local3.x - m_sweep.c.x))))); } public function GetAngularVelocity():Number{ return (m_angularVelocity); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _arg1; } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; var _local3:b2Mat22; var _local4:b2Vec2; var _local5:int; if (m_world.m_lock == true){ return; }; m_invMass = 0; m_I = 0; m_invI = 0; m_mass = _arg1.mass; if (m_mass > 0){ m_invMass = (1 / m_mass); }; if ((m_flags & b2Body.e_fixedRotationFlag) == 0){ m_I = _arg1.I; }; if (m_I > 0){ m_invI = (1 / m_I); }; m_sweep.localCenter.SetV(_arg1.center); _local3 = m_xf.R; _local4 = m_sweep.localCenter; m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)); m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)); m_sweep.c.x = (m_sweep.c.x + m_xf.position.x); m_sweep.c.y = (m_sweep.c.y + m_xf.position.y); m_sweep.c0.SetV(m_sweep.c); _local2 = m_shapeList; while (_local2) { _local2.UpdateSweepRadius(m_sweep.localCenter); _local2 = _local2.m_next; }; _local5 = m_type; if ((((m_invMass == 0)) && ((m_invI == 0)))){ m_type = e_staticType; } else { m_type = e_dynamicType; }; if (_local5 != m_type){ _local2 = m_shapeList; while (_local2) { _local2.RefilterProxy(m_world.m_broadPhase, m_xf); _local2 = _local2.m_next; }; }; } public function IsStatic():Boolean{ return ((m_type == e_staticType)); } public function GetWorldVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulMV(m_xf.R, _arg1)); } public function GetShapeList():b2Shape{ return (m_shapeList); } public function Advance(_arg1:Number):void{ m_sweep.Advance(_arg1); m_sweep.c.SetV(m_sweep.c0); m_sweep.a = m_sweep.a0; SynchronizeTransform(); } public function SetBullet(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_bulletFlag); } else { m_flags = (m_flags & ~(e_bulletFlag)); }; } public function CreateShape(_arg1:b2ShapeDef):b2Shape{ var _local2:b2Shape; if (m_world.m_lock == true){ return (null); }; _local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator); _local2.m_next = m_shapeList; m_shapeList = _local2; m_shapeCount++; _local2.m_body = this; _local2.CreateProxy(m_world.m_broadPhase, m_xf); _local2.UpdateSweepRadius(m_sweep.localCenter); return (_local2); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge; _local2 = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } public function DestroyShape(_arg1:b2Shape):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:Boolean; if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); _local2 = m_shapeList; _local3 = null; _local4 = false; while (_local2 != null) { if (_local2 == _arg1){ if (_local3){ _local3.m_next = _arg1.m_next; } else { m_shapeList = _arg1.m_next; }; _local4 = true; break; }; _local3 = _local2; _local2 = _local2.m_next; }; _arg1.m_body = null; _arg1.m_next = null; m_shapeCount--; b2Shape.Destroy(_arg1, m_world.m_blockAllocator); } public function GetUserData(){ return (m_userData); } public function IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22; var _local3:b2Vec2; _local2 = m_xf.R; _local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y))); _local3.x = (_local3.x + m_xf.position.x); _local3.y = (_local3.y + m_xf.position.y); return (_local3); } public function GetWorld():b2World{ return (m_world); } public function GetPosition():b2Vec2{ return (m_xf.position); } } }//package Box2D.Dynamics
Section 65
//b2BodyDef (Box2D.Dynamics.b2BodyDef) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; public class b2BodyDef { public var isSleeping:Boolean; public var position:b2Vec2; public var isBullet:Boolean; public var allowSleep:Boolean; public var userData; public var angularDamping:Number; public var fixedRotation:Boolean; public var angle:Number; public var linearDamping:Number; public var massData:b2MassData; public function b2BodyDef(){ massData = new b2MassData(); position = new b2Vec2(); super(); massData.center.SetZero(); massData.mass = 0; massData.I = 0; userData = null; position.Set(0, 0); angle = 0; linearDamping = 0; angularDamping = 0; allowSleep = true; isSleeping = false; fixedRotation = false; isBullet = false; } } }//package Box2D.Dynamics
Section 66
//b2BoundaryListener (Box2D.Dynamics.b2BoundaryListener) package Box2D.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package Box2D.Dynamics
Section 67
//b2ContactFilter (Box2D.Dynamics.b2ContactFilter) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData; var _local4:b2FilterData; var _local5:Boolean; _local3 = _arg1.GetFilterData(); _local4 = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; _local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package Box2D.Dynamics
Section 68
//b2ContactListener (Box2D.Dynamics.b2ContactListener) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2ContactListener { public var other2:Array; public var konec:Boolean;// = false public var other:Array; public var touched:Boolean;// = false public function b2ContactListener(){ konec = false; other = new Array(); other2 = new Array(); touched = false; super(); } public function contain2(_arg1):Boolean{ var _local2:*; _local2 = 0; while (_local2 < other2.length) { if (_arg1 == other2[_local2]){ return (true); }; _local2++; }; return (false); } public function Add(_arg1:b2ContactPoint):void{ if ((((_arg1.shape2.GetBody().GetUserData().name.indexOf("added") > -1)) && ((_arg1.shape1.GetBody().GetUserData().name == "Floor")))){ if (!contain(_arg1.shape2.GetBody())){ konec = true; }; }; if ((((_arg1.shape2.GetBody().GetUserData().name.indexOf("last") > -1)) && ((_arg1.shape1.GetBody().GetUserData().name == "Floor")))){ if (!contain(_arg1.shape2.GetBody())){ konec = true; }; }; if ((((_arg1.shape2.GetBody().GetUserData().name.indexOf("last") > -1)) && ((_arg1.shape1.GetBody().GetUserData().name.indexOf("added") > -1)))){ if (!contain2(_arg1.shape2)){ touched = true; other2.push(_arg1.shape2); }; }; } public function Remove(_arg1:b2ContactPoint):void{ } public function contain(_arg1):Boolean{ var _local2:*; _local2 = 0; while (_local2 < other.length) { if (_arg1 == other[_local2]){ return (true); }; _local2++; }; return (false); } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package Box2D.Dynamics
Section 69
//b2ContactManager (Box2D.Dynamics.b2ContactManager) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; public class b2ContactManager extends b2PairCallback { public var m_world:b2World; public var m_destroyImmediate:Boolean; public var m_nullContact:b2NullContact; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2ContactManager(){ m_nullContact = new b2NullContact(); super(); m_world = null; m_destroyImmediate = false; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2Contact; _local3 = (_arg1 as b2Shape); _local4 = (_arg2 as b2Shape); _local5 = _local3.m_body; _local6 = _local4.m_body; if (((_local5.IsStatic()) && (_local6.IsStatic()))){ return (m_nullContact); }; if (_local3.m_body == _local4.m_body){ return (m_nullContact); }; if (_local6.IsConnected(_local5)){ return (m_nullContact); }; if (((!((m_world.m_contactFilter == null))) && ((m_world.m_contactFilter.ShouldCollide(_local3, _local4) == false)))){ return (m_nullContact); }; _local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator); if (_local7 == null){ return (m_nullContact); }; _local3 = _local7.m_shape1; _local4 = _local7.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local7.m_prev = null; _local7.m_next = m_world.m_contactList; if (m_world.m_contactList != null){ m_world.m_contactList.m_prev = _local7; }; m_world.m_contactList = _local7; _local7.m_node1.contact = _local7; _local7.m_node1.other = _local6; _local7.m_node1.prev = null; _local7.m_node1.next = _local5.m_contactList; if (_local5.m_contactList != null){ _local5.m_contactList.prev = _local7.m_node1; }; _local5.m_contactList = _local7.m_node1; _local7.m_node2.contact = _local7; _local7.m_node2.other = _local5; _local7.m_node2.prev = null; _local7.m_node2.next = _local6.m_contactList; if (_local6.m_contactList != null){ _local6.m_contactList.prev = _local7.m_node2; }; _local6.m_contactList = _local7.m_node2; m_world.m_contactCount++; return (_local7); } override public function PairRemoved(_arg1, _arg2, _arg3):void{ var _local4:b2Contact; if (_arg3 == null){ return; }; _local4 = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ var _local2:b2Shape; var _local3:b2Shape; var _local4:int; var _local5:b2Body; var _local6:b2Body; var _local7:b2Body; var _local8:b2Body; var _local9:Array; var _local10:b2ContactPoint; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2Vec2; var _local16:b2Vec2; _local2 = _arg1.m_shape1; _local3 = _arg1.m_shape2; _local4 = _arg1.m_manifoldCount; if ((((_local4 > 0)) && (m_world.m_contactListener))){ _local7 = _local2.m_body; _local8 = _local3.m_body; _local9 = _arg1.GetManifolds(); _local10 = s_evalCP; _local10.shape1 = _arg1.m_shape1; _local10.shape2 = _arg1.m_shape2; _local10.friction = _arg1.m_friction; _local10.restitution = _arg1.m_restitution; _local11 = 0; while (_local11 < _local4) { _local12 = _local9[_local11]; _local10.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local10.position = _local7.GetWorldPoint(_local14.localPoint1); _local15 = _local7.GetLinearVelocityFromLocalPoint(_local14.localPoint1); _local16 = _local8.GetLinearVelocityFromLocalPoint(_local14.localPoint2); _local10.velocity.Set((_local16.x - _local15.x), (_local16.y - _local15.y)); _local10.separation = _local14.separation; _local10.id.key = _local14.id._key; m_world.m_contactListener.Remove(_local10); _local13++; }; _local11++; }; }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_world.m_contactList){ m_world.m_contactList = _arg1.m_next; }; _local5 = _local2.m_body; _local6 = _local3.m_body; if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local5.m_contactList){ _local5.m_contactList = _arg1.m_node1.next; }; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local6.m_contactList){ _local6.m_contactList = _arg1.m_node2.next; }; b2Contact.Destroy(_arg1, m_world.m_blockAllocator); m_world.m_contactCount--; } public function Collide():void{ var _local1:b2Contact; var _local2:b2Body; var _local3:b2Body; _local1 = m_world.m_contactList; while (_local1) { _local2 = _local1.m_shape1.m_body; _local3 = _local1.m_shape2.m_body; if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){ } else { _local1.Update(m_world.m_contactListener); }; _local1 = _local1.m_next; }; } } }//package Box2D.Dynamics
Section 70
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw) package Box2D.Dynamics { import flash.display.*; import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2DebugDraw { public var m_xformScale:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_alpha:Number;// = 1 public var m_lineThickness:Number;// = 1 public var m_drawFlags:uint; public var m_sprite:Sprite; public var m_drawScale:Number;// = 1 public static var e_coreShapeBit:uint = 4; public static var e_shapeBit:uint = 1; public static var e_centerOfMassBit:uint = 64; public static var e_aabbBit:uint = 8; public static var e_obbBit:uint = 16; public static var e_pairBit:uint = 32; public static var e_jointBit:uint = 2; public function b2DebugDraw(){ m_drawScale = 1; m_lineThickness = 1; m_alpha = 1; m_fillAlpha = 1; m_xformScale = 1; super(); m_drawFlags = 0; } public function DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.beginFill(_arg3.color, m_fillAlpha); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); m_sprite.graphics.endFill(); } public function DrawCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); } public function DrawXForm(_arg1:b2XForm):void{ m_sprite.graphics.lineStyle(m_lineThickness, 0xFF0000, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col1.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col1.y)) * m_drawScale)); m_sprite.graphics.lineStyle(m_lineThickness, 0xFF00, m_alpha); m_sprite.graphics.moveTo((_arg1.position.x * m_drawScale), (_arg1.position.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.position.x + (m_xformScale * _arg1.R.col2.x)) * m_drawScale), ((_arg1.position.y + (m_xformScale * _arg1.R.col2.y)) * m_drawScale)); } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } public function DrawSolidCircle(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg4.color, m_alpha); m_sprite.graphics.moveTo(0, 0); m_sprite.graphics.beginFill(_arg4.color, m_fillAlpha); m_sprite.graphics.drawCircle((_arg1.x * m_drawScale), (_arg1.y * m_drawScale), (_arg2 * m_drawScale)); m_sprite.graphics.endFill(); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * m_drawScale), ((_arg1.y + (_arg3.y * _arg2)) * m_drawScale)); } public function SetFlags(_arg1:uint):void{ m_drawFlags = _arg1; } public function AppendFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags | _arg1); } public function DrawSegment(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1.x * m_drawScale), (_arg1.y * m_drawScale)); m_sprite.graphics.lineTo((_arg2.x * m_drawScale), (_arg2.y * m_drawScale)); } public function GetFlags():uint{ return (m_drawFlags); } public function DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ var _local4:int; m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); _local4 = 1; while (_local4 < _arg2) { m_sprite.graphics.lineTo((_arg1[_local4].x * m_drawScale), (_arg1[_local4].y * m_drawScale)); _local4++; }; m_sprite.graphics.lineTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); } } }//package Box2D.Dynamics
Section 71
//b2DestructionListener (Box2D.Dynamics.b2DestructionListener) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeJoint(_arg1:b2Joint):void{ } public function SayGoodbyeShape(_arg1:b2Shape):void{ } } }//package Box2D.Dynamics
Section 72
//b2Island (Box2D.Dynamics.b2Island) package Box2D.Dynamics { import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2Island { public var m_joints:Array; public var m_listener:b2ContactListener; public var m_positionIterationCount:int; public var m_bodyCapacity:int; public var m_bodies:Array; public var m_jointCapacity:int; public var m_contactCount:int; public var m_contacts:Array; public var m_contactCapacity:int; public var m_jointCount:int; public var m_allocator; public var m_bodyCount:int; private static var s_reportCR:b2ContactResult = new b2ContactResult(); public function b2Island(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:b2ContactListener){ var _local6:int; super(); m_bodyCapacity = _arg1; m_contactCapacity = _arg2; m_jointCapacity = _arg3; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_allocator = _arg4; m_listener = _arg5; m_bodies = new Array(_arg1); _local6 = 0; while (_local6 < _arg1) { m_bodies[_local6] = null; _local6++; }; m_contacts = new Array(_arg2); _local6 = 0; while (_local6 < _arg2) { m_contacts[_local6] = null; _local6++; }; m_joints = new Array(_arg3); _local6 = 0; while (_local6 < _arg3) { m_joints[_local6] = null; _local6++; }; m_positionIterationCount = 0; } public function AddBody(_arg1:b2Body):void{ var _local2 = m_bodyCount++; m_bodies[_local2] = _arg1; } public function AddJoint(_arg1:b2Joint):void{ var _local2 = m_jointCount++; m_joints[_local2] = _arg1; } public function Report(_arg1:Array):void{ var _local2:b2Mat22; var _local3:b2Vec2; var _local4:int; var _local5:b2Contact; var _local6:b2ContactConstraint; var _local7:b2ContactResult; var _local8:b2Body; var _local9:int; var _local10:Array; var _local11:int; var _local12:b2Manifold; var _local13:int; var _local14:b2ManifoldPoint; var _local15:b2ContactConstraintPoint; if (m_listener == null){ return; }; _local4 = 0; while (_local4 < m_contactCount) { _local5 = m_contacts[_local4]; _local6 = _arg1[_local4]; _local7 = s_reportCR; _local7.shape1 = _local5.m_shape1; _local7.shape2 = _local5.m_shape2; _local8 = _local7.shape1.m_body; _local9 = _local5.m_manifoldCount; _local10 = _local5.GetManifolds(); _local11 = 0; while (_local11 < _local9) { _local12 = _local10[_local11]; _local7.normal.SetV(_local12.normal); _local13 = 0; while (_local13 < _local12.pointCount) { _local14 = _local12.points[_local13]; _local15 = _local6.points[_local13]; _local7.position = _local8.GetWorldPoint(_local14.localPoint1); _local7.normalImpulse = _local15.normalImpulse; _local7.tangentImpulse = _local15.tangentImpulse; _local7.id.key = _local14.id.key; m_listener.Result(_local7); _local13++; }; _local11++; }; _local4++; }; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; var _local8:b2ContactSolver; var _local9:int; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; var _local13:Number; var _local14:Number; var _local15:Number; _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x + (_arg1.dt * (_arg2.x + (_local6.m_invMass * _local6.m_force.x)))); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y + (_arg1.dt * (_arg2.y + (_local6.m_invMass * _local6.m_force.y)))); _local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.dt * _local6.m_invI) * _local6.m_torque)); _local6.m_force.SetZero(); _local6.m_torque = 0; _local6.m_linearVelocity.Multiply(b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_linearDamping)), 0, 1)); _local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.dt * _local6.m_angularDamping)), 0, 1)); if (_local6.m_linearVelocity.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){ _local6.m_linearVelocity.Normalize(); _local6.m_linearVelocity.x = (_local6.m_linearVelocity.x * b2Settings.b2_maxLinearVelocity); _local6.m_linearVelocity.y = (_local6.m_linearVelocity.y * b2Settings.b2_maxLinearVelocity); }; if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){ if (_local6.m_angularVelocity < 0){ _local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity); } else { _local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity; }; }; }; _local5++; }; _local8 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local8.InitVelocityConstraints(_arg1); _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitVelocityConstraints(_arg1); _local5++; }; _local5 = 0; while (_local5 < _arg1.maxIterations) { _local8.SolveVelocityConstraints(); _local9 = 0; while (_local9 < m_jointCount) { _local7 = m_joints[_local9]; _local7.SolveVelocityConstraints(_arg1); _local9++; }; _local5++; }; _local8.FinalizeVelocityConstraints(); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.IsStatic()){ } else { _local6.m_sweep.c0.SetV(_local6.m_sweep.c); _local6.m_sweep.a0 = _local6.m_sweep.a; _local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.dt * _local6.m_linearVelocity.x)); _local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.dt * _local6.m_linearVelocity.y)); _local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.dt * _local6.m_angularVelocity)); _local6.SynchronizeTransform(); }; _local5++; }; if (_arg3){ _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local7.InitPositionConstraints(); _local5++; }; m_positionIterationCount = 0; while (m_positionIterationCount < _arg1.maxIterations) { _local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte); _local11 = true; _local5 = 0; while (_local5 < m_jointCount) { _local7 = m_joints[_local5]; _local12 = _local7.SolvePositionConstraints(); _local11 = ((_local11) && (_local12)); _local5++; }; if (((_local10) && (_local11))){ break; }; m_positionIterationCount++; }; }; Report(_local8.m_constraints); if (_arg4){ _local13 = Number.MAX_VALUE; _local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance); _local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance); _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; if (_local6.m_invMass == 0){ } else { if ((_local6.m_flags & b2Body.e_allowSleepFlag) == 0){ _local6.m_sleepTime = 0; _local13 = 0; }; if (((((((_local6.m_flags & b2Body.e_allowSleepFlag) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6.m_linearVelocity, _local6.m_linearVelocity) > _local14)))){ _local6.m_sleepTime = 0; _local13 = 0; } else { _local6.m_sleepTime = (_local6.m_sleepTime + _arg1.dt); _local13 = b2Math.b2Min(_local13, _local6.m_sleepTime); }; }; _local5++; }; if (_local13 >= b2Settings.b2_timeToSleep){ _local5 = 0; while (_local5 < m_bodyCount) { _local6 = m_bodies[_local5]; m_bodies[_local5].m_flags = (_local6.m_flags | b2Body.e_sleepFlag); _local6.m_linearVelocity.SetZero(); _local6.m_angularVelocity = 0; _local5++; }; }; }; } public function AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local3:b2ContactSolver; var _local4:Number; var _local5:b2Body; var _local6:Boolean; _local3 = new b2ContactSolver(_arg1, m_contacts, m_contactCount, m_allocator); _local2 = 0; while (_local2 < _arg1.maxIterations) { _local3.SolveVelocityConstraints(); _local2++; }; _local2 = 0; while (_local2 < m_bodyCount) { _local5 = m_bodies[_local2]; if (_local5.IsStatic()){ } else { _local5.m_sweep.c0.SetV(_local5.m_sweep.c); _local5.m_sweep.a0 = _local5.m_sweep.a; _local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.dt * _local5.m_linearVelocity.x)); _local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.dt * _local5.m_linearVelocity.y)); _local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.dt * _local5.m_angularVelocity)); _local5.SynchronizeTransform(); }; _local2++; }; _local4 = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } } }//package Box2D.Dynamics
Section 73
//b2TimeStep (Box2D.Dynamics.b2TimeStep) package Box2D.Dynamics { public class b2TimeStep { public var warmStarting:Boolean; public var positionCorrection:Boolean; public var dt:Number; public var maxIterations:int; public var dtRatio:Number; public var inv_dt:Number; } }//package Box2D.Dynamics
Section 74
//b2World (Box2D.Dynamics.b2World) package Box2D.Dynamics { import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Collision.*; import Box2D.Dynamics.Contacts.*; import Box2D.Common.*; public class b2World { public var m_inv_dt0:Number; public var m_boundaryListener:b2BoundaryListener; public var m_contactList:b2Contact; public var m_blockAllocator; public var m_contactListener:b2ContactListener; public var m_allowSleep:Boolean; public var m_broadPhase:b2BroadPhase; public var m_destructionListener:b2DestructionListener; public var m_jointCount:int; public var m_bodyCount:int; public var m_lock:Boolean; public var m_positionIterationCount:int; public var m_groundBody:b2Body; public var m_contactCount:int; public var m_debugDraw:b2DebugDraw; public var m_contactFilter:b2ContactFilter; public var m_bodyList:b2Body; public var m_stackAllocator; public var m_jointList:b2Joint; public var m_gravity:b2Vec2; public var m_contactManager:b2ContactManager; private static var s_jointColor:b2Color = new b2Color(0.5, 0.8, 0.8); public static var m_continuousPhysics:Boolean; public static var m_warmStarting:Boolean; private static var s_coreColor:b2Color = new b2Color(0.9, 0.6, 0.6); public static var m_positionCorrection:Boolean; private static var s_xf:b2XForm = new b2XForm(); public function b2World(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){ var _local4:b2BodyDef; m_contactManager = new b2ContactManager(); super(); m_destructionListener = null; m_boundaryListener = null; m_contactFilter = b2ContactFilter.b2_defaultFilter; m_contactListener = null; m_debugDraw = null; m_bodyList = null; m_contactList = null; m_jointList = null; m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; m_positionCorrection = true; m_warmStarting = true; m_continuousPhysics = true; m_allowSleep = _arg3; m_gravity = _arg2; m_lock = false; m_inv_dt0 = 0; m_contactManager.m_world = this; m_broadPhase = new b2BroadPhase(_arg1, m_contactManager); _local4 = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function DrawJoint(_arg1:b2Joint):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2XForm; var _local5:b2XForm; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; _local2 = _arg1.m_body1; _local3 = _arg1.m_body2; _local4 = _local2.m_xf; _local5 = _local3.m_xf; _local6 = _local4.position; _local7 = _local5.position; _local8 = _arg1.GetAnchor1(); _local9 = _arg1.GetAnchor2(); _local10 = s_jointColor; switch (_arg1.m_type){ case b2Joint.e_distanceJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; case b2Joint.e_pulleyJoint: _local11 = (_arg1 as b2PulleyJoint); _local12 = _local11.GetGroundAnchor1(); _local13 = _local11.GetGroundAnchor2(); m_debugDraw.DrawSegment(_local12, _local8, _local10); m_debugDraw.DrawSegment(_local13, _local9, _local10); m_debugDraw.DrawSegment(_local12, _local13, _local10); break; case b2Joint.e_mouseJoint: m_debugDraw.DrawSegment(_local8, _local9, _local10); break; default: if (_local2 != m_groundBody){ m_debugDraw.DrawSegment(_local6, _local8, _local10); }; m_debugDraw.DrawSegment(_local8, _local9, _local10); if (_local3 != m_groundBody){ m_debugDraw.DrawSegment(_local7, _local9, _local10); }; }; } public function Refilter(_arg1:b2Shape):void{ _arg1.RefilterProxy(m_broadPhase, _arg1.m_body.m_xf); } public function SetDebugDraw(_arg1:b2DebugDraw):void{ m_debugDraw = _arg1; } public function SetContinuousPhysics(_arg1:Boolean):void{ m_continuousPhysics = _arg1; } public function GetProxyCount():int{ return (m_broadPhase.m_proxyCount); } public function DrawDebugData():void{ var _local1:uint; var _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local7:b2Vec2; var _local8:b2Vec2; var _local9:b2Vec2; var _local10:b2Color; var _local11:b2XForm; var _local12:b2AABB; var _local13:b2AABB; var _local14:Array; var _local15:Boolean; var _local16:uint; var _local17:b2Pair; var _local18:b2Proxy; var _local19:b2Proxy; var _local20:b2Vec2; var _local21:b2Vec2; var _local22:b2Proxy; var _local23:b2PolygonShape; var _local24:b2OBB; var _local25:b2Vec2; var _local26:b2Mat22; var _local27:b2Vec2; var _local28:Number; if (m_debugDraw == null){ return; }; m_debugDraw.m_sprite.graphics.clear(); _local1 = m_debugDraw.GetFlags(); _local7 = new b2Vec2(); _local8 = new b2Vec2(); _local9 = new b2Vec2(); _local10 = new b2Color(0, 0, 0); _local12 = new b2AABB(); _local13 = new b2AABB(); _local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()]; if ((_local1 & b2DebugDraw.e_shapeBit)){ _local15 = ((_local1 & b2DebugDraw.e_coreShapeBit) == b2DebugDraw.e_coreShapeBit); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local3.IsStatic()){ DrawShape(_local4, _local11, new b2Color(1, 1, 1), _local15); } else { if (_local3.IsSleeping()){ DrawShape(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15); } else { DrawShape(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15); }; }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_jointBit)){ _local5 = m_jointList; while (_local5) { DrawJoint(_local5); _local5 = _local5.m_next; }; }; if ((_local1 & b2DebugDraw.e_pairBit)){ _local6 = m_broadPhase; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.9, 0.3); _local2 = 0; while (_local2 < b2Pair.b2_tableCapacity) { _local16 = _local6.m_pairManager.m_hashTable[_local2]; while (_local16 != b2Pair.b2_nullPair) { _local17 = _local6.m_pairManager.m_pairs[_local16]; _local18 = _local6.m_proxyPool[_local17.proxyId1]; _local19 = _local6.m_proxyPool[_local17.proxyId2]; _local12.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.lowerBounds[0]].value)); _local12.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.lowerBounds[1]].value)); _local12.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local18.upperBounds[0]].value)); _local12.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local18.upperBounds[1]].value)); _local13.lowerBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.lowerBounds[0]].value)); _local13.lowerBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.lowerBounds[1]].value)); _local13.upperBound.x = (_local6.m_worldAABB.lowerBound.x + (_local7.x * _local6.m_bounds[0][_local19.upperBounds[0]].value)); _local13.upperBound.y = (_local6.m_worldAABB.lowerBound.y + (_local7.y * _local6.m_bounds[1][_local19.upperBounds[1]].value)); _local8.x = (0.5 * (_local12.lowerBound.x + _local12.upperBound.x)); _local8.y = (0.5 * (_local12.lowerBound.y + _local12.upperBound.y)); _local9.x = (0.5 * (_local13.lowerBound.x + _local13.upperBound.x)); _local9.y = (0.5 * (_local13.lowerBound.y + _local13.upperBound.y)); m_debugDraw.DrawSegment(_local8, _local9, _local10); _local16 = _local17.next; }; _local2++; }; }; if ((_local1 & b2DebugDraw.e_aabbBit)){ _local6 = m_broadPhase; _local20 = _local6.m_worldAABB.lowerBound; _local21 = _local6.m_worldAABB.upperBound; _local7.Set((1 / _local6.m_quantizationFactor.x), (1 / _local6.m_quantizationFactor.y)); _local10.Set(0.9, 0.3, 0.9); _local2 = 0; while (_local2 < b2Settings.b2_maxProxies) { _local22 = _local6.m_proxyPool[_local2]; if (_local22.IsValid() == false){ } else { _local12.lowerBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.lowerBounds[0]].value)); _local12.lowerBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.lowerBounds[1]].value)); _local12.upperBound.x = (_local20.x + (_local7.x * _local6.m_bounds[0][_local22.upperBounds[0]].value)); _local12.upperBound.y = (_local20.y + (_local7.y * _local6.m_bounds[1][_local22.upperBounds[1]].value)); _local14[0].Set(_local12.lowerBound.x, _local12.lowerBound.y); _local14[1].Set(_local12.upperBound.x, _local12.lowerBound.y); _local14[2].Set(_local12.upperBound.x, _local12.upperBound.y); _local14[3].Set(_local12.lowerBound.x, _local12.upperBound.y); m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local2++; }; _local14[0].Set(_local20.x, _local20.y); _local14[1].Set(_local21.x, _local20.y); _local14[2].Set(_local21.x, _local21.y); _local14[3].Set(_local20.x, _local21.y); m_debugDraw.DrawPolygon(_local14, 4, new b2Color(0.3, 0.9, 0.9)); }; if ((_local1 & b2DebugDraw.e_obbBit)){ _local10.Set(0.5, 0.3, 0.5); _local3 = m_bodyList; while (_local3) { _local11 = _local3.m_xf; _local4 = _local3.GetShapeList(); while (_local4) { if (_local4.m_type != b2Shape.e_polygonShape){ } else { _local23 = (_local4 as b2PolygonShape); _local24 = _local23.GetOBB(); _local25 = _local24.extents; _local14[0].Set(-(_local25.x), -(_local25.y)); _local14[1].Set(_local25.x, -(_local25.y)); _local14[2].Set(_local25.x, _local25.y); _local14[3].Set(-(_local25.x), _local25.y); _local2 = 0; while (_local2 < 4) { _local26 = _local24.R; _local27 = _local14[_local2]; _local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local26 = _local11.R; _local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y))); _local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y))); _local14[_local2].x = _local28; _local2++; }; m_debugDraw.DrawPolygon(_local14, 4, _local10); }; _local4 = _local4.m_next; }; _local3 = _local3.m_next; }; }; if ((_local1 & b2DebugDraw.e_centerOfMassBit)){ _local3 = m_bodyList; while (_local3) { _local11 = s_xf; _local11.R = _local3.m_xf.R; _local11.position = _local3.GetWorldCenter(); m_debugDraw.DrawXForm(_local11); _local3 = _local3.m_next; }; }; } public function DestroyBody(_arg1:b2Body):void{ var _local2:b2JointEdge; var _local3:b2Shape; var _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; _local2 = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; _local3 = _arg1.m_shapeList; while (_local3) { _local5 = _local3; _local3 = _local3.m_next; if (m_destructionListener){ m_destructionListener.SayGoodbyeShape(_local5); }; _local5.DestroyProxy(m_broadPhase); b2Shape.Destroy(_local5, m_blockAllocator); }; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_bodyList){ m_bodyList = _arg1.m_next; }; m_bodyCount--; } public function SetContactFilter(_arg1:b2ContactFilter):void{ m_contactFilter = _arg1; } public function GetGroundBody():b2Body{ return (m_groundBody); } public function DrawShape(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{ var _local5:b2Color; var _local6:b2CircleShape; var _local7:b2Vec2; var _local8:Number; var _local9:b2Vec2; var _local10:int; var _local11:b2PolygonShape; var _local12:int; var _local13:Array; var _local14:Array; var _local15:Array; _local5 = s_coreColor; switch (_arg1.m_type){ case b2Shape.e_circleShape: _local6 = (_arg1 as b2CircleShape); _local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition); _local8 = _local6.m_radius; _local9 = _arg2.R.col1; m_debugDraw.DrawSolidCircle(_local7, _local8, _local9, _arg3); if (_arg4){ m_debugDraw.DrawCircle(_local7, (_local8 - b2Settings.b2_toiSlop), _local5); }; break; case b2Shape.e_polygonShape: _local11 = (_arg1 as b2PolygonShape); _local12 = _local11.GetVertexCount(); _local13 = _local11.GetVertices(); _local14 = new Array(b2Settings.b2_maxPolygonVertices); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]); _local10++; }; m_debugDraw.DrawSolidPolygon(_local14, _local12, _arg3); if (_arg4){ _local15 = _local11.GetCoreVertices(); _local10 = 0; while (_local10 < _local12) { _local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]); _local10++; }; m_debugDraw.DrawPolygon(_local14, _local12, _local5); }; break; }; } public function GetContactCount():int{ return (m_contactCount); } public function Solve(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Island; var _local4:b2Contact; var _local5:b2Joint; var _local6:int; var _local7:Array; var _local8:b2Body; var _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; _local3 = new b2Island(m_bodyCount, m_contactCount, m_jointCount, m_stackAllocator, m_contactListener); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2 = _local2.m_next; }; _local4 = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; _local5 = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; _local6 = m_bodyCount; _local7 = new Array(_local6); _local8 = m_bodyList; while (_local8) { if ((_local8.m_flags & ((b2Body.e_islandFlag | b2Body.e_sleepFlag) | b2Body.e_frozenFlag))){ } else { if (_local8.IsStatic()){ } else { _local3.Clear(); _local9 = 0; var _temp1 = _local9; _local9 = (_local9 + 1); var _local15 = _temp1; _local7[_local15] = _local8; _local8.m_flags = (_local8.m_flags | b2Body.e_islandFlag); while (_local9 > 0) { --_local9; _local2 = _local7[_local9]; _local3.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local12 = _local2.m_contactList; while (_local12) { if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){ } else { if (_local12.contact.m_manifoldCount == 0){ } else { _local3.AddContact(_local12.contact); _local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag); _local11 = _local12.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp2 = _local9; _local9 = (_local9 + 1); var _local16 = _temp2; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; }; _local12 = _local12.next; }; _local13 = _local2.m_jointList; while (_local13) { if (_local13.joint.m_islandFlag == true){ } else { _local3.AddJoint(_local13.joint); _local13.joint.m_islandFlag = true; _local11 = _local13.other; if ((_local11.m_flags & b2Body.e_islandFlag)){ } else { var _temp3 = _local9; _local9 = (_local9 + 1); _local16 = _temp3; _local7[_local16] = _local11; _local11.m_flags = (_local11.m_flags | b2Body.e_islandFlag); }; }; _local13 = _local13.next; }; }; }; _local3.Solve(_arg1, m_gravity, m_positionCorrection, m_allowSleep); if (_local3.m_positionIterationCount > m_positionIterationCount){ m_positionIterationCount = _local3.m_positionIterationCount; }; _local10 = 0; while (_local10 < _local3.m_bodyCount) { _local2 = _local3.m_bodies[_local10]; if (_local2.IsStatic()){ _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); }; _local10++; }; }; }; _local8 = _local8.m_next; }; _local2 = m_bodyList; while (_local2) { if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local14 = _local2.SynchronizeShapes(); if ((((_local14 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; }; }; _local2 = _local2.m_next; }; m_broadPhase.Commit(); } public function Query(_arg1:b2AABB, _arg2:Array, _arg3:int):int{ var _local4:Array; var _local5:int; var _local6:int; _local4 = new Array(_arg3); _local5 = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); _local6 = 0; while (_local6 < _local5) { _arg2[_local6] = _local4[_local6]; _local6++; }; return (_local5); } public function SetGravity(_arg1:b2Vec2):void{ m_gravity = _arg1; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Shape; var _local4:b2Shape; var _local5:b2Body; var _local6:b2Body; var _local7:b2ContactEdge; var _local8:b2Island; var _local9:int; var _local10:Array; var _local11:b2Contact; var _local12:b2Contact; var _local13:Number; var _local14:b2Body; var _local15:int; var _local16:b2TimeStep; var _local17:int; var _local18:Number; var _local19:Number; var _local20:b2Body; var _local21:Boolean; _local8 = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); _local9 = m_bodyCount; _local10 = new Array(_local9); _local2 = m_bodyList; while (_local2) { _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); _local2.m_sweep.t0 = 0; _local2 = _local2.m_next; }; _local11 = m_contactList; while (_local11) { _local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local11 = _local11.m_next; }; while (true) { _local12 = null; _local13 = 1; _local11 = m_contactList; for (;_local11;(_local11 = _local11.m_next)) { if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){ } else { _local18 = 1; if ((_local11.m_flags & b2Contact.e_toiFlag)){ _local18 = _local11.m_toi; } else { _local3 = _local11.m_shape1; _local4 = _local11.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){ continue; }; _local19 = _local5.m_sweep.t0; if (_local5.m_sweep.t0 < _local6.m_sweep.t0){ _local19 = _local6.m_sweep.t0; _local5.m_sweep.Advance(_local19); } else { if (_local6.m_sweep.t0 < _local5.m_sweep.t0){ _local19 = _local5.m_sweep.t0; _local6.m_sweep.Advance(_local19); }; }; _local18 = b2TimeOfImpact.TimeOfImpact(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep); if ((((_local18 > 0)) && ((_local18 < 1)))){ _local18 = (((1 - _local18) * _local19) + _local18); if (_local18 > 1){ _local18 = 1; }; }; _local11.m_toi = _local18; _local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag); }; if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){ _local12 = _local11; _local13 = _local18; }; }; }; if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){ break; }; _local3 = _local12.m_shape1; _local4 = _local12.m_shape2; _local5 = _local3.m_body; _local6 = _local4.m_body; _local5.Advance(_local13); _local6.Advance(_local13); _local12.Update(m_contactListener); _local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag)); if (_local12.m_manifoldCount == 0){ } else { _local14 = _local5; if (_local14.IsStatic()){ _local14 = _local6; }; _local8.Clear(); _local15 = 0; var _temp1 = _local15; _local15 = (_local15 + 1); var _local22 = _temp1; _local10[_local22] = _local14; _local14.m_flags = (_local14.m_flags | b2Body.e_islandFlag); while (_local15 > 0) { --_local15; _local2 = _local10[_local15]; _local8.AddBody(_local2); _local2.m_flags = (_local2.m_flags & ~(b2Body.e_sleepFlag)); if (_local2.IsStatic()){ } else { _local7 = _local2.m_contactList; while (_local7) { if (_local8.m_contactCount == _local8.m_contactCapacity){ } else { if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){ } else { if (_local7.contact.m_manifoldCount == 0){ } else { _local8.AddContact(_local7.contact); _local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag); _local20 = _local7.other; if ((_local20.m_flags & b2Body.e_islandFlag)){ } else { if (_local20.IsStatic() == false){ _local20.Advance(_local13); _local20.WakeUp(); }; var _temp2 = _local15; _local15 = (_local15 + 1); var _local23 = _temp2; _local10[_local23] = _local20; _local20.m_flags = (_local20.m_flags | b2Body.e_islandFlag); }; }; }; }; _local7 = _local7.next; }; }; }; _local16 = new b2TimeStep(); _local16.dt = ((1 - _local13) * _arg1.dt); _local16.inv_dt = (1 / _local16.dt); _local16.maxIterations = _arg1.maxIterations; _local8.SolveTOI(_local16); _local17 = 0; while (_local17 < _local8.m_bodyCount) { _local2 = _local8.m_bodies[_local17]; _local2.m_flags = (_local2.m_flags & ~(b2Body.e_islandFlag)); if ((_local2.m_flags & (b2Body.e_sleepFlag | b2Body.e_frozenFlag))){ } else { if (_local2.IsStatic()){ } else { _local21 = _local2.SynchronizeShapes(); if ((((_local21 == false)) && (!((m_boundaryListener == null))))){ m_boundaryListener.Violation(_local2); }; _local7 = _local2.m_contactList; while (_local7) { _local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag)); _local7 = _local7.next; }; }; }; _local17++; }; _local17 = 0; while (_local17 < _local8.m_contactCount) { _local11 = _local8.m_contacts[_local17]; _local8.m_contacts[_local17].m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag))); _local17++; }; m_broadPhase.Commit(); }; }; } public function GetJointList():b2Joint{ return (m_jointList); } public function Validate():void{ m_broadPhase.Validate(); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function GetBodyList():b2Body{ return (m_bodyList); } public function SetWarmStarting(_arg1:Boolean):void{ m_warmStarting = _arg1; } public function SetPositionCorrection(_arg1:Boolean):void{ m_positionCorrection = _arg1; } public function CreateJoint(_arg1:b2JointDef):b2Joint{ var _local2:b2Joint; var _local3:b2Body; var _local4:b2Shape; _local2 = b2Joint.Create(_arg1, m_blockAllocator); _local2.m_prev = null; _local2.m_next = m_jointList; if (m_jointList){ m_jointList.m_prev = _local2; }; m_jointList = _local2; m_jointCount++; _local2.m_node1.joint = _local2; _local2.m_node1.other = _local2.m_body2; _local2.m_node1.prev = null; _local2.m_node1.next = _local2.m_body1.m_jointList; if (_local2.m_body1.m_jointList){ _local2.m_body1.m_jointList.prev = _local2.m_node1; }; _local2.m_body1.m_jointList = _local2.m_node1; _local2.m_node2.joint = _local2; _local2.m_node2.other = _local2.m_body1; _local2.m_node2.prev = null; _local2.m_node2.next = _local2.m_body2.m_jointList; if (_local2.m_body2.m_jointList){ _local2.m_body2.m_jointList.prev = _local2.m_node2; }; _local2.m_body2.m_jointList = _local2.m_node2; if (_arg1.collideConnected == false){ _local3 = ((_arg1.body1.m_shapeCount < _arg1.body2.m_shapeCount)) ? _arg1.body1 : _arg1.body2; _local4 = _local3.m_shapeList; while (_local4) { _local4.RefilterProxy(m_broadPhase, _local3.m_xf); _local4 = _local4.m_next; }; }; return (_local2); } public function DestroyJoint(_arg1:b2Joint):void{ var _local2:Boolean; var _local3:b2Body; var _local4:b2Body; var _local5:b2Body; var _local6:b2Shape; _local2 = _arg1.m_collideConnected; if (_arg1.m_prev){ _arg1.m_prev.m_next = _arg1.m_next; }; if (_arg1.m_next){ _arg1.m_next.m_prev = _arg1.m_prev; }; if (_arg1 == m_jointList){ m_jointList = _arg1.m_next; }; _local3 = _arg1.m_body1; _local4 = _arg1.m_body2; _local3.WakeUp(); _local4.WakeUp(); if (_arg1.m_node1.prev){ _arg1.m_node1.prev.next = _arg1.m_node1.next; }; if (_arg1.m_node1.next){ _arg1.m_node1.next.prev = _arg1.m_node1.prev; }; if (_arg1.m_node1 == _local3.m_jointList){ _local3.m_jointList = _arg1.m_node1.next; }; _arg1.m_node1.prev = null; _arg1.m_node1.next = null; if (_arg1.m_node2.prev){ _arg1.m_node2.prev.next = _arg1.m_node2.next; }; if (_arg1.m_node2.next){ _arg1.m_node2.next.prev = _arg1.m_node2.prev; }; if (_arg1.m_node2 == _local4.m_jointList){ _local4.m_jointList = _arg1.m_node2.next; }; _arg1.m_node2.prev = null; _arg1.m_node2.next = null; b2Joint.Destroy(_arg1, m_blockAllocator); m_jointCount--; if (_local2 == false){ _local5 = ((_local3.m_shapeCount < _local4.m_shapeCount)) ? _local3 : _local4; _local6 = _local5.m_shapeList; while (_local6) { _local6.RefilterProxy(m_broadPhase, _local5.m_xf); _local6 = _local6.m_next; }; }; } public function SetContactListener(_arg1:b2ContactListener):void{ m_contactListener = _arg1; } public function CreateBody(_arg1:b2BodyDef):b2Body{ var _local2:b2Body; if (m_lock == true){ return (null); }; _local2 = new b2Body(_arg1, this); _local2.m_prev = null; _local2.m_next = m_bodyList; if (m_bodyList){ m_bodyList.m_prev = _local2; }; m_bodyList = _local2; m_bodyCount++; return (_local2); } public function SetBoundaryListener(_arg1:b2BoundaryListener):void{ m_boundaryListener = _arg1; } public function SetDestructionListener(_arg1:b2DestructionListener):void{ m_destructionListener = _arg1; } public function Step(_arg1:Number, _arg2:int):void{ var _local3:b2TimeStep; m_lock = true; _local3 = new b2TimeStep(); _local3.dt = _arg1; _local3.maxIterations = _arg2; if (_arg1 > 0){ _local3.inv_dt = (1 / _arg1); } else { _local3.inv_dt = 0; }; _local3.dtRatio = (m_inv_dt0 * _arg1); _local3.positionCorrection = m_positionCorrection; _local3.warmStarting = m_warmStarting; m_contactManager.Collide(); if (_local3.dt > 0){ Solve(_local3); }; if (((m_continuousPhysics) && ((_local3.dt > 0)))){ SolveTOI(_local3); }; DrawDebugData(); m_inv_dt0 = _local3.inv_dt; m_lock = false; } public function GetBodyCount():int{ return (m_bodyCount); } public function GetJointCount():int{ return (m_jointCount); } } }//package Box2D.Dynamics
Section 75
//AuxFunctions (caurina.transitions.AuxFunctions) package caurina.transitions { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local2:uint; var _local3:String; _local2 = 0; for (_local3 in _arg1) { _local2++; }; return (_local2); } public static function numberToG(_arg1:Number):Number{ return (((_arg1 & 0xFF00) >> 8)); } public static function numberToB(_arg1:Number):Number{ return ((_arg1 & 0xFF)); } public static function numberToR(_arg1:Number):Number{ return (((_arg1 & 0xFF0000) >> 16)); } public static function concatObjects(... _args):Object{ var _local2:Object; var _local3:Object; var _local4:int; var _local5:String; _local2 = {}; _local4 = 0; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package caurina.transitions
Section 76
//Equations (caurina.transitions.Equations) package caurina.transitions { public class Equations { public function Equations(){ trace("Equations is a static class and should not be instantiated."); } public static function easeOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeInOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function easeInOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } public static function easeInOutBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeInBounce((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOutBounce(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } public static function easeInOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_local6 + 1) * _arg1) - _local6))) + _arg2)); }; _arg1 = (_arg1 - 2); _local6 = (_local6 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 2)) + _arg2)); } public static function easeOutInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCubic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCubic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOutBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_local6 + 1) * _arg1) + _local6)) + 1)) + _arg2)); } public static function easeInOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } public static function easeInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.overshoot)))) ? 1.70158 : _arg5.overshoot; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_local6 + 1) * _arg1) - _local6)) + _arg2)); } public static function easeInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeOutInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuint((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuint(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBounce((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBounce(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function init():void{ Tweener.registerTransition("easenone", easeNone); Tweener.registerTransition("linear", easeNone); Tweener.registerTransition("easeinquad", easeInQuad); Tweener.registerTransition("easeoutquad", easeOutQuad); Tweener.registerTransition("easeinoutquad", easeInOutQuad); Tweener.registerTransition("easeoutinquad", easeOutInQuad); Tweener.registerTransition("easeincubic", easeInCubic); Tweener.registerTransition("easeoutcubic", easeOutCubic); Tweener.registerTransition("easeinoutcubic", easeInOutCubic); Tweener.registerTransition("easeoutincubic", easeOutInCubic); Tweener.registerTransition("easeinquart", easeInQuart); Tweener.registerTransition("easeoutquart", easeOutQuart); Tweener.registerTransition("easeinoutquart", easeInOutQuart); Tweener.registerTransition("easeoutinquart", easeOutInQuart); Tweener.registerTransition("easeinquint", easeInQuint); Tweener.registerTransition("easeoutquint", easeOutQuint); Tweener.registerTransition("easeinoutquint", easeInOutQuint); Tweener.registerTransition("easeoutinquint", easeOutInQuint); Tweener.registerTransition("easeinsine", easeInSine); Tweener.registerTransition("easeoutsine", easeOutSine); Tweener.registerTransition("easeinoutsine", easeInOutSine); Tweener.registerTransition("easeoutinsine", easeOutInSine); Tweener.registerTransition("easeincirc", easeInCirc); Tweener.registerTransition("easeoutcirc", easeOutCirc); Tweener.registerTransition("easeinoutcirc", easeInOutCirc); Tweener.registerTransition("easeoutincirc", easeOutInCirc); Tweener.registerTransition("easeinexpo", easeInExpo); Tweener.registerTransition("easeoutexpo", easeOutExpo); Tweener.registerTransition("easeinoutexpo", easeInOutExpo); Tweener.registerTransition("easeoutinexpo", easeOutInExpo); Tweener.registerTransition("easeinelastic", easeInElastic); Tweener.registerTransition("easeoutelastic", easeOutElastic); Tweener.registerTransition("easeinoutelastic", easeInOutElastic); Tweener.registerTransition("easeoutinelastic", easeOutInElastic); Tweener.registerTransition("easeinback", easeInBack); Tweener.registerTransition("easeoutback", easeOutBack); Tweener.registerTransition("easeinoutback", easeInOutBack); Tweener.registerTransition("easeoutinback", easeOutInBack); Tweener.registerTransition("easeinbounce", easeInBounce); Tweener.registerTransition("easeoutbounce", easeOutBounce); Tweener.registerTransition("easeinoutbounce", easeInOutBounce); Tweener.registerTransition("easeoutinbounce", easeOutInBounce); } public static function easeOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==_arg4) ? (_arg2 + _arg3) : (((_arg3 * 1.001) * (-(Math.pow(2, ((-10 * _arg1) / _arg4))) + 1)) + _arg2)); } public static function easeOutInBack(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutBack((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInBack(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg1)==0) ? _arg2 : (((_arg3 * Math.pow(2, (10 * ((_arg1 / _arg4) - 1)))) + _arg2) - (_arg3 * 0.001))); } public static function easeInCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((-(_arg3) / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (Math.sqrt((1 - (_arg1 * _arg1))) + 1)) + _arg2)); } public static function easeInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInBounce(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 - easeOutBounce((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeOutInExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutExpo((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInExpo(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((-(_arg3) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 1)) + _arg2)); } public static function easeInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg3) + _arg2)); } public static function easeInOutQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((-(_arg3) / 2) * ((((_arg1 * _arg1) * _arg1) * _arg1) - 2)) + _arg2)); } public static function easeOutQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeOutInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutElastic((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInElastic(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function easeOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeOutInQuad(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuad((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuad(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * (Math.PI / 2)))) + _arg2)); } public static function easeInOutCubic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInOutQuint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } public static function easeInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = (_arg1 / _arg4); return (((-(_arg3) * (Math.sqrt((1 - (_arg1 * _arg1))) - 1)) + _arg2)); } public static function easeOutInSine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutSine((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInSine(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeInOutExpo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 == 0){ return (_arg2); }; if (_arg1 == _arg4){ return ((_arg2 + _arg3)); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * Math.pow(2, (10 * (_arg1 - 1)))) + _arg2) - (_arg3 * 0.0005))); }; --_arg1; return (((((_arg3 / 2) * 1.0005) * (-(Math.pow(2, (-10 * _arg1))) + 2)) + _arg2)); } public static function easeOutElastic(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ var _local6:Number; var _local7:Number; var _local8:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; _local6 = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; _local8 = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function easeOutCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * Math.sqrt((1 - (_arg1 * _arg1)))) + _arg2)); } public static function easeOutInQuart(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutQuart((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInQuart(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } public static function easeOutInCirc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object=null):Number{ if (_arg1 < (_arg4 / 2)){ return (easeOutCirc((_arg1 * 2), _arg2, (_arg3 / 2), _arg4, _arg5)); }; return (easeInCirc(((_arg1 * 2) - _arg4), (_arg2 + (_arg3 / 2)), (_arg3 / 2), _arg4, _arg5)); } } }//package caurina.transitions
Section 77
//PropertyInfoObj (caurina.transitions.PropertyInfoObj) package caurina.transitions { public class PropertyInfoObj { public var originalValueComplete:Object; public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var hasModifier:Boolean; public var valueComplete:Number; public var extra:Object; public var valueStart:Number; public var modifierFunction:Function; public var arrayIndex:Number; public function PropertyInfoObj(_arg1:Number, _arg2:Number, _arg3:Object, _arg4:Number, _arg5:Object, _arg6:Boolean, _arg7:Function, _arg8:Array){ valueStart = _arg1; valueComplete = _arg2; originalValueComplete = _arg3; arrayIndex = _arg4; extra = _arg5; isSpecialProperty = _arg6; hasModifier = Boolean(_arg7); modifierFunction = _arg7; modifierParameters = _arg8; } public function toString():String{ var _local1:String; _local1 = "\n[PropertyInfoObj "; _local1 = (_local1 + ("valueStart:" + String(valueStart))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("valueComplete:" + String(valueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("originalValueComplete:" + String(originalValueComplete))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("arrayIndex:" + String(arrayIndex))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("extra:" + String(extra))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("isSpecialProperty:" + String(isSpecialProperty))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("hasModifier:" + String(hasModifier))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierFunction:" + String(modifierFunction))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("modifierParameters:" + String(modifierParameters))); _local1 = (_local1 + "]\n"); return (_local1); } public function clone():PropertyInfoObj{ var _local1:PropertyInfoObj; _local1 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package caurina.transitions
Section 78
//SpecialProperty (caurina.transitions.SpecialProperty) package caurina.transitions { public class SpecialProperty { public var parameters:Array; public var preProcess:Function; public var setValue:Function; public var getValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 79
//SpecialPropertyModifier (caurina.transitions.SpecialPropertyModifier) package caurina.transitions { public class SpecialPropertyModifier { public var getValue:Function; public var modifyValues:Function; public function SpecialPropertyModifier(_arg1:Function, _arg2:Function){ modifyValues = _arg1; getValue = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 80
//SpecialPropertySplitter (caurina.transitions.SpecialPropertySplitter) package caurina.transitions { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1:String; _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package caurina.transitions
Section 81
//Tweener (caurina.transitions.Tweener) package caurina.transitions { import flash.display.*; import flash.events.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; private static var _engineExists:Boolean = false; private static var _specialPropertyModifierList:Object; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyList:Object; private static var _transitionList:Object; private static var _inited:Boolean = false; private static var __tweener_controller__:MovieClip; public function Tweener(){ trace("Tweener is a static class and should not be instantiated."); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ var _local4:SpecialPropertyModifier; if (!_inited){ init(); }; _local4 = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ var _local6:SpecialProperty; if (!_inited){ init(); }; _local6 = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function init(... _args):void{ _inited = true; _transitionList = new Object(); Equations.init(); _specialPropertyList = new Object(); _specialPropertyModifierList = new Object(); _specialPropertySplitterList = new Object(); } private static function updateTweens():Boolean{ var _local1:int; if (_tweenList.length == 0){ return (false); }; _local1 = 0; while (_local1 < _tweenList.length) { if ((((_tweenList[_local1] == undefined)) || (!(_tweenList[_local1].isPaused)))){ if (!updateTweenByIndex(_local1)){ removeTweenByIndex(_local1); }; if (_tweenList[_local1] == null){ removeTweenByIndex(_local1, true); _local1--; }; }; _local1++; }; return (true); } public static function addCaller(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Array; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; _local5 = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local6 = (isNaN(_local5.time)) ? 0 : _local5.time; _local7 = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local3:TweenListObj; var _local4:TweenListObj; var _local5:uint; var _local6:String; var _local7:Boolean; _local3 = _tweenList[_arg1]; _local4 = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; var _local3:Number; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; _local3 = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.31.74"); } public static function onEnterFrame(_arg1:Event):void{ var _local2:Boolean; updateTime(); updateFrame(); _local2 = false; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var isOver:Boolean; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var cTime:Number; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; isOver = false; cTime = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function setTimeScale(_arg1:Number):void{ var _local2:Number; var _local3:Number; if (isNaN(_arg1)){ _arg1 = 1; }; if (_arg1 < 1E-5){ _arg1 = 1E-5; }; if (_arg1 != _timeScale){ if (_tweenList != null){ _local2 = 0; while (_local2 < _tweenList.length) { _local3 = getCurrentTweeningTime(_tweenList[_local2]); _tweenList[_local2].timeStart = (_local3 - (((_local3 - _tweenList[_local2].timeStart) * _timeScale) / _arg1)); _tweenList[_local2].timeComplete = (_local3 - (((_local3 - _tweenList[_local2].timeComplete) * _timeScale) / _arg1)); if (_tweenList[_local2].timePaused != undefined){ _tweenList[_local2].timePaused = (_local3 - (((_local3 - _tweenList[_local2].timePaused) * _timeScale) / _arg1)); }; _local2++; }; }; _timeScale = _arg1; }; } public static function resumeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function handleError(_arg1:TweenListObj, _arg2:Error, _arg3:String):void{ var eventScope:Object; var pTweening = _arg1; var pError = _arg2; var pCallBackName = _arg3; if (((Boolean(pTweening.onError)) && ((pTweening.onError is Function)))){ eventScope = (Boolean(pTweening.onErrorScope)) ? pTweening.onErrorScope : pTweening.scope; try { pTweening.onError.apply(eventScope, [pTweening.scope, pError]); } catch(metaError:Error) { printError(((((String(pTweening.scope) + " raised an error while executing the 'onError' handler. Original error:\n ") + pError.getStackTrace()) + "\nonError error: ") + metaError.getStackTrace())); }; } else { if (!Boolean(pTweening.onError)){ printError(((((String(pTweening.scope) + " raised an error while executing the '") + pCallBackName) + "'handler. \n") + pError.getStackTrace())); }; }; } private static function startEngine():void{ _engineExists = true; _tweenList = new Array(); __tweener_controller__ = new MovieClip(); __tweener_controller__.addEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); _currentTimeFrame = 0; updateTime(); } public static function removeAllTweens():Boolean{ var _local1:Boolean; var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local1 = false; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local7:Object; var _local8:Number; var _local9:Number; var _local10:Array; var _local11:Object; var _local12:Object; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; _local7 = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; _local8 = (isNaN(_local7.time)) ? 0 : _local7.time; _local9 = (isNaN(_local7.delay)) ? 0 : _local7.delay; _local10 = new Array(); _local11 = {time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; _local12 = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function registerTransition(_arg1:String, _arg2:Function):void{ if (!_inited){ init(); }; _transitionList[_arg1] = _arg2; } public static function printError(_arg1:String):void{ trace(("## [Tweener] Error: " + _arg1)); } private static function affectTweens(_arg1:Function, _arg2:Object, _arg3:Array):Boolean{ var _local4:Boolean; var _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; _local4 = false; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; var _local4:Array; if (!Boolean(_tweenList)){ return ([]); }; _local4 = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function isTweening(_arg1:Object):Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ return (true); }; _local2++; }; return (false); } public static function pauseTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj; _local2 = _tweenList[_arg1]; if ((((_local2 == null)) || (_local2.isPaused))){ return (false); }; _local2.timePaused = getCurrentTweeningTime(_local2); _local2.isPaused = true; return (true); } public static function getCurrentTweeningTime(_arg1:Object):Number{ return ((_arg1.useFrames) ? _currentTimeFrame : _currentTime); } public static function getTweenCount(_arg1:Object):Number{ var _local2:uint; var _local3:Number; if (!Boolean(_tweenList)){ return (0); }; _local3 = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function stopEngine():void{ _engineExists = false; _tweenList = null; _currentTime = 0; _currentTimeFrame = 0; __tweener_controller__.removeEventListener(Event.ENTER_FRAME, Tweener.onEnterFrame); __tweener_controller__ = null; } public static function removeTweensByTime(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number):Boolean{ var removed:Boolean; var removedLocally:Boolean; var i:uint; var tl:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; removed = false; tl = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ var _local4:SpecialPropertySplitter; if (!_inited){ init(); }; _local4 = new SpecialPropertySplitter(_arg2, _arg3); _specialPropertySplitterList[_arg1] = _local4; } public static function removeTweenByIndex(_arg1:Number, _arg2:Boolean=false):Boolean{ _tweenList[_arg1] = null; if (_arg2){ _tweenList.splice(_arg1, 1); }; return (true); } public static function resumeTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local3:Array; var _local4:uint; _local3 = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package caurina.transitions
Section 82
//TweenListObj (caurina.transitions.TweenListObj) package caurina.transitions { public class TweenListObj { public var onUpdate:Function; public var useFrames:Boolean; public var hasStarted:Boolean; public var onOverwriteParams:Array; public var timeStart:Number; public var count:Number; public var timeComplete:Number; public var onStartParams:Array; public var onUpdateScope:Object; public var rounded:Boolean; public var onUpdateParams:Array; public var properties:Object; public var onComplete:Function; public var transitionParams:Object; public var updatesSkipped:Number; public var onStart:Function; public var onOverwriteScope:Object; public var skipUpdates:Number; public var onStartScope:Object; public var scope:Object; public var transition:Function; public var timePaused:Number; public var onCompleteParams:Array; public var timesCalled:Number; public var isCaller:Boolean; public var onError:Function; public var onErrorScope:Object; public var onOverwrite:Function; public var isPaused:Boolean; public var waitFrames:Boolean; public var onCompleteScope:Object; public function TweenListObj(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Boolean, _arg5:Function, _arg6:Object){ scope = _arg1; timeStart = _arg2; timeComplete = _arg3; useFrames = _arg4; transition = _arg5; transitionParams = _arg6; properties = new Object(); isPaused = false; timePaused = undefined; isCaller = false; updatesSkipped = 0; timesCalled = 0; skipUpdates = 0; hasStarted = false; } public function clone(_arg1:Boolean):TweenListObj{ var _local2:TweenListObj; var _local3:String; _local2 = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local1:String; var _local2:Boolean; var _local3:String; _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); _local2 = true; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local2:Object; var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; _local2 = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package caurina.transitions
Section 83
//JUIComponent (com.jumpeye.core.JUIComponent) package com.jumpeye.core { import flash.display.*; import flash.events.*; import flash.utils.*; import fl.core.*; public class JUIComponent extends Sprite { protected var callLaterMethods:Dictionary; protected var invalidateFlag:Boolean;// = false protected var _inspector:Boolean;// = false protected var invalidHash:Object; protected var isLivePreview:Boolean;// = false public var version:String;// = "3.0.0.15" public static var inCallLaterPhase:Boolean = false; public function JUIComponent(){ version = "3.0.0.15"; invalidateFlag = false; _inspector = false; isLivePreview = false; super(); invalidHash = {}; callLaterMethods = new Dictionary(); configUI(); invalidate(InvalidationType.ALL); } protected function checkLivePreview():Boolean{ var className:String; if (parent == null){ return (false); }; try { className = getQualifiedClassName(parent); } catch(e:Error) { }; return ((className == "fl.livepreview::LivePreviewParent")); } private function callLaterDispatcher(_arg1:Event):void{ var _local2:Dictionary; var _local3:Object; if (_arg1.type == Event.ADDED_TO_STAGE){ removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher); stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); return; }; _arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher); if (stage == null){ addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); return; }; inCallLaterPhase = true; _local2 = callLaterMethods; for (_local3 in _local2) { _local3(); delete _local2[_local3]; }; inCallLaterPhase = false; } protected function validate():void{ invalidHash = {}; } public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{ invalidHash[_arg1] = true; if (_arg2){ this.callLater(draw); }; } protected function draw():void{ validate(); } protected function configUI():void{ isLivePreview = checkLivePreview(); if (numChildren > 0){ removeChildAt(0); }; } protected function isInvalid(_arg1:String, ... _args):Boolean{ if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){ return (true); }; while (_args.length > 0) { if (invalidHash[_args.pop()]){ return (true); }; }; return (false); } protected function callLater(_arg1:Function):void{ if (inCallLaterPhase){ return; }; callLaterMethods[_arg1] = true; if (stage != null){ stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true); stage.invalidate(); } else { addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true); }; } public function validateNow():void{ invalidate(InvalidationType.ALL, false); draw(); } public function drawNow():void{ draw(); } } }//package com.jumpeye.core
Section 84
//FLASHEFFEvents (com.jumpeye.Events.FLASHEFFEvents) package com.jumpeye.Events { import flash.events.*; public dynamic class FLASHEFFEvents extends Event { public static const ROLL_OUT:String = "onRollOut"; public static const INIT:String = "init"; public static const TRANSITION_END:String = "onTransitionEnd"; public static const MOUSE_UP:String = "onMouseUp"; public static const ROLL_OVER:String = "onRollOver"; public static const TRANSITION_START:String = "onTransitionStart"; public static const COMPLETE:String = "complete"; public static const DOUBLE_CLICK:String = "onDoubleClick"; public static const MOUSE_DOWN:String = "onMouseDown"; public function FLASHEFFEvents(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("FLASHEFFEvents", "type", "bubbles", "cancelable")); } override public function clone():Event{ return (new FLASHEFFEvents(type, bubbles, cancelable)); } } }//package com.jumpeye.Events
Section 85
//TXEFF2Events (com.jumpeye.Events.TXEFF2Events) package com.jumpeye.Events { import flash.events.*; public dynamic class TXEFF2Events extends FLASHEFFEvents { public static const ROLL_OUT:String = "onRollOut"; public static const INIT:String = "init"; public static const TRANSITION_END:String = "onTransitionEnd"; public static const MOUSE_UP:String = "onMouseUp"; public static const ROLL_OVER:String = "onRollOver"; public static const TRANSITION_START:String = "onTransitionStart"; public static const COMPLETE:String = "complete"; public static const DOUBLE_CLICK:String = "onDoubleClick"; public static const MOUSE_DOWN:String = "onMouseDown"; public function TXEFF2Events(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new TXEFF2Events(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("TXEFF2Events", "type", "bubbles", "cancelable")); } } }//package com.jumpeye.Events
Section 86
//IFeChar (com.jumpeye.flashEff.core.interfaces.IFeChar) package com.jumpeye.flashEff.core.interfaces { import flash.text.*; public interface IFeChar { function get bottomPosition():Number; function set properties(_arg1:Object):void; function set bottomPosition(_arg1:Number):void; function set textField(_arg1:TextField):void; function get text():String; function set htmlText(_arg1:String):void; function get type():String; function get properties():Object; function get textField():TextField; function set id(_arg1:Number):void; function get htmlText():String; function applyTextFormat(_arg1:TextFormat):void; function set text(_arg1:String):void; function get id():Number; } }//package com.jumpeye.flashEff.core.interfaces
Section 87
//IFeGroup (com.jumpeye.flashEff.core.interfaces.IFeGroup) package com.jumpeye.flashEff.core.interfaces { public interface IFeGroup { function pushChild(_arg1:Object):Object; function set properties(_arg1:Object):void; function cleanMe():void; function get type():String; function removeChilds():void; function get text():String; function set childs(_arg1:Array):void; function get properties():Object; function set id(_arg1:Number):void; function get childs():Array; function set text(_arg1:String):void; function get id():Number; function removeChildAtIndex(_arg1:uint):Object; } }//package com.jumpeye.flashEff.core.interfaces
Section 88
//IFeTable (com.jumpeye.flashEff.core.interfaces.IFeTable) package com.jumpeye.flashEff.core.interfaces { public interface IFeTable { function pushChild(_arg1:Object):Object; function get childs():Array; function cleanMe():void; function removeChildAtIndex(_arg1:uint):Object; function get type():String; function removeChilds():void; function set childs(_arg1:Array):void; } }//package com.jumpeye.flashEff.core.interfaces
Section 89
//IFlashEff (com.jumpeye.flashEff.core.interfaces.IFlashEff) package com.jumpeye.flashEff.core.interfaces { import flash.display.*; import flash.text.*; import flash.geom.*; import flash.events.*; public interface IFlashEff { function applyButtonEffect():void; function set rotation(_arg1:Number):void; function get swapTarget():DisplayObject; function set targetVisibility(_arg1:Boolean):void; function set swapTarget(_arg1:DisplayObject):void; function set showDelay(_arg1:Number):void; function removeButtonEffect():void; function set useSwapInsteadHide(_arg1:Boolean):void; function set name(_arg1:String):void; function get currentTransitionType():String; function set useHandCursor(_arg1:Boolean):void; function set buttonEffectName(_arg1:String):void; function set _targetInstanceName(_arg1:String):void; function set target(_arg1:DisplayObject):void; function removeFilter(_arg1:IFlashEffFilter):Boolean; function removeAllCommands():void; function get height():Number; function removeCommand(_arg1:IFlashEffCommand):void; function buttonPress():void; function get showTransition():IFlashEffSymbolText; function removeEffect(_arg1:Boolean=false, _arg2:IFlashEffSymbolText=null):void; function get filterList():Array; function get hideTransition():IFlashEffSymbolText; function setProperties(_arg1):void; function get swapTargetVisibility():Boolean; function set showAutoPlay(_arg1:Boolean):void; function getFilterAt(_arg1:uint):IFlashEffFilter; function hide():void; function buttonRollOver():void; function set cacheAsBitmap(_arg1:Boolean):void; function dispatchEvent(_arg1:Event):Boolean; function get swapTransition():IFlashEffSymbolText; function transitionEffect(_arg1:String="show"):void; function set height(_arg1:Number):void; function get scaleY():Number; function get isTargetVisibleAtEnd():Boolean; function get mouseX():Number; function get mouseY():Number; function get scaleX():Number; function get absWords():Array; function addFilterByName(_arg1:String, _arg2:Object=null):IFlashEffFilter; function setXML(_arg1):void; function get alpha():Number; function set swapDelay(_arg1:Number):void; function get hideDelay():Number; function get hideTransitionName():String; function get isTransitioning():Boolean; function set showTransition(_arg1:IFlashEffSymbolText):void; function changeTarget(_arg1:DisplayObject):void; function addCommand(_arg1:IFlashEffCommand, _arg2:String):IFlashEffCommand; function set filterList(_arg1:Array):void; function get swapType():String; function set hideTransition(_arg1:IFlashEffSymbolText):void; function get visible():Boolean; function set swapTargetVisibility(_arg1:Boolean):void; function getFilter(_arg1:String):IFlashEffFilter; function get x():Number; function get y():Number; function get buttonEffect():IFlashEffButtonEffect; function buttonRelease():void; function removeAll():void; function get rotation():Number; function addFilter(_arg1:IFlashEffFilter):void; function get targetVisibility():Boolean; function get showDelay():Number; function get commands():Array; function removeCommandByName(_arg1:String):void; function get absCustom():Array; function get absChars():Array; function get useHandCursor():Boolean; function get buttonEffectName():String; function set mouseChildren(_arg1:Boolean):void; function get _targetInstanceName():String; function get target():DisplayObject; function get name():String; function set width(_arg1:Number):void; function set swapTransition(_arg1:IFlashEffSymbolText):void; function get useSwapInsteadHide():Boolean; function swap(_arg1:DisplayObject=null, _arg2:String=""):void; function addCommandByName(_arg1:String, _arg2:String, _arg3:Object=null):IFlashEffCommand; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get showAutoPlay():Boolean; function get textTable():IFeTable; function get targetOwner():MovieClip; function get cacheAsBitmap():Boolean; function get buttonOwner():Sprite; function set isTargetVisibleAtEnd(_arg1:Boolean):void; function get absLines():Array; function get swapDelay():Number; function set xmlPath(_arg1:String):void; function set showTransitionName(_arg1:String):void; function set alpha(_arg1:Number):void; function drawTextTable(_arg1:String, _arg2:String, _arg3:Number, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Array=null):Boolean; function removeAllFilters():void; function set mouseEnabled(_arg1:Boolean):void; function set hideDelay(_arg1:Number):void; function set hideTransitionName(_arg1:String):void; function set drawAfterFilters(_arg1:Boolean):void; function set swapTargetInstanceName(_arg1:String):void; function set hideAutoPlay(_arg1:Boolean):void; function get mouseChildren():Boolean; function get textField():TextField; function get absMatrix():Array; function get partialTable():IFeTable; function set buttonEffect(_arg1:IFlashEffButtonEffect):void; function removeShowTransition():void; function set swapType(_arg1:String):void; function removeHideTransition():void; function get mouseEnabled():Boolean; function get showTransitionName():String; function get width():Number; function get xmlPath():String; function set visible(_arg1:Boolean):void; function get hideAutoPlay():Boolean; function set swapTransitionName(_arg1:String):void; function get drawAfterFilters():Boolean; function get swapTargetInstanceName():String; function set x(_arg1:Number):void; function set buttonMode(_arg1:Boolean):void; function set y(_arg1:Number):void; function get swapTransitionName():String; function set partialPatternName(_arg1:String):void; function get buttonMode():Boolean; function get textOwnerClip():Sprite; function get initialTargetTransform():Transform; function removeAllCommandsByEventType(_arg1:String):void; function get partialPatternName():String; function get partialTextOwnerClip():Sprite; function show(_arg1=null):void; function buttonRollOut():void; } }//package com.jumpeye.flashEff.core.interfaces
Section 90
//IFlashEffButtonEffect (com.jumpeye.flashEff.core.interfaces.IFlashEffButtonEffect) package com.jumpeye.flashEff.core.interfaces { import flash.display.*; public interface IFlashEffButtonEffect { function set target(_arg1:DisplayObject):void; function buttonRollOver():void; function remove():void; function get tweenType():String; function get tweenDuration():Number; function get easeType():String; function set tweenType(_arg1:String):void; function apply():void; function set easeType(_arg1:String):void; function get target():DisplayObject; function buttonRelease():void; function buttonPress():void; function set component(_arg1:IFlashEff):void; function get component():IFlashEff; function set tweenDuration(_arg1:Number):void; function buttonRollOut():void; } }//package com.jumpeye.flashEff.core.interfaces
Section 91
//IFlashEffCommand (com.jumpeye.flashEff.core.interfaces.IFlashEffCommand) package com.jumpeye.flashEff.core.interfaces { import flash.display.*; public interface IFlashEffCommand { function get target():DisplayObject; function set target(_arg1:DisplayObject):void; function set commandEventType(_arg1:String):void; function get commandEventType():String; function set component(_arg1:IFlashEff):void; function run():void; function get component():IFlashEff; } }//package com.jumpeye.flashEff.core.interfaces
Section 92
//IFlashEffFilter (com.jumpeye.flashEff.core.interfaces.IFlashEffFilter) package com.jumpeye.flashEff.core.interfaces { import flash.display.*; public interface IFlashEffFilter { function set target(_arg1:Sprite):void; function remove():void; function get target():Sprite; function set component(_arg1:IFlashEff):void; function get component():IFlashEff; function apply():void; } }//package com.jumpeye.flashEff.core.interfaces
Section 93
//IFlashEffSymbol (com.jumpeye.flashEff.core.interfaces.IFlashEffSymbol) package com.jumpeye.flashEff.core.interfaces { import flash.display.*; public interface IFlashEffSymbol extends IFlashEffSymbolText { function set target(_arg1:DisplayObject):void; function get target():DisplayObject; } }//package com.jumpeye.flashEff.core.interfaces
Section 94
//IFlashEffSymbolText (com.jumpeye.flashEff.core.interfaces.IFlashEffSymbolText) package com.jumpeye.flashEff.core.interfaces { public interface IFlashEffSymbolText { function hide():void; function remove():void; function get tweenType():String; function get easeType():String; function set tweenType(_arg1:String):void; function get component():IFlashEff; function set easeType(_arg1:String):void; function set component(_arg1:IFlashEff):void; function show():void; function set tweenDuration(_arg1:Number):void; function get tweenDuration():Number; } }//package com.jumpeye.flashEff.core.interfaces
Section 95
//IFlashEffText (com.jumpeye.flashEff.core.interfaces.IFlashEffText) package com.jumpeye.flashEff.core.interfaces { import flash.text.*; public interface IFlashEffText extends IFlashEffSymbolText { function set partialBlurAmount(_arg1:Number):void; function set partialStart(_arg1:Number):void; function get partialPercent():Number; function set selectedStrings(_arg1:Array):void; function get target():TextField; function set partialPercent(_arg1:Number):void; function get partialBlurAmount():Number; function get partialStart():Number; function set target(_arg1:TextField):void; function get selectedStrings():Array; function set partialGroup(_arg1:String):void; function get partialGroup():String; } }//package com.jumpeye.flashEff.core.interfaces
Section 96
//FEFAdjustColor (com.jumpeye.flashEff.filter.adjustColor.FEFAdjustColor) package com.jumpeye.flashEff.filter.adjustColor { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import gs.*; import flash.filters.*; public class FEFAdjustColor extends MovieClip implements IFlashEffFilter { protected var adjustHue:TweenFilterLite; protected var initialFilters:Array; private var _hue:int;// = 0 private var DELTA_INDEX:Array; protected var adjustBrightness:ColorMatrixFilter; private var _contrast:int;// = 0 private var _saturation:int;// = 0 private var _target:Sprite; protected var adjustContrast:ColorMatrixFilter; protected var _component:IFlashEff; protected var adjustSaturation:ColorMatrixFilter; protected var isFilterApplied:Boolean;// = false private var _brightness:int;// = 0 public function FEFAdjustColor(_arg1:IFlashEff=null){ _brightness = 0; _contrast = 0; _saturation = 0; _hue = 0; DELTA_INDEX = [0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10]; isFilterApplied = false; super(); addFrameScript(0, frame1); this.component = _arg1; this.init(); } public function set hue(_arg1:Number):void{ this._hue = _arg1; if (isFilterApplied){ remove(); apply(); }; } public function set component(_arg1:IFlashEff):void{ this._component = _arg1; } public function get hue():Number{ return (this._hue); } public function get contrast():Number{ return (this._contrast); } public function set contrast(_arg1:Number):void{ this._contrast = _arg1; if (isFilterApplied){ remove(); apply(); }; } public function set target(_arg1:Sprite):void{ this._target = _arg1; } protected function init():void{ this.scaleX = 0; this.scaleY = 0; this.visible = false; } private function setBrightness():ColorMatrixFilter{ var _local1:*; if (_brightness == 0){ _brightness = 0; }; _local1 = new ColorMatrixFilter([1, 0, 0, 0, _brightness, 0, 1, 0, 0, _brightness, 0, 0, 1, 0, _brightness, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); return (_local1); } public function apply():void{ this.adjustHue = TweenFilterLite.to(this.target, 0, {colorMatrixFilter:{hue:_hue}}); this.initialFilters = this.target.filters; adjustContrast = new ColorMatrixFilter(setContrast().matrix); adjustBrightness = new ColorMatrixFilter(setBrightness().matrix); adjustSaturation = new ColorMatrixFilter(setSaturation().matrix); this.initialFilters.push(adjustBrightness); this.initialFilters.push(adjustSaturation); this.initialFilters.push(adjustContrast); this.target.filters = this.initialFilters; isFilterApplied = true; } function frame1(){ stop(); } private function setContrast():ColorMatrixFilter{ var _local1:Number; var _local2:*; if (_contrast < 0){ _local1 = (127 + ((_contrast / 100) * 127)); } else { _local1 = (_contrast % 1); if (_local1 == 0){ _local1 = DELTA_INDEX[_contrast]; } else { _local1 = DELTA_INDEX[(_contrast << 0)]; _local1 = ((DELTA_INDEX[(_contrast << 0)] * (1 - _local1)) + (DELTA_INDEX[((_contrast << 0) + 1)] * _local1)); }; _local1 = ((_local1 * 127) + 127); }; _local2 = new ColorMatrixFilter([(_local1 / 127), 0, 0, 0, (0.5 * (127 - _local1)), 0, (_local1 / 127), 0, 0, (0.5 * (127 - _local1)), 0, 0, (_local1 / 127), 0, (0.5 * (127 - _local1)), 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); return (_local2); } public function get brightness():Number{ return (this._brightness); } public function get target():Sprite{ return (this._target); } public function remove():void{ var _local1:*; for (_local1 in this.initialFilters) { if (this.initialFilters[_local1] == this.adjustBrightness){ this.initialFilters.splice(_local1, 1); this.target.filters = this.initialFilters; }; }; TweenFilterLite.killTweensOf(this.target); this.adjustBrightness = null; this.adjustContrast = null; this.adjustSaturation = null; this.adjustHue = null; isFilterApplied = false; } public function set saturation(_arg1:Number):void{ this._saturation = _arg1; if (isFilterApplied){ remove(); apply(); }; } public function set brightness(_arg1:Number):void{ this._brightness = _arg1; if (isFilterApplied){ remove(); apply(); }; } private function setSaturation():ColorMatrixFilter{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:*; if (isNaN(_saturation)){ _saturation = 0; }; _local1 = (1 + ((_saturation)>0) ? ((3 * _saturation) / 100) : (_saturation / 100)); _local2 = 0.3086; _local3 = 0.6094; _local4 = 0.082; _local5 = new ColorMatrixFilter([((_local2 * (1 - _local1)) + _local1), (_local3 * (1 - _local1)), (_local4 * (1 - _local1)), 0, 0, (_local2 * (1 - _local1)), ((_local3 * (1 - _local1)) + _local1), (_local4 * (1 - _local1)), 0, 0, (_local2 * (1 - _local1)), (_local3 * (1 - _local1)), ((_local4 * (1 - _local1)) + _local1), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]); return (_local5); } public function get saturation():Number{ return (this._saturation); } public function get component():IFlashEff{ return (this._component); } } }//package com.jumpeye.flashEff.filter.adjustColor
Section 97
//FESDesertIllusion (com.jumpeye.flashEff.symbol.desertIllusion.FESDesertIllusion) package com.jumpeye.flashEff.symbol.desertIllusion { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.filters.*; import fl.transitions.*; import flash.utils.*; import fl.transitions.easing.*; import com.jumpeye.Events.*; import com.jumpeye.flashEff.utils.wavesEffect.*; public class FESDesertIllusion extends MovieClip implements IFlashEffSymbol { private var maxWaveSize; private var transitionType:String; private var t; private var _scaleAmount:Number;// = 1 private var _target:DisplayObject; private var owner:Object; private var bounds:Object; private var _tweenType:String;// = "Regular" private var _smooth:Boolean;// = false private var _wavesIntensity:Number;// = 100 private var _blurQuality:Number;// = 3 private var _tweenDuration:Number;// = 2 private var waveIntensity; private var _blurAmount;// = 3 protected var _component:IFlashEff; private var _easeType:String;// = "easeOut" private var _waveSize:Number;// = 100 private var _preset:Number; public function FESDesertIllusion(_arg1:IFlashEff=null){ _tweenDuration = 2; _easeType = "easeOut"; _tweenType = "Regular"; _blurQuality = 3; _wavesIntensity = 100; _waveSize = 100; _smooth = false; owner = {}; _scaleAmount = 1; _blurAmount = 3; super(); this.component = _arg1; this.init(); } private function destroy(){ if ((owner["wave"].bitmap is BitmapData)){ owner["wave"].bitmap.dispose(); }; if (owner["tweenAlpha"]){ owner["tweenAlpha"].stop(); }; if (owner["tweenWave"]){ owner["tweenWave"].stop(); }; if (owner["tweenFilterT"]){ owner["tweenFilterT"].stop(); }; if (owner["tweenScaleY"]){ owner["tweenScaleY"].stop(); }; if (owner["tweenScaleX"]){ owner["tweenScaleX"].stop(); }; target.filters = []; target.alpha = 1; if (owner["wave"]){ }; } public function set tweenDuration(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0.01; }; this._tweenDuration = _arg1; } public function get tweenType():String{ return (this._tweenType); } public function get easeType():String{ return (this._easeType); } public function get scaleAmount():Number{ return (this._scaleAmount); } private function hdlChangeFilter(_arg1:TweenEvent){ var _local2:*; var _local3:*; var _local4:*; var _local5:*; _local2 = _arg1.target.position; _local3 = _arg1.target.obj; _local4 = getBlurFilter(_local2); _local5 = target.filters; _local5.push(_local4); target.filters = _local5; } public function set scaleAmount(_arg1:Number):void{ this._scaleAmount = _arg1; } public function set tweenType(_arg1:String):void{ this._tweenType = _arg1; } public function set easeType(_arg1:String):void{ this._easeType = _arg1; } public function get blurQuality():Number{ return (this._blurQuality); } public function get waveSize():Number{ return (_waveSize); } public function remove():void{ this.component.targetOwner.scaleX = owner.scX; this.component.targetOwner.scaleY = owner.scY; if (target){ destroy(); }; } private function hdlScaleXChange(_arg1:TweenEvent){ this.component.targetOwner.x = (owner.origX - (this.component.targetOwner.width / 2)); } public function get wavesIntensity():Number{ return (_wavesIntensity); } private function getBlurFilter(_arg1):BlurFilter{ var _local2:Number; var _local3:Number; _local2 = _arg1; _local3 = _arg1; return (new BlurFilter(_local2, _local3, _blurQuality)); } public function get preset():Number{ return (this._preset); } public function show():void{ startTransition("show"); } protected function init():void{ this.scaleX = 0; this.scaleY = 0; this.visible = false; } public function set target(_arg1:DisplayObject):void{ this._target = _arg1; } public function get tweenDuration():Number{ return (this._tweenDuration); } public function get component():IFlashEff{ return (this._component); } public function set blurQuality(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this._blurQuality = _arg1; } public function set waveSize(_arg1:Number):void{ this._waveSize = _arg1; } public function hide():void{ startTransition("hide"); } public function set blurAmount(_arg1:Number):void{ this._blurAmount = _arg1; } private function transition(){ var _local1:*; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:*; var _local9:*; var _local10:*; this.target.visible = true; owner.scX = (target.width / target.getBounds(target).width); owner.scY = (target.height / target.getBounds(target).height); owner.origX = (target.x + (target.width / 2)); owner.origY = (target.y + (target.height / 2)); _local1 = ((transitionType)=="show") ? 0 : 1; _local2 = ((transitionType)=="show") ? 1 : 0; _local3 = ((transitionType)=="show") ? maxWaveSize : 0; _local4 = ((transitionType)=="show") ? 0 : maxWaveSize; owner["wave"] = new JWavesEffect(target, smooth, _blurQuality, (target.width * scaleAmount), (target.height * scaleAmount)); owner["wave"].baseX = waveIntensity; owner["wave"].baseY = waveIntensity; owner["tweenAlpha"] = new Tween(target, "alpha", None.easeNone, _local1, _local2, t, true); owner["tweenWave"] = new Tween(owner["wave"], "value", this.easeFunc, _local3, _local4, t, true); owner["tweenWave"].addEventListener(TweenEvent.MOTION_FINISH, hdlMotionFinished); _local5 = ((transitionType)=="show") ? (target.scaleX * scaleAmount) : owner.scX; _local6 = ((transitionType)=="show") ? owner.scX : (target.scaleX * scaleAmount); _local7 = ((transitionType)=="show") ? (target.scaleY * scaleAmount) : owner.scY; _local8 = ((transitionType)=="show") ? owner.scY : (target.scaleY * scaleAmount); _local9 = ((transitionType)=="show") ? blurAmount : 0; _local10 = ((transitionType)=="show") ? 0 : blurAmount; owner["tweenScaleX"] = new Tween(target, "scaleX", this.easeFunc, _local5, _local6, t, true); owner["tweenScaleX"].addEventListener(TweenEvent.MOTION_CHANGE, hdlScaleXChange); owner["tweenScaleY"] = new Tween(target, "scaleY", this.easeFunc, _local7, _local8, t, true); owner["tweenScaleY"].addEventListener(TweenEvent.MOTION_CHANGE, hdlScaleYChange); owner["tweenFilterT"] = new Tween({}, "prop", None.easeNone, _local9, _local10, t, true); owner["tweenFilterT"].addEventListener(TweenEvent.MOTION_CHANGE, hdlChangeFilter); this.component.dispatchEvent(new FLASHEFFEvents(FLASHEFFEvents.TRANSITION_START)); } private function startTransition(_arg1:String){ var _local2:*; owner.gain = waveSize; owner.customParam1 = wavesIntensity; transitionType = _arg1; maxWaveSize = ((((owner.gain == "")) || (isNaN(Number(owner.gain))))) ? 100 : owner.gain; maxWaveSize = Math.max(0, maxWaveSize); waveIntensity = ((((owner.customParam1 == "")) || (isNaN(Number(owner.customParam1))))) ? 100 : owner.customParam1; t = this._tweenDuration; target = this.component.targetOwner; bounds = target.getBounds(target); _local2 = target.getBounds(target.parent); owner["targetObj"] = {x:target.x, y:target.y, width:(_local2.width * target.scaleX), height:(_local2.height * target.scaleY), scaleX:target.scaleX, scaleY:target.scaleY, xMin:_local2.x, yMin:_local2.y}; transition(); } private function hdlMotionFinished(_arg1:TweenEvent){ this.component.dispatchEvent(new FLASHEFFEvents(FLASHEFFEvents.TRANSITION_END)); } public function set smooth(_arg1:Boolean):void{ this._smooth = _arg1; } public function set wavesIntensity(_arg1:Number):void{ this._wavesIntensity = _arg1; } public function get target():DisplayObject{ return (this._target); } public function get blurAmount():Number{ return (this._blurAmount); } public function get smooth():Boolean{ return (this._smooth); } public function set preset(_arg1:Number):void{ this._preset = _arg1; } public function get easeFunc():Function{ var easeFunc:*; try { easeFunc = (getDefinitionByName(("fl.transitions.easing." + this.tweenType)) as Class); return (easeFunc[this.easeType]); } catch(e:ReferenceError) { throw ("FlashEff WARNING: tween or ease type unknown"); return (null); }; return (null); } private function hdlScaleYChange(_arg1:TweenEvent){ this.component.targetOwner.y = (owner.origY - (this.component.targetOwner.height / 2)); } public function set component(_arg1:IFlashEff):void{ this._component = _arg1; } } }//package com.jumpeye.flashEff.symbol.desertIllusion
Section 98
//FeTDefaultFade (com.jumpeye.flashEff.text.defaultFade.FeTDefaultFade) package com.jumpeye.flashEff.text.defaultFade { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.filters.*; import fl.transitions.*; import fl.transitions.easing.*; import com.jumpeye.Events.*; public class FeTDefaultFade implements IFlashEffSymbol { private var _partialBlurAmount:Number;// = 0 private var _tweenDuration:Number;// = 0 private var _easeType:String;// = "easeOut" private var _target:DisplayObject; private var _partialStart:Number;// = 50 private var _tweenType:String;// = "Regular" protected var tween:Tween; protected var _component:IFlashEff; public function FeTDefaultFade(_arg1:IFlashEff=null){ _partialStart = 50; _partialBlurAmount = 0; _tweenDuration = 0; _easeType = "easeOut"; _tweenType = "Regular"; super(); this.component = _arg1; } public function get partialBlurAmount():Number{ return (this._partialBlurAmount); } public function show():void{ if (this.target != null){ this.startTransition(true); }; } protected function motionChange(_arg1:TweenEvent):void{ var _local2:Number; var _local3:Number; var _local4:BitmapFilter; var _local5:Array; _local2 = _arg1.currentTarget.obj.alpha; _local3 = (this.partialBlurAmount * (1 - _local2)); _local4 = new BlurFilter(_local3, _local3, 2); _local5 = new Array(); _local5.push(_local4); this.target.filters = _local5; } public function set component(_arg1:IFlashEff):void{ this._component = _arg1; } public function set tweenType(_arg1:String):void{ this._tweenType = _arg1; } public function remove():void{ if ((this.tween is Tween)){ this.tween.stop(); }; } public function set easeType(_arg1:String):void{ this._easeType = _arg1; } public function set partialBlurAmount(_arg1:Number):void{ this._partialBlurAmount = _arg1; } public function get tweenDuration():Number{ return (this._tweenDuration); } public function set target(_arg1:DisplayObject):void{ this._target = _arg1; } public function get component():IFlashEff{ return (this._component); } public function set tweenDuration(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this._tweenDuration = _arg1; } public function set partialStart(_arg1:Number):void{ this._partialStart = _arg1; } public function get tweenType():String{ return (this._tweenType); } public function get easeType():String{ return (this._easeType); } public function hide():void{ if (this.target != null){ this.startTransition(false); }; } public function get target():DisplayObject{ return (this._target); } protected function startTransition(_arg1:Boolean=true):void{ var _local2:*; var _local3:*; var _local4:Number; _local2 = 1; _local3 = 0; if (_arg1 == true){ _local2 = 0; _local3 = 1; }; this.target.alpha = _local2; if ((this.tween is Tween)){ this.tween.stop(); }; _local4 = (this.tweenDuration * (1 - (this.partialStart / 100))); if (_local4 <= 0){ _local4 = 0.001; }; this.tween = new Tween(this.target, "alpha", None.easeNone, _local2, _local3, _local4, true); this.tween.addEventListener(TweenEvent.MOTION_FINISH, this.motionFinish); if (this.partialBlurAmount > 0){ this.tween.addEventListener(TweenEvent.MOTION_CHANGE, this.motionChange); }; } public function get partialStart():Number{ return (this._partialStart); } protected function motionFinish(_arg1:TweenEvent):void{ var _local2:FLASHEFFEvents; _local2 = new FLASHEFFEvents("defaultPatternFinish"); this.component.dispatchEvent(_local2); } } }//package com.jumpeye.flashEff.text.defaultFade
Section 99
//FETGlow (com.jumpeye.flashEff.text.glow.FETGlow) package com.jumpeye.flashEff.text.glow { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.text.*; import gs.*; import flash.filters.*; import fl.transitions.*; import flash.utils.*; import fl.transitions.easing.*; import com.jumpeye.flashEff.text.patternsPresets.*; import com.jumpeye.Events.*; public class FETGlow extends MovieClip implements IFlashEffText { private var _alphaPercentage:Number;// = 10 private var _color:uint;// = 0xFFFFFF private var _target:TextField; protected var owner:Object; private var _tweenType:String;// = "Regular" private var _blurQuality:Number;// = 2 private var _maxBlurX:Number;// = 20 private var _maxBlurY:Number;// = 20 private var _tweenDuration:Number;// = 2 private var _groupDuration:Number;// = 1 private var _partialStart:Number;// = 50 private var _selectedStrings:Array; private var _partialGroup:String;// = "letters" private var prop:Number;// = 0 private var _partialBlurAmount:Number;// = 0 protected var _component:IFlashEff; private var _easeType:String;// = "easeOut" private var _partialPercent:Number;// = 100 private var newDelay:Number; private var _maxGlow:Number;// = 5 private var _preset:Number; public function FETGlow(_arg1:IFlashEff=null){ _maxBlurX = 20; _maxBlurY = 20; _groupDuration = 1; _blurQuality = 2; _partialPercent = 100; _partialBlurAmount = 0; prop = 0; _partialStart = 50; _tweenDuration = 2; _color = 0xFFFFFF; _alphaPercentage = 10; _partialGroup = "letters"; _easeType = "easeOut"; _tweenType = "Regular"; _maxGlow = 5; super(); this.component = _arg1; this.init(); } public function set partialBlurAmount(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this._partialBlurAmount = _arg1; } public function get partialBlurAmount():Number{ return (this._partialBlurAmount); } public function set maxGlow(_arg1:Number):void{ if (isNaN(Number(_arg1))){ _arg1 = 5; }; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 10){ _arg1 = 10; }; this._maxGlow = _arg1; } public function set tweenDuration(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this._tweenDuration = _arg1; } public function get tweenType():String{ return (this._tweenType); } public function get easeType():String{ return (this._easeType); } public function set groupDuration(_arg1:Number):void{ if (_arg1 < 0.001){ _arg1 = 0.001; }; this._groupDuration = ((Number(_arg1)) || (1)); } public function remove():void{ this.clearProperties(); } public function set tweenType(_arg1:String):void{ this._tweenType = _arg1; } public function set easeType(_arg1:String):void{ this._easeType = _arg1; } public function get alphaPercentage():Number{ return (this._alphaPercentage); } public function get blurQuality():Number{ return (this._blurQuality); } public function set partialStart(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; } else { if (_arg1 > 100){ _arg1 = 100; }; }; this._partialStart = _arg1; } public function set selectedStrings(_arg1:Array):void{ this._selectedStrings = _arg1; } public function set color(_arg1:uint):void{ this._color = _arg1; } public function get preset():Number{ return (this._preset); } public function get component():IFlashEff{ return (this._component); } public function set partialGroup(_arg1:String):void{ this._partialGroup = _arg1; } private function motionChange(_arg1:Object, _arg2:Sprite){ var _local3:Number; _local3 = ((Math.abs((Math.abs(((2 * _arg1.pos) - 1)) - 1)) * _maxGlow) * 2); glowEffect(_arg1.clip, _color, _maxBlurX, _maxBlurY, _local3); } public function set partialPercent(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; } else { if (_arg1 > 100){ _arg1 = 100; }; }; this._partialPercent = _arg1; } protected function init():void{ this.scaleX = 0; this.scaleY = 0; this.visible = false; this.owner = {}; } public function show():void{ if (this.component != null){ this.startTransition(true); }; } public function get maxGlow():Number{ return (this._maxGlow); } public function set target(_arg1:TextField):void{ this._target = _arg1; } public function get tweenDuration():Number{ return (this._tweenDuration); } public function set alphaPercentage(_arg1:Number):void{ if (isNaN(Number(_arg1))){ _arg1 = 100; }; if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 100){ _arg1 = 100; }; this._alphaPercentage = _arg1; } public function get groupDuration():Number{ return (this._groupDuration); } public function set blurQuality(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this._blurQuality = ((Number(_arg1)) || (1)); } public function hide():void{ if (this.component != null){ this.startTransition(false); }; } protected function startTransition(_arg1:Boolean=true):void{ var _local2:Array; var _local3:uint; var _local4:Array; var _local5:Object; var _local6:*; var _local7:uint; var _local8:Number; var _local9:Function; var _local10:String; var _local11:uint; var _local12:uint; var _local13:uint; var _local14:Object; _local8 = ((Number(this.preset)) || (1)); _local9 = JFEPatternsPresets.getPresetsArray; if (Number(_local8) > 55){ _local8 = 1; }; _local10 = "chars"; if (_local8 > 9){ if (_local8 < 19){ _local10 = "words"; _local8 = (_local8 - 9); } else { if (_local8 < 22){ _local10 = "lines"; _local9 = JFEPatternsPresets.getLinePresetArray; } else { if (_local8 < 38){ _local10 = "chars"; _local8 = (_local8 - 12); } else { if (_local8 < 54){ _local10 = "words"; _local8 = (_local8 - 28); } else { _local10 = "lines"; _local9 = JFEPatternsPresets.getLinePresetArray; }; }; }; }; }; this.component.drawTextTable(_local10, this.partialGroup, this.partialPercent, this.selectedStrings, this.partialStart, this.partialBlurAmount); _local2 = this.component.absMatrix; _local5 = _local9(_local8, _local2); _local4 = _local5.timeMatrix; owner.maxItems = _local5.maxItems; owner.tweensFinished = 0; _local3 = _local2.length; _local11 = 0; _local12 = 1; owner.timeDirection = 0; owner.show = _arg1; if (_arg1 == true){ _local11 = 1; _local12 = 0; owner.timeDirection = 1; }; owner.tweensNumber = this.component.textTable.childs.length; if (owner.maxItems <= 1){ owner.delay = 0; } else { owner.delay = Math.max(((this.tweenDuration - this.groupDuration) / (owner.maxItems - 1)), 0); }; owner.elements = []; _local6 = 0; while (_local6 < _local3) { _local13 = _local2[_local6].length; owner.elements[_local6] = []; _local7 = 0; while (_local7 < _local13) { _local14 = (owner.elements[_local6][_local7] = {}); _local14.clip = _local2[_local6][_local7]; _local14.clip.alpha = Math.abs((1 - _local11)); checkTransitionType(_arg1, _local14); TweenLite.to(_local14, this._groupDuration, {pos:prop, delay:(_local4[_local6][_local7] * owner.delay), ease:this.easeFunc, onUpdate:motionChange, onUpdateParams:[_local14, _local14.clip], onComplete:motionFinish, onCompleteParams:[_local14, _local14.clip]}); TweenLite.to(_local14.clip, ((_alphaPercentage * this._groupDuration) / 100), {alpha:Number(_arg1), delay:((_local4[_local6][_local7] * owner.delay) + newDelay), ease:None.easeNone, overwrite:false}); _local7++; }; _local6++; }; this.component.dispatchEvent(new FLASHEFFEvents(FLASHEFFEvents.TRANSITION_START)); } public function get color():uint{ return (this._color); } public function get selectedStrings():Array{ return (this._selectedStrings); } public function get partialStart():Number{ return (this._partialStart); } protected function clearProperties():void{ var _local1:*; var _local2:uint; var _local3:*; var _local4:uint; var _local5:uint; var _local6:Object; if ((owner is Object)){ if ((owner.elements is Array)){ _local1 = owner.absMatrix; _local2 = owner.elements.length; _local3 = 0; while (_local3 < _local2) { _local5 = owner.elements[_local3].length; _local4 = 0; while (_local4 < _local5) { _local6 = owner.elements[_local3][_local4]; TweenLite.killTweensOf(_local6.clip, false); TweenLite.killTweensOf(_local6, false); _local4++; }; _local3++; }; }; }; delete owner.elements; } public function get partialPercent():Number{ return (this._partialPercent); } private function checkTransitionType(_arg1:Boolean, _arg2:Object){ prop = Number(_arg1); if (_arg1 == false){ _arg2.pos = 1; newDelay = (this._groupDuration - ((_alphaPercentage * this._groupDuration) / 100)); } else { _arg2.pos = 0; newDelay = 0; }; } public function get target():TextField{ return (this._target); } public function set maxBlurX(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 100){ _arg1 = 100; }; this._maxBlurX = ((Number(_arg1)) || (0)); } public function set maxBlurY(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > 100){ _arg1 = 100; }; this._maxBlurY = ((Number(_arg1)) || (0)); } public function get partialGroup():String{ return (this._partialGroup); } public function set preset(_arg1:Number):void{ this._preset = _arg1; } public function get maxBlurX():Number{ return (this._maxBlurX); } public function get maxBlurY():Number{ return (this._maxBlurY); } public function get easeFunc():Function{ var easeFunc:*; try { easeFunc = (getDefinitionByName(("fl.transitions.easing." + this.tweenType)) as Class); return (easeFunc[this.easeType]); } catch(e:ReferenceError) { throw ("FlashEff WARNING: tween or ease type unknown"); return (null); }; return (null); } private function glowEffect(_arg1:Sprite, _arg2:uint, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint=2){ var _local7:GlowFilter; _local7 = new GlowFilter(_arg2, 1, _arg3, _arg4, _arg5, _arg6, false, false); _arg1.filters = [_local7]; } private function motionFinish(_arg1:Object, _arg2:Sprite){ _arg1.clip.filters = []; if (show == false){ _arg1.clip.visible = false; }; owner.tweensFinished++; if (owner.tweensNumber == owner.tweensFinished){ this.component.dispatchEvent(new FLASHEFFEvents(FLASHEFFEvents.TRANSITION_END)); }; } public function set component(_arg1:IFlashEff):void{ this._component = _arg1; } } }//package com.jumpeye.flashEff.text.glow
Section 100
//JFEPatternsPresets (com.jumpeye.flashEff.text.patternsPresets.JFEPatternsPresets) package com.jumpeye.flashEff.text.patternsPresets { public dynamic class JFEPatternsPresets { public function JFEPatternsPresets():void{ } public static function getLinePresetArray(_arg1:uint, _arg2:Array):Object{ var _local3:*; var _local4:int; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:Number; var _local10:Number; _local5 = []; _local6 = _arg2.length; _local8 = 0; _local9 = 0; switch (_arg1){ case 19: _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = _local3; _local4++; }; _local9 = (_local9 + _local7); _local3++; }; _local8 = _local9; break; case 20: _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = ((_local6 - _local3) - 1); _local4++; }; _local9 = (_local9 + _local7); _local3++; }; _local8 = _local9; break; case 21: _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = (Math.random() * _local6); _local4++; }; _local9 = (_local9 + _local7); _local3++; }; _local8 = _local9; break; case 54: _local10 = Math.ceil((_local6 / 2)); _local9 = 0; _local3 = 0; while (_local3 < _local10) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local5[((_local6 - _local3) - 1)] = []; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = _local3; _local9 = Math.max(_local9, (_local3 + 1)); _local4--; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[((_local6 - _local3) - 1)][_local4] = _local3; _local9 = Math.max(_local9, (_local3 + 1)); _local4--; }; _local3++; }; _local8 = _local9; break; case 55: _local10 = Math.ceil((_local6 / 2)); _local9 = 0; _local3 = 0; while (_local3 < _local10) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local5[((_local6 - _local3) - 1)] = []; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = ((_local10 - _local3) - 1); _local9 = Math.max(_local9, (_local10 - _local3)); _local4--; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[((_local6 - _local3) - 1)][_local4] = ((_local10 - _local3) - 1); _local9 = Math.max(_local9, (_local10 - _local3)); _local4--; }; _local3++; }; _local8 = _local9; break; }; return ({maxItems:_local8, timeMatrix:_local5}); } public static function getPresetsArray(_arg1:uint, _arg2:Array):Object{ var _local3:*; var _local4:int; var _local5:Array; var _local6:uint; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:Array; var _local11:uint; var _local12:*; var _local13:Number; var _local14:Array; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:*; var _local20:Number; var _local21:Number; _local5 = []; _local6 = _arg2.length; _local8 = 0; switch (_arg1){ default: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { var _temp1 = _local9; _local9 = (_local9 + 1); _local5[_local3][_local4] = _temp1; _local4++; }; _local3++; }; _local8 = _local9; break; case 2: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = (_local7 - 1); while (_local4 > -1) { _local5[_local3][_local4] = _local9; _local9++; _local4--; }; _local3++; }; _local8 = _local9; break; case 3: _local9 = 0; _local3 = (_local6 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { var _temp2 = _local9; _local9 = (_local9 + 1); _local5[_local3][_local4] = _temp2; _local4++; }; _local3--; }; _local8 = _local9; break; case 4: _local9 = 0; _local3 = (_local6 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = (_local7 - 1); while (_local4 > -1) { var _temp3 = _local9; _local9 = (_local9 + 1); _local5[_local3][_local4] = _temp3; _local4--; }; _local3--; }; _local8 = _local9; break; case 5: _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = (_local3 + _local4); _local9 = Math.max(_local9, (_local3 + _local4)); _local4++; }; _local3++; }; _local8 = _local9; break; case 6: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = ((_local3 + _local7) - _local4); _local9 = Math.max(_local9, ((_local3 + _local7) - _local4)); _local4--; }; _local3++; }; _local8 = _local9; break; case 7: _local9 = 0; _local3 = (_local6 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = ((_local6 - _local3) + _local4); _local9 = Math.max(_local9, ((_local6 - _local3) + _local4)); _local4++; }; _local3--; }; _local8 = _local9; break; case 8: _local9 = 0; _local3 = (_local6 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = (((_local6 - _local3) + _local7) - _local4); _local9 = Math.max(_local9, (((_local6 - _local3) + _local7) - _local4)); _local4--; }; _local3--; }; _local8 = _local9; break; case 9: _local9 = 0; _local10 = []; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local4 = 0; while (_local4 < _local7) { _local10.push({i:_local3, j:_local4, id:_local10.length}); _local4++; }; _local3++; }; _local11 = _local10.length; while (_local10.length != 0) { _local18 = _local10.length; _local19 = Math.floor((Math.random() * _local18)); _local5[_local10[_local19].i][_local10[_local19].j] = (_local18 - 1); _local10.splice(_local19, 1); }; _local8 = _local11; break; case 10: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local16 = Math.ceil((_local7 / 2)); _local5[_local3] = []; _local4 = 0; while (_local4 < _local16) { _local5[_local3][_local4] = _local4; _local5[_local3][((_local7 - _local4) - 1)] = _local4; _local4++; }; _local9 = Math.max(_local9, _local16); _local3++; }; _local8 = _local9; break; case 11: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local16 = Math.ceil((_local7 / 2)); _local5[_local3] = []; _local4 = 0; while (_local4 < _local16) { _local5[_local3][_local4] = ((_local16 - _local4) - 1); _local5[_local3][((_local7 - _local4) - 1)] = ((_local16 - _local4) - 1); _local4++; }; _local9 = Math.max(_local9, _local16); _local3++; }; _local8 = _local9; break; case 12: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local20 = Math.ceil((_local7 / 2)); _local4 = 0; while (_local4 < _local20) { _local5[_local3][_local4] = _local9; var _temp4 = _local9; _local9 = (_local9 + 1); _local5[_local3][((_local7 - _local4) - 1)] = _temp4; _local4++; }; _local3++; }; _local8 = _local9; break; case 13: _local9 = 0; _local3 = (_local6 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local20 = Math.ceil((_local7 / 2)); _local4 = 0; while (_local4 < _local20) { _local5[_local3][_local4] = _local9; var _temp5 = _local9; _local9 = (_local9 + 1); _local5[_local3][((_local7 - _local4) - 1)] = _temp5; _local4++; }; _local3--; }; _local8 = _local9; break; case 14: _local9 = 0; _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local20 = Math.ceil((_local7 / 2)); _local4 = (_local20 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = _local9; var _temp6 = _local9; _local9 = (_local9 + 1); _local5[_local3][((_local7 - _local4) - 1)] = _temp6; _local4--; }; _local3++; }; _local8 = _local9; break; case 15: _local9 = 0; _local3 = (_local6 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local20 = Math.ceil((_local7 / 2)); _local4 = (_local20 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = _local9; var _temp7 = _local9; _local9 = (_local9 + 1); _local5[_local3][((_local7 - _local4) - 1)] = _temp7; _local4--; }; _local3--; }; _local8 = _local9; break; case 16: _local20 = Math.ceil((_local6 / 2)); _local9 = 0; _local3 = 0; while (_local3 < _local20) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local5[((_local6 - _local3) - 1)] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = (_local3 + (_local4 * _local20)); _local9 = Math.max(_local9, (_local3 + (_local4 * _local20))); _local4++; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = 0; while (_local4 < _local7) { _local5[((_local6 - _local3) - 1)][_local4] = (_local3 + (_local4 * _local20)); _local9 = Math.max(_local9, (_local3 + (_local4 * _local20))); _local4++; }; _local3++; }; _local8 = _local9; break; case 17: _local20 = Math.ceil((_local6 / 2)); _local9 = 0; _local3 = 0; while (_local3 < _local20) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local5[((_local6 - _local3) - 1)] = []; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = (_local3 + (((_local7 - _local4) - 1) * _local20)); _local9 = Math.max(_local9, (_local3 + (((_local7 - _local4) - 1) * _local20))); _local4--; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[((_local6 - _local3) - 1)][_local4] = (_local3 + (((_local7 - _local4) - 1) * _local20)); _local9 = Math.max(_local9, (_local3 + (((_local7 - _local4) - 1) * _local20))); _local4--; }; _local3++; }; _local8 = _local9; break; case 18: _local20 = Math.ceil((_local6 / 2)); _local9 = 0; _local3 = (_local20 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local5[((_local6 - _local3) - 1)] = []; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = (((_local20 - _local3) - 1) + (_local4 * _local20)); _local9 = Math.max(_local9, (((_local20 - _local3) - 1) + (_local4 * _local20))); _local4++; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = 0; while (_local4 < _local7) { _local5[((_local6 - _local3) - 1)][_local4] = (((_local20 - _local3) - 1) + (_local4 * _local20)); _local9 = Math.max(_local9, (((_local20 - _local3) - 1) + (_local4 * _local20))); _local4++; }; _local3--; }; _local8 = _local9; break; case 19: _local20 = Math.ceil((_local6 / 2)); _local9 = 0; _local3 = (_local20 - 1); while (_local3 >= 0) { _local7 = _arg2[_local3].length; _local5[_local3] = []; _local5[((_local6 - _local3) - 1)] = []; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[_local3][_local4] = (((_local20 - _local3) - 1) + (((_local7 - _local4) - 1) * _local20)); _local9 = Math.max(_local9, (((_local20 - _local3) - 1) + (((_local7 - _local4) - 1) * _local20))); _local4--; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = (_local7 - 1); while (_local4 >= 0) { _local5[((_local6 - _local3) - 1)][_local4] = (((_local20 - _local3) - 1) + (((_local7 - _local4) - 1) * _local20)); _local9 = Math.max(_local9, (((_local20 - _local3) - 1) + (((_local7 - _local4) - 1) * _local20))); _local4--; }; _local3--; }; _local8 = _local9; break; case 20: _local12 = -1; _local20 = Math.ceil((_local6 / 2)); _local3 = 0; while (_local3 < _local20) { _local5[_local3] = []; _local5[(_local20 + _local3)] = []; _local3++; }; _local3 = 0; while (_local3 < _local20) { _local7 = _arg2[_local3].length; if (((_local6 - _local3) - 1) >= _local3){ _local4 = _local3; while (_local4 <= ((_local7 - _local3) - 1)) { if (isNaN(_local5[_local3][_local4])){ _local12++; _local5[_local3][_local4] = _local12; }; _local4++; }; }; _local7 = _arg2[_local3].length; _local4 = _local3; while (_local4 < ((_local6 - _local3) - 1)) { _local7 = _arg2[_local4].length; if (((_local7 - _local3) - 1) > _local3){ if (isNaN(_local5[_local4][((_local7 - _local3) - 1)])){ _local12++; _local5[_local4][((_local7 - _local3) - 1)] = _local12; }; }; _local4++; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; if (((_local6 - _local3) - 1) > _local3){ _local4 = (_local7 - _local3); while (_local4 > _local3) { if (isNaN(_local5[((_local6 - _local3) - 1)][(_local4 - 1)])){ _local12++; _local5[((_local6 - _local3) - 1)][(_local4 - 1)] = _local12; }; _local4--; }; }; _local4 = ((_local6 - _local3) - 2); while (_local4 > _local3) { _local7 = _arg2[_local4].length; if (_local3 < _local7){ if (isNaN(_local5[_local4][_local3])){ _local12++; _local5[_local4][_local3] = _local12; }; }; _local4--; }; _local3++; }; _local8 = _local12; break; case 21: _local12 = 0; _local20 = Math.ceil((_local6 / 2)); _local3 = 0; while (_local3 < _local6) { _local5[_local3] = []; _local12 = (_local12 + _arg2[_local3].length); _local3++; }; _local8 = _local12; _local3 = 0; while (_local3 < _local20) { _local7 = _arg2[_local3].length; _local4 = _local3; while (_local4 <= ((_local6 - _local3) - 2)) { _local7 = _arg2[_local4].length; if (_local3 < _local7){ if (isNaN(_local5[_local4][_local3])){ _local12--; _local5[_local4][_local3] = _local12; }; }; _local4++; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = _local3; while (_local4 <= ((_local7 - _local3) - 1)) { _local7 = _arg2[((_local6 - _local3) - 1)].length; if (isNaN(_local5[((_local6 - _local3) - 1)][_local4])){ _local12--; _local5[((_local6 - _local3) - 1)][_local4] = _local12; }; _local4++; }; _local4 = ((_local6 - _local3) - 2); while (_local4 > _local3) { _local7 = _arg2[_local4].length; if (((_local7 - _local3) - 1) > _local3){ if (isNaN(_local5[_local4][((_local7 - _local3) - 1)])){ _local12--; _local5[_local4][((_local7 - _local3) - 1)] = _local12; }; }; _local4--; }; _local7 = _arg2[_local3].length; if (_local3 < ((_local6 - _local3) - 1)){ _local4 = ((_local7 - _local3) - 1); while (_local4 > _local3) { if (isNaN(_local5[_local3][_local4])){ _local12--; _local5[_local3][_local4] = _local12; }; _local4--; }; }; _local3++; }; break; case 22: _local12 = -1; _local20 = Math.ceil((_local6 / 2)); _local3 = 0; while (_local3 < _local20) { _local5[_local3] = []; _local5[(_local20 + _local3)] = []; _local3++; }; _local3 = 0; while (_local3 < _local20) { _local4 = _local3; while (_local4 <= ((_local6 - _local3) - 2)) { _local7 = _arg2[_local4].length; if ((_local3 <= ((_local7 - _local3) - 1))){ if (isNaN(_local5[_local4][_local3])){ _local12++; _local5[_local4][_local3] = _local12; }; }; _local4++; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; _local4 = _local3; while (_local4 <= ((_local7 - _local3) - 1)) { _local7 = _arg2[((_local6 - _local3) - 1)].length; if (isNaN(_local5[((_local6 - _local3) - 1)][_local4])){ _local12++; _local5[((_local6 - _local3) - 1)][_local4] = _local12; }; _local4++; }; _local4 = ((_local6 - _local3) - 2); while (_local4 > _local3) { _local7 = _arg2[_local4].length; if (((_local7 - _local3) - 1) > _local3){ if (isNaN(_local5[_local4][((_local7 - _local3) - 1)])){ _local12++; _local5[_local4][((_local7 - _local3) - 1)] = _local12; }; }; _local4--; }; _local7 = _arg2[_local3].length; if (_local3 < ((_local6 - _local3) - 1)){ _local4 = ((_local7 - _local3) - 1); while (_local4 > _local3) { if (isNaN(_local5[_local3][_local4])){ _local12++; _local5[_local3][_local4] = _local12; }; _local4--; }; }; _local3++; }; _local8 = _local12; break; case 23: _local12 = 0; _local20 = Math.ceil((_local6 / 2)); _local3 = 0; while (_local3 < _local6) { _local5[_local3] = []; _local12 = (_local12 + _arg2[_local3].length); _local3++; }; _local8 = _local12; _local3 = 0; while (_local3 < _local20) { _local7 = _arg2[_local3].length; if (((_local6 - _local3) - 1) >= _local3){ _local4 = _local3; while (_local4 <= ((_local7 - _local3) - 1)) { if (isNaN(_local5[_local3][_local4])){ _local12--; _local5[_local3][_local4] = _local12; }; _local4++; }; }; _local7 = _arg2[_local3].length; _local4 = _local3; while (_local4 < ((_local6 - _local3) - 1)) { _local7 = _arg2[_local4].length; if (((_local7 - _local3) - 1) >= _local3){ if (isNaN(_local5[_local4][((_local7 - _local3) - 1)])){ _local12--; _local5[_local4][((_local7 - _local3) - 1)] = _local12; }; }; _local4++; }; _local7 = _arg2[((_local6 - _local3) - 1)].length; if (_local3 <= ((_local7 - _local3) - 1)){ if (((_local6 - _local3) - 1) > _local3){ _local4 = (_local7 - _local3); while (_local4 > _local3) { if (isNaN(_local5[((_local6 - _local3) - 1)][(_local4 - 1)])){ _local12--; _local5[((_local6 - _local3) - 1)][(_local4 - 1)] = _local12; }; _local4--; }; }; }; _local4 = ((_local6 - _local3) - 2); while (_local4 > _local3) { _local7 = _arg2[_local4].length; if (_local3 < _local7){ if (isNaN(_local5[_local4][_local3])){ _local12--; _local5[_local4][_local3] = _local12; }; }; _local4--; }; _local3++; }; break; case 24: _local13 = Math.ceil((_local6 / 2)); _local14 = []; _local15 = _arg2[0].length; _local12 = 0; _local3 = 0; while (_local3 < _local6) { _local5[_local3] = []; _local14[_local3] = []; _local21 = _arg2[_local3].length; _local12 = (_local12 + _local21); _local15 = Math.max(_local15, _local21); _local3++; }; _local14[_local6] = []; _local14[(_local6 + 1)] = []; _local16 = Math.ceil((_local15 / 2)); _local3 = 0; while (_local3 <= (_local6 + 1)) { _local14[_local3][0] = -1; _local14[_local3][(_local15 + 1)] = -1; _local3++; }; _local3 = 0; while (_local3 <= (_local15 + 1)) { _local14[0][_local3] = -1; _local14[(_local6 + 1)][_local3] = -1; _local3++; }; _local14[_local13][_local16] = 0; fillMatrix(_local13, _local16, _local14); _local8 = 0; _local17 = Math.max(_local14[1][1], _local14[1][_local15]); _local17 = Math.max(_local17, _local14[_local6][1]); _local17 = Math.max(_local17, _local14[_local6][_local15]); _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = (_local17 - _local14[(_local3 + 1)][(_local4 + 1)]); _local8 = Math.max(_local8, _local5[_local3][_local4]); _local4++; }; _local3++; }; break; case 25: _local13 = Math.ceil((_local6 / 2)); _local14 = []; _local15 = _arg2[0].length; _local12 = 0; _local8 = 0; _local3 = 0; while (_local3 < _local6) { _local5[_local3] = []; _local14[_local3] = []; _local21 = _arg2[_local3].length; _local12 = (_local12 + _local21); _local15 = Math.max(_local15, _local21); _local3++; }; _local14[_local6] = []; _local14[(_local6 + 1)] = []; _local16 = Math.ceil((_local15 / 2)); _local3 = 0; while (_local3 <= (_local6 + 1)) { _local14[_local3][0] = -1; _local14[_local3][(_local15 + 1)] = -1; _local3++; }; _local3 = 0; while (_local3 <= (_local15 + 1)) { _local14[0][_local3] = -1; _local14[(_local6 + 1)][_local3] = -1; _local3++; }; _local14[_local13][_local16] = 0; fillMatrix(_local13, _local16, _local14); _local3 = 0; while (_local3 < _local6) { _local7 = _arg2[_local3].length; _local4 = 0; while (_local4 < _local7) { _local5[_local3][_local4] = _local14[(_local3 + 1)][(_local4 + 1)]; _local8 = Math.max(_local8, _local5[_local3][_local4]); _local4++; }; _local3++; }; break; }; return ({maxItems:_local8, timeMatrix:_local5}); } public static function fillMatrix(_arg1, _arg2, _arg3):Array{ var _local4:Number; _local4 = _arg3[_arg1][_arg2]; if (((isNaN(_arg3[(_arg1 - 1)][_arg2])) || ((_arg3[(_arg1 - 1)][_arg2] > (_local4 + 1))))){ _arg3[(_arg1 - 1)][_arg2] = (_local4 + 1); fillMatrix((_arg1 - 1), _arg2, _arg3); }; if (((isNaN(_arg3[(_arg1 + 1)][_arg2])) || ((_arg3[(_arg1 + 1)][_arg2] > (_local4 + 1))))){ _arg3[(_arg1 + 1)][_arg2] = (_local4 + 1); fillMatrix((_arg1 + 1), _arg2, _arg3); }; if (((isNaN(_arg3[_arg1][(_arg2 - 1)])) || ((_arg3[_arg1][(_arg2 - 1)] > (_local4 + 1))))){ _arg3[_arg1][(_arg2 - 1)] = (_local4 + 1); fillMatrix(_arg1, (_arg2 - 1), _arg3); }; if (((isNaN(_arg3[_arg1][(_arg2 + 1)])) || ((_arg3[_arg1][(_arg2 + 1)] > (_local4 + 1))))){ _arg3[_arg1][(_arg2 + 1)] = (_local4 + 1); fillMatrix(_arg1, (_arg2 + 1), _arg3); }; return (_arg3); } } }//package com.jumpeye.flashEff.text.patternsPresets
Section 101
//FeChar (com.jumpeye.flashEff.text.FeChar) package com.jumpeye.flashEff.text { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.text.*; public dynamic class FeChar extends Sprite implements IFeChar { private var _type:String;// = "FeChar" private var _textField:TextField; private var _bottomPosition:Number; private var _id:Number; private var _properties:Object; private var _htmlText:String;// = "" public function FeChar(_arg1:Number, _arg2:Number, _arg3:Object){ _type = "FeChar"; _htmlText = ""; super(); init(); this.text = ((_arg3.text) || ("")); this.id = _arg3.id; this.x = _arg1; this.y = _arg2; this.properties = _arg3; this.textField.embedFonts = true; } private function init(){ this.textField = new TextField(); this.textField.autoSize = TextFieldAutoSize.LEFT; this.textField.selectable = false; this.addChild(this.textField); } public function get id():Number{ return (this._id); } public function get text():String{ return (this.textField.text); } public function get properties():Object{ return (this._properties); } public function set id(_arg1:Number):void{ this._id = _arg1; } public function get type():String{ return (this._type); } public function set properties(_arg1:Object):void{ this._properties = _arg1; } public function set text(_arg1:String):void{ this.textField.text = _arg1; _htmlText = _arg1; } public function get bottomPosition():Number{ return (_bottomPosition); } public function get htmlText():String{ return (_htmlText); } private function renewPositions(){ this.y = ((this.y + this.bottomPosition) - this.textField.getLineMetrics(0).ascent); } public function applyTextFormat(_arg1:TextFormat):void{ _arg1.leading = 0; _arg1.leftMargin = 0; _arg1.rightMargin = 0; _arg1.letterSpacing = 0; _arg1.indent = 0; _arg1.blockIndent = 0; this.textField.setTextFormat(_arg1); if (this.textField.getTextFormat().italic == true){ this.textField.autoSize = "left"; this.textField.width = (this.textField.width + (this.textField.height * 0.2125)); this.textField.autoSize = "none"; }; this.renewPositions(); } public function set textField(_arg1:TextField):void{ _textField = _arg1; } public function get textField():TextField{ return (_textField); } public function set bottomPosition(_arg1:Number):void{ _bottomPosition = _arg1; } public function set htmlText(_arg1:String):void{ trace(_arg1); this.textField.htmlText = _arg1; _htmlText = _arg1; } } }//package com.jumpeye.flashEff.text
Section 102
//FeGroup (com.jumpeye.flashEff.text.FeGroup) package com.jumpeye.flashEff.text { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.utils.*; public dynamic class FeGroup extends Sprite implements IFeGroup { private var _text:String; private var _type:String;// = "FeGroup" private var _id:Number; private var _properties:Object; private var _childs:Array; public function FeGroup(_arg1:Number, _arg2:Number, _arg3:Object){ _type = "FeGroup"; super(); init(); _childs = []; this.x = ((_arg1) || (0)); this.y = ((_arg2) || (0)); this.text = _arg3.text; this.id = _arg3.id; this.properties = _arg3; } private function init(){ } public function get id():Number{ return (this._id); } public function pushChild(_arg1:Object):Object{ var className:String; var classInstance:Class; var child:*; var arg = _arg1; className = arg.type; try { classInstance = (getDefinitionByName(("com.jumpeye.flashEff.text." + className)) as Class); child = new classInstance(arg.x, arg.y, arg); this.addChild(child); this._childs.push(child); } catch(e) { throw (e); }; return (child); } public function get text():String{ return (this._text); } public function get properties():Object{ return (this._properties); } public function set id(_arg1:Number):void{ this._id = _arg1; } public function get type():String{ return (this._type); } public function removeChildAtIndex(_arg1:uint):Object{ this.removeChildAt(_arg1); return (this._childs.splice(_arg1, 1)[0]); } public function set properties(_arg1:Object):void{ this._properties = _arg1; } public function set text(_arg1:String):void{ this._text = _arg1; } public function removeChilds():void{ var _local1:uint; var _local2:uint; _local1 = this._childs.length; _local2 = 0; while (_local2 < _local1) { if (this._childs[_local2].type == "FeGroup"){ this._childs[_local2].removeChilds(); }; this.removeChild(this._childs[_local2]); _local2++; }; this._childs = []; } public function set childs(_arg1:Array):void{ var len:uint; var i:uint; var className:String; var classInstance:Class; var child:*; var arg = _arg1; len = arg.length; i = 0; while (i < len) { className = arg[i].type; try { classInstance = (getDefinitionByName(("com.jumpeye.flashEff.text." + className)) as Class); child = new classInstance(arg[i].x, arg[i].y, arg[i]); this.addChild(child); this._childs.push(arg); } catch(e) { throw (e); }; i = (i + 1); }; } public function cleanMe():void{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < this._childs.length) { _local2 = this._childs[_local1]; if (_local2.type != "FeChar"){ _local2.cleanMe(); }; if (_local2.numChildren == 0){ this.removeChildAtIndex(_local1); } else { _local1++; }; }; } public function get childs():Array{ return (this._childs); } } }//package com.jumpeye.flashEff.text
Section 103
//FeTable (com.jumpeye.flashEff.text.FeTable) package com.jumpeye.flashEff.text { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.utils.*; public class FeTable extends Sprite implements IFeTable { private var tempGroup:FeGroup; private var _type:String;// = "FeTable" private var tempChar:FeChar; private var _childs:Array; public function FeTable(){ _type = "FeTable"; super(); init(); _childs = []; } private function init(){ } public function pushChild(_arg1:Object):Object{ var className:String; var classInstance:Class; var child:*; var arg = _arg1; className = arg.type; try { classInstance = (getDefinitionByName(("com.jumpeye.flashEff.text." + className)) as Class); child = new classInstance(arg.x, arg.y, arg); this.addChild(child); this._childs.push(child); } catch(e) { throw (e); }; return (child); } public function get type():String{ return (this._type); } public function removeChildAtIndex(_arg1:uint):Object{ this.removeChildAt(_arg1); return (this._childs.splice(_arg1, 1)[0]); } public function removeChilds():void{ var _local1:uint; var _local2:uint; _local1 = this._childs.length; _local2 = 0; while (_local2 < _local1) { if (this._childs[_local2].type == "FeGroup"){ this._childs[_local2].removeChilds(); }; this.removeChild(this._childs[_local2]); _local2++; }; this._childs = []; } public function set childs(_arg1:Array):void{ var _local2:uint; var _local3:uint; _local2 = _arg1.length; this._childs = []; _local3 = 0; while (_local3 < _local2) { this.pushChild(_arg1[_local3]); _local3++; }; } public function cleanMe():void{ var _local1:*; var _local2:*; _local1 = 0; while (_local1 < this._childs.length) { _local2 = this._childs[_local1]; if (_local2.type != "FeChar"){ _local2.cleanMe(); }; if (_local2.numChildren == 0){ this.removeChildAtIndex(_local1); } else { _local1++; }; }; } public function get childs():Array{ return (_childs); } } }//package com.jumpeye.flashEff.text
Section 104
//JWavesEffect (com.jumpeye.flashEff.utils.wavesEffect.JWavesEffect) package com.jumpeye.flashEff.utils.wavesEffect { import flash.display.*; import flash.geom.*; import flash.filters.*; public class JWavesEffect extends Sprite { public var bitmap:BitmapData; private var map:Bitmap; private var offsetPoints:Array; private var target; public var decrInterval:Number; private var blurQuality:Number; public var baseX; public var baseY; private var bounds:Object; private var __value;// = 0 public var fractalNoiseVal; private var hig:Number; public var intervalId; public var blurX; public var blurY; private var wid; public function JWavesEffect(_arg1, _arg2:Boolean, _arg3:Number, _arg4:Number=0, _arg5:Number=0){ __value = 0; super(); blurQuality = _arg3; this.target = _arg1; this.map = new Bitmap(); this.map.smoothing = _arg2; this.addChild(map); this.baseX = ((baseX) || (100)); this.baseY = ((baseY) || (100)); this.blurX = ((blurX) || (0)); this.blurY = ((blurY) || (0)); this.fractalNoiseVal = ((fractalNoiseVal) || (true)); this.offsetPoints = new Array(); this.offsetPoints[0] = new Point(); this.wid = ((_arg4)==0) ? _arg1.width : _arg4; this.hig = ((_arg5)==0) ? _arg1.height : _arg5; this.wid = ((this.wid)>2880) ? 2880 : this.wid; this.hig = ((this.hig)>2880) ? 2880 : this.hig; this.bitmap = new BitmapData((this.wid + 2), (this.hig + 2), true, 0); } public function get value():Number{ return (__value); } private function setEffect():void{ var _local1:Array; this.initFilters(value); _local1 = this.target.filters; this.offsetPoints[0].x = this.value; this.offsetPoints[0].y = this.value; this.bitmap.perlinNoise(this.baseX, this.baseY, 2, 100, true, this.fractalNoiseVal, 7, true, this.offsetPoints); _local1[0].mapBitmap = this.bitmap; this.target.filters = _local1; map.bitmapData = bitmap; } private function getDisplacement(_arg1):BitmapFilter{ var _local2:Point; var _local3:DisplacementMapFilter; _local2 = new Point(0, 0); _local3 = new DisplacementMapFilter(this.bitmap, _local2, 1, 1, (_arg1 / 3), (_arg1 / 3), "color"); return (_local3); } private function initFilters(_arg1):void{ var _local2:*; var _local3:*; var _local4:Array; _local2 = getDisplacement(_arg1); _local3 = getBlur(0); _local4 = []; _local4.push(_local2); _local4.push(_local3); target.filters = [_local2]; } private function getBlur(_arg1):BitmapFilter{ var _local2:Number; var _local3:Number; _local2 = _arg1; _local3 = _arg1; return (new BlurFilter(_local2, _local3, blurQuality)); } public function set value(_arg1:Number):void{ __value = _arg1; this.setEffect(); } } }//package com.jumpeye.flashEff.utils.wavesEffect
Section 105
//JInstantiateClass (com.jumpeye.utils.JInstantiateClass) package com.jumpeye.utils { import fl.transitions.easing.*; public class JInstantiateClass { public function JInstantiateClass(){ init(); } function init(){ var _local1:*; _local1 = new Back(); _local1 = new Bounce(); _local1 = new Elastic(); _local1 = new None(); _local1 = new Regular(); _local1 = new Strong(); } public static function initClasses(){ var _local1:*; _local1 = new Back(); _local1 = new Bounce(); _local1 = new Elastic(); _local1 = new None(); _local1 = new Regular(); _local1 = new Strong(); } } }//package com.jumpeye.utils
Section 106
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; public class AdLoader extends Sprite { private var contentspotid:String; private var cpmstarLoader:Loader; public function AdLoader(_arg1:String){ this.contentspotid = _arg1; addEventListener(Event.ADDED, addedHandler); } private function addedHandler(_arg1:Event):void{ var _local2:String; var _local3:DisplayObjectContainer; removeEventListener(Event.ADDED, addedHandler); Security.allowDomain("server.cpmstar.com"); _local2 = "http://server.cpmstar.com/adviewas3.swf"; _local3 = parent; cpmstarLoader = new Loader(); cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler); cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler); cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid))); addChild(cpmstarLoader); } private function dispatchHandler(_arg1:Event):void{ dispatchEvent(_arg1); } } }//package CPMStar
Section 107
//InvalidationType (fl.core.InvalidationType) package fl.core { public class InvalidationType { public static const SIZE:String = "size"; public static const ALL:String = "all"; public static const DATA:String = "data"; public static const SCROLL:String = "scroll"; public static const STATE:String = "state"; public static const STYLES:String = "styles"; public static const SELECTED:String = "selected"; public static const RENDERER_STYLES:String = "rendererStyles"; } }//package fl.core
Section 108
//Back (fl.transitions.easing.Back) package fl.transitions.easing { public class Back { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / _arg4); return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{ if (!_arg5){ _arg5 = 1.70158; }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2)); }; _arg1 = (_arg1 - 2); _arg5 = (_arg5 * 1.525); return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 109
//Bounce (fl.transitions.easing.Bounce) package fl.transitions.easing { public class Bounce { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); if (_arg1 < (1 / 2.75)){ return (((_arg3 * ((7.5625 * _arg1) * _arg1)) + _arg2)); }; if (_arg1 < (2 / 2.75)){ _arg1 = (_arg1 - (1.5 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.75)) + _arg2)); }; if (_arg1 < (2.5 / 2.75)){ _arg1 = (_arg1 - (2.25 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.9375)) + _arg2)); }; _arg1 = (_arg1 - (2.625 / 2.75)); return (((_arg3 * (((7.5625 * _arg1) * _arg1) + 0.984375)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 - easeOut((_arg4 - _arg1), 0, _arg3, _arg4)) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ if (_arg1 < (_arg4 / 2)){ return (((easeIn((_arg1 * 2), 0, _arg3, _arg4) * 0.5) + _arg2)); }; return ((((easeOut(((_arg1 * 2) - _arg4), 0, _arg3, _arg4) * 0.5) + (_arg3 * 0.5)) + _arg2)); } } }//package fl.transitions.easing
Section 110
//Elastic (fl.transitions.easing.Elastic) package fl.transitions.easing { public class Elastic { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) + _arg3) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; --_arg1; return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / (2 * Math.PI)) * Math.asin((_arg3 / _arg5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6)))) + _arg2)); }; --_arg1; return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _arg6))) * 0.5) + _arg3) + _arg2)); } } }//package fl.transitions.easing
Section 111
//None (fl.transitions.easing.None) package fl.transitions.easing { public class None { 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.transitions.easing
Section 112
//Regular (fl.transitions.easing.Regular) package fl.transitions.easing { public class Regular { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _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) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package fl.transitions.easing
Section 113
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _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) * _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) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 114
//Tween (fl.transitions.Tween) package fl.transitions { import flash.display.*; import flash.events.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false public var begin:Number;// = NAN private var _fps:Number;// = NAN private var _time:Number;// = NAN public var change:Number;// = NAN private var _finish:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ isPlaying = false; obj = null; prop = ""; func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; begin = NaN; change = NaN; useSeconds = false; prevTime = NaN; prevPos = NaN; looping = false; _duration = NaN; _time = NaN; _fps = NaN; _position = NaN; _startTime = NaN; _intervalID = 0; _finish = NaN; _timer = null; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean; _local2 = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get position():Number{ return (this.getPosition(this._time)); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 115
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var time:Number;// = NAN public var position:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ time = NaN; position = NaN; super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 116
//TweenFilterLite (gs.TweenFilterLite) package gs { import flash.display.*; import flash.filters.*; public class TweenFilterLite extends TweenLite { private var _endMatrix:Array; private var _hf:Boolean;// = false private var _matrix:Array; private var _cmf:ColorMatrixFilter; private var _clrsa:Array; private var _filters:Array; public static var defaultEase:Function = TweenLite.defaultEase; private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var _lumB:Number = 0.072169; public static var version:Number = 7.12; public static var delayedCall:Function = TweenLite.delayedCall; public static var killTweensOf:Function = TweenLite.killTweensOf; private static var _lumG:Number = 0.71516; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; private static var _lumR:Number = 0.212671; public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){ _hf = false; _filters = []; super(_arg1, _arg2, _arg3); if ((((TweenLite.version < 6.21)) || (isNaN(TweenLite.version)))){ trace("ERROR! Please update your TweenLite class. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com."); }; if (_arg3.type != undefined){ trace((("TweenFilterLite error: " + _arg1) + " is using deprecated syntax. Please update to the new syntax. See http://www.TweenFilterLite.com for details.")); }; } override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:int; var _local4:Object; var _local5:Object; var _local6:Object; _clrsa = []; _filters = []; _matrix = _idMatrix.slice(); _arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter "); if ((this.target is DisplayObject)){ if (this.vars.blurFilter != undefined){ _local4 = this.vars.blurFilter; addFilter("blur", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2)))); }; if (this.vars.glowFilter != undefined){ _local4 = this.vars.glowFilter; addFilter("glow", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout)); }; if (this.vars.colorMatrixFilter != undefined){ _local4 = this.vars.colorMatrixFilter; _local5 = addFilter("colorMatrix", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix)); _cmf = _local5.filter; _matrix = ColorMatrixFilter(_cmf).matrix; if (((!((_local4.matrix == undefined))) && ((_local4.matrix is Array)))){ _endMatrix = _local4.matrix; } else { if (_local4.relative == true){ _endMatrix = _matrix.slice(); } else { _endMatrix = _idMatrix.slice(); }; _endMatrix = setBrightness(_endMatrix, _local4.brightness); _endMatrix = setContrast(_endMatrix, _local4.contrast); _endMatrix = setHue(_endMatrix, _local4.hue); _endMatrix = setSaturation(_endMatrix, _local4.saturation); _endMatrix = setThreshold(_endMatrix, _local4.threshold); if (!isNaN(_local4.colorize)){ _endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount); } else { if (!isNaN(_local4.color)){ _endMatrix = colorize(_endMatrix, _local4.color, _local4.amount); }; }; }; _local3 = 0; while (_local3 < _endMatrix.length) { if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){ this.tweens.push({o:_matrix, p:_local3.toString(), s:_matrix[_local3], c:(_endMatrix[_local3] - _matrix[_local3])}); }; _local3++; }; }; if (this.vars.dropShadowFilter != undefined){ _local4 = this.vars.dropShadowFilter; addFilter("dropShadow", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject)); }; if (this.vars.bevelFilter != undefined){ _local4 = this.vars.bevelFilter; addFilter("bevel", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2)))); }; if (this.vars.runBackwards == true){ _local3 = (_clrsa.length - 1); while (_local3 > -1) { _local6 = _clrsa[_local3]; _clrsa[_local3].sr = (_local6.sr + _local6.cr); _local6.cr = (_local6.cr * -1); _local6.sg = (_local6.sg + _local6.cg); _local6.cg = (_local6.cg * -1); _local6.sb = (_local6.sb + _local6.cb); _local6.cb = (_local6.cb * -1); _local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb); _local3--; }; }; super.initTweenVals(true, _arg2); } else { super.initTweenVals(_arg1, _arg2); }; } override public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Array; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 > this.duration){ _local2 = this.duration; }; _local3 = this.vars.ease(_local2, 0, 1, this.duration); _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hf){ _local5 = (_clrsa.length - 1); while (_local5 > -1) { _local4 = _clrsa[_local5]; _local6 = (_local4.sr + (_local3 * _local4.cr)); _local7 = (_local4.sg + (_local3 * _local4.cg)); _local8 = (_local4.sb + (_local3 * _local4.cb)); _local4.f[_local4.p] = (((_local6 << 16) | (_local7 << 8)) | _local8); _local5--; }; if (_cmf != null){ ColorMatrixFilter(_cmf).matrix = _matrix; }; _local10 = this.target.filters; _local5 = 0; while (_local5 < _filters.length) { _local9 = (_local10.length - 1); while (_local9 > -1) { if ((_local10[_local9] is _filters[_local5].type)){ _local10.splice(_local9, 1, _filters[_local5].filter); break; }; _local9--; }; _local5++; }; this.target.filters = _local10; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (_local2 == this.duration){ super.complete(true); }; } private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{ var _local6:Object; var _local7:Array; var _local8:int; var _local9:String; var _local10:Number; var _local11:Object; var _local12:Object; _local6 = {type:_arg3}; _local7 = this.target.filters; _local8 = 0; while (_local8 < _local7.length) { if ((_local7[_local8] is _arg3)){ _local6.filter = _local7[_local8]; break; }; _local8++; }; if (_local6.filter == undefined){ _local6.filter = _arg5; _local7.push(_local6.filter); this.target.filters = _local7; }; _local8 = 0; while (_local8 < _arg4.length) { _local9 = _arg4[_local8]; if (_arg2[_local9] != undefined){ if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){ _local11 = HEXtoRGB(_local6.filter[_local9]); _local12 = HEXtoRGB(_arg2[_local9]); _clrsa.push({f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)}); } else { if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){ _local6.filter[_local9] = _arg2[_local9]; } else { if (typeof(_arg2[_local9]) == "number"){ _local10 = (_arg2[_local9] - _local6.filter[_local9]); } else { _local10 = Number(_arg2[_local9]); }; this.tweens.push({o:_local6.filter, p:_local9, s:_local6.filter[_local9], c:_local10}); }; }; }; _local8++; }; _filters.push(_local6); _hf = true; return (_local6); } public function HEXtoRGB(_arg1:Number):Object{ return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)}); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); _local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=100):Array{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; _local4 = (((_arg2 >> 16) & 0xFF) / 0xFF); _local5 = (((_arg2 >> 8) & 0xFF) / 0xFF); _local6 = ((_arg2 & 0xFF) / 0xFF); _local7 = (1 - _arg3); _local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = (1 - _arg2); _local4 = (_local3 * _lumR); _local5 = (_local3 * _lumG); _local6 = (_local3 * _lumB); _local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local3:Array; var _local4:int; var _local5:int; var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; _local3 = []; _local4 = 0; _local5 = 0; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ _arg3.runBackwards = true; return (new TweenFilterLite(_arg1, _arg2, _arg3)); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function setHue(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); _local3 = Math.cos(_arg2); _local4 = Math.sin(_arg2); _local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{ return (new TweenFilterLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 117
//TweenLite (gs.TweenLite) package gs { import flash.display.*; import flash.geom.*; import flash.events.*; import flash.utils.*; import flash.media.*; public class TweenLite { public var delay:Number; protected var _initted:Boolean; protected var _subTweens:Array; public var startTime:int; public var target:Object; public var duration:Number; protected var _hst:Boolean; protected var _active:Boolean; public var vars:Object; public var tweens:Array; public var initTime:int; private static var _timer:Timer = new Timer(2000); private static var _classInitted:Boolean; public static var defaultEase:Function = TweenLite.easeOut; public static var version:Number = 6.21; private static var _sprite:Sprite = new Sprite(); protected static var _all:Dictionary = new Dictionary(); public static var killDelayedCallsTo:Function = killTweensOf; protected static var _curTime:uint; private static var _listening:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (((((!((_arg3.overwrite == false))) && (!((_arg1 == null))))) || ((_all[_arg1] == undefined)))){ delete _all[_arg1]; _all[_arg1] = new Dictionary(); }; _all[_arg1][this] = this; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.target = _arg1; if (!(this.vars.ease is Function)){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; if (!isNaN(Number(this.vars.autoAlpha))){ this.vars.alpha = Number(this.vars.autoAlpha); }; this.tweens = []; _subTweens = []; _hst = (_initted = false); _active = (((_arg2 == 0)) && ((this.delay == 0))); if (!_classInitted){ _curTime = getTimer(); _sprite.addEventListener(Event.ENTER_FRAME, executeAll); _classInitted = true; }; this.initTime = _curTime; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){ initTweenVals(); this.startTime = _curTime; if (_active){ render((this.startTime + 1)); } else { render(this.startTime); }; }; if (((!(_listening)) && (!(_active)))){ _timer.addEventListener("timer", killGarbage); _timer.start(); _listening = true; }; } protected function addSubTween(_arg1:Function, _arg2:Object, _arg3:Object, _arg4:Object=null):void{ var _local5:Object; var _local6:String; _local5 = {proxy:_arg1, target:_arg2, info:_arg4}; _subTweens.push(_local5); for (_local6 in _arg3) { if (_arg2.hasOwnProperty(_local6)){ if (typeof(_arg3[_local6]) == "number"){ this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:(_arg3[_local6] - _arg2[_local6]), sub:_local5}); } else { this.tweens.push({o:_arg2, p:_local6, s:_arg2[_local6], c:Number(_arg3[_local6]), sub:_local5}); }; }; }; _hst = true; } public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{ var _local3:Boolean; var _local4:String; var _local5:int; var _local6:Array; var _local7:ColorTransform; var _local8:ColorTransform; var _local9:Object; _local3 = (this.target is DisplayObject); if ((this.target is Array)){ _local6 = ((this.vars.endArray) || ([])); _local5 = 0; while (_local5 < _local6.length) { if (((!((this.target[_local5] == _local6[_local5]))) && (!((this.target[_local5] == undefined))))){ this.tweens.push({o:this.target, p:_local5.toString(), s:this.target[_local5], c:(_local6[_local5] - this.target[_local5])}); }; _local5++; }; } else { for (_local4 in this.vars) { if ((((((((((((((((((((((((((((((((((((_local4 == "ease")) || ((_local4 == "delay")))) || ((_local4 == "overwrite")))) || ((_local4 == "onComplete")))) || ((_local4 == "onCompleteParams")))) || ((_local4 == "onCompleteScope")))) || ((_local4 == "runBackwards")))) || ((_local4 == "onUpdate")))) || ((_local4 == "onUpdateParams")))) || ((_local4 == "onUpdateScope")))) || ((_local4 == "autoAlpha")))) || ((_local4 == "onStart")))) || ((_local4 == "onStartParams")))) || ((_local4 == "onStartScope")))) || ((_local4 == "renderOnStart")))) || ((_local4 == "proxiedEase")))) || ((_local4 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local4) + " ")) == -1))))))){ } else { if ((((_local4 == "tint")) && (_local3))){ _local7 = this.target.transform.colorTransform; _local8 = new ColorTransform(); if (this.vars.alpha != undefined){ _local8.alphaMultiplier = this.vars.alpha; delete this.vars.alpha; _local5 = (this.tweens.length - 1); while (_local5 > -1) { if (this.tweens[_local5].p == "alpha"){ this.tweens.splice(_local5, 1); break; }; _local5--; }; } else { _local8.alphaMultiplier = this.target.alpha; }; if (((((!((this.vars[_local4] == null))) && (!((this.vars[_local4] == ""))))) || ((this.vars[_local4] == 0)))){ _local8.color = this.vars[_local4]; }; addSubTween(tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8}); } else { if ((((_local4 == "frame")) && (_local3))){ addSubTween(frameProxy, {frame:this.target.currentFrame}, {frame:this.vars[_local4]}, {target:this.target}); } else { if ((((_local4 == "volume")) && (((_local3) || ((this.target is SoundChannel)))))){ addSubTween(volumeProxy, this.target.soundTransform, {volume:this.vars[_local4]}, {target:this.target}); } else { if (this.target.hasOwnProperty(_local4)){ if (typeof(this.vars[_local4]) == "number"){ this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:(this.vars[_local4] - this.target[_local4])}); } else { this.tweens.push({o:this.target, p:_local4, s:this.target[_local4], c:Number(this.vars[_local4])}); }; }; }; }; }; }; }; }; if (this.vars.runBackwards == true){ _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local9 = this.tweens[_local5]; this.tweens[_local5].s = (_local9.s + _local9.c); _local9.c = (_local9.c * -1); _local5--; }; }; if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = !((((this.vars.runBackwards == true)) && ((this.target.alpha == 0)))); }; _initted = true; } public function get active():Boolean{ if (_active){ return (true); }; if (((_curTime - this.initTime) / 1000) > this.delay){ _active = true; this.startTime = (this.initTime + (this.delay * 1000)); if (!_initted){ initTweenVals(); } else { if (typeof(this.vars.autoAlpha) == "number"){ this.target.visible = true; }; }; if (this.vars.onStart != null){ this.vars.onStart.apply(this.vars.onStartScope, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; return (true); //unresolved jump }; return (false); } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:int; _local2 = ((_arg1 - this.startTime) / 1000); if (_local2 > this.duration){ _local2 = this.duration; }; _local3 = this.vars.ease(_local2, 0, 1, this.duration); _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c)); _local5--; }; if (_hst){ _local5 = (_subTweens.length - 1); while (_local5 > -1) { _subTweens[_local5].proxy(_subTweens[_local5]); _local5--; }; }; if (this.vars.onUpdate != null){ this.vars.onUpdate.apply(this.vars.onUpdateScope, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function complete(_arg1:Boolean=false):void{ if (!_arg1){ if (!_initted){ initTweenVals(); }; this.startTime = (_curTime - (this.duration * 1000)); render(_curTime); return; }; if ((((typeof(this.vars.autoAlpha) == "number")) && ((this.target.alpha == 0)))){ this.target.visible = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(this.vars.onCompleteScope, this.vars.onCompleteParams); }; removeTween(this); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function frameProxy(_arg1:Object):void{ _arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame)); } public static function removeTween(_arg1:TweenLite=null):void{ if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){ delete _all[_arg1.target][_arg1]; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Object; var _local4:*; if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){ if (_arg2){ _local3 = _all[_arg1]; for (_local4 in _local3) { _local3[_local4].complete(false); }; }; delete _all[_arg1]; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, onCompleteScope:_arg4, overwrite:false})); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function executeAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Object; var _local5:Object; _local2 = (_curTime = getTimer()); if (_listening){ _local3 = _all; for each (_local4 in _local3) { for (_local5 in _local4) { if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){ _local4[_local5].render(_local2); }; }; }; }; } public static function volumeProxy(_arg1:Object):void{ _arg1.info.target.soundTransform = _arg1.target; } public static function killGarbage(_arg1:TimerEvent):void{ var _local2:uint; var _local3:Boolean; var _local4:Object; var _local5:Object; var _local6:Object; _local2 = 0; for (_local4 in _all) { _local3 = false; for (_local5 in _all[_local4]) { _local3 = true; break; }; if (!_local3){ delete _all[_local4]; } else { _local2++; }; }; if (_local2 == 0){ _timer.removeEventListener("timer", killGarbage); _timer.stop(); _listening = false; }; } public static function tintProxy(_arg1:Object):void{ var _local2:Number; var _local3:Number; var _local4:Object; var _local5:Object; _local2 = _arg1.target.progress; _local3 = (1 - _local2); _local4 = _arg1.info.color; _local5 = _arg1.info.endColor; _arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2))); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 118
//adBox_4 (jt2_fla.adBox_4) package jt2_fla { import flash.display.*; public dynamic class adBox_4 extends MovieClip { public function adBox_4(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 119
//BoxHeadcopy_50 (jt2_fla.BoxHeadcopy_50) package jt2_fla { import flash.display.*; public dynamic class BoxHeadcopy_50 extends MovieClip { public function BoxHeadcopy_50(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 120
//btnBaby_25 (jt2_fla.btnBaby_25) package jt2_fla { import flash.display.*; public dynamic class btnBaby_25 extends MovieClip { public function btnBaby_25(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 121
//btnBack_30 (jt2_fla.btnBack_30) package jt2_fla { import flash.display.*; public dynamic class btnBack_30 extends MovieClip { public function btnBack_30(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 122
//btnCredits_21 (jt2_fla.btnCredits_21) package jt2_fla { import flash.display.*; public dynamic class btnCredits_21 extends MovieClip { public function btnCredits_21(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 123
//btnCreditscopy_24 (jt2_fla.btnCreditscopy_24) package jt2_fla { import flash.display.*; public dynamic class btnCreditscopy_24 extends MovieClip { public function btnCreditscopy_24(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 124
//btnExit_43 (jt2_fla.btnExit_43) package jt2_fla { import flash.display.*; public dynamic class btnExit_43 extends MovieClip { public var close:MovieClip; } }//package jt2_fla
Section 125
//btnHowto_18 (jt2_fla.btnHowto_18) package jt2_fla { import flash.display.*; public dynamic class btnHowto_18 extends MovieClip { public function btnHowto_18(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 126
//btnHowtocopy_47 (jt2_fla.btnHowtocopy_47) package jt2_fla { import flash.display.*; public dynamic class btnHowtocopy_47 extends MovieClip { public function btnHowtocopy_47(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 127
//btnMore_22 (jt2_fla.btnMore_22) package jt2_fla { import flash.display.*; public dynamic class btnMore_22 extends MovieClip { public function btnMore_22(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 128
//btnMute_40 (jt2_fla.btnMute_40) package jt2_fla { import flash.display.*; public dynamic class btnMute_40 extends MovieClip { public var close:MovieClip; } }//package jt2_fla
Section 129
//btnREtry_64 (jt2_fla.btnREtry_64) package jt2_fla { import flash.display.*; public dynamic class btnREtry_64 extends MovieClip { public function btnREtry_64(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package jt2_fla
Section 130
//btnREtrycopy_66 (jt2_fla.btnREtrycopy_66) package jt2_fla { import flash.display.*; public dynamic class btnREtrycopy_66 extends MovieClip { public function btnREtrycopy_66(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package jt2_fla
Section 131
//btnREtrycopy2_67 (jt2_fla.btnREtrycopy2_67) package jt2_fla { import flash.display.*; public dynamic class btnREtrycopy2_67 extends MovieClip { public function btnREtrycopy2_67(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package jt2_fla
Section 132
//btnStart_20 (jt2_fla.btnStart_20) package jt2_fla { import flash.display.*; public dynamic class btnStart_20 extends MovieClip { public function btnStart_20(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 133
//btnStartcopy_23 (jt2_fla.btnStartcopy_23) package jt2_fla { import flash.display.*; public dynamic class btnStartcopy_23 extends MovieClip { public function btnStartcopy_23(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 134
//ccc_69 (jt2_fla.ccc_69) package jt2_fla { import flash.display.*; public dynamic class ccc_69 extends MovieClip { public function ccc_69(){ addFrameScript(223, frame224); } function frame224(){ stop(); MovieClip(root).nextFrame(); } } }//package jt2_fla
Section 135
//efekt_32 (jt2_fla.efekt_32) package jt2_fla { import flash.display.*; public dynamic class efekt_32 extends MovieClip { public function efekt_32(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 136
//extra_28 (jt2_fla.extra_28) package jt2_fla { import flash.display.*; import flash.text.*; import flash.geom.*; import flash.events.*; import flash.filters.*; import flash.utils.*; import flash.media.*; import flash.net.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class extra_28 extends MovieClip { public var link:MovieClip; public var btnBack:MovieClip; public function extra_28(){ addFrameScript(0, frame1, 1, frame2, 2, frame3); } public function initBack():void{ btnBack.addEventListener(MouseEvent.CLICK, back); btnBack.addEventListener(MouseEvent.ROLL_OVER, rolMe); btnBack.addEventListener(MouseEvent.ROLL_OUT, rolMe); btnBack.buttonMode = true; } function frame3(){ initBack(); link.addEventListener(MouseEvent.CLICK, openShajby); link.buttonMode = true; } function frame1(){ stop(); } function frame2(){ stop(); initBack(); } public function rolMe(_arg1:MouseEvent):void{ if (_arg1.target.currentFrame == 1){ _arg1.target.gotoAndStop(2); } else { _arg1.target.gotoAndStop(1); }; } public function back(_arg1:MouseEvent):void{ gotoAndStop(1); } public function openShajby(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.shajby.borec.cz"), "_blank"); } } }//package jt2_fla
Section 137
//hard_37 (jt2_fla.hard_37) package jt2_fla { import flash.display.*; public dynamic class hard_37 extends MovieClip { public function hard_37(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 138
//MainTimeline (jt2_fla.MainTimeline) package jt2_fla { import flash.display.*; import flash.text.*; import flash.geom.*; import flash.events.*; import mochi.as3.*; import flash.filters.*; import flash.utils.*; import flash.media.*; import flash.net.*; import CPMStar.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class MainTimeline extends MovieClip { public var loaded:Boolean; public var tmGame:Timer; public var ccc:MovieClip; public var sites:Array; public var ad:DisplayObject; public var timed:Boolean; public var loadComplete:Boolean; public var zakaz:Boolean; public var animReady:Boolean; public var m:MovieClip; public var preloader1:MovieClip; public var adBox:MovieClip; public var ads:Boolean; public var CPMStarContentSpotID:String; public var domain:String; public var btnSt:MovieClip; public function MainTimeline(){ addFrameScript(0, frame1, 2, frame3, 3, frame4, 4, frame5); } public function openMe2(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.kingofgames.net"), "_blank"); } public function submitScore(_arg1:Number):void{ MochiScores.showLeaderboard({boardID:"0027176194eae3ba", score:_arg1}); } public function openLink(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.kingofgames.net"), "_blank"); } function frame4(){ ccc.addEventListener(MouseEvent.CLICK, openMe2); ccc.mouseChildren = false; ccc.buttonMode = true; ccc.play(); } function frame5(){ addChild(new Class1()); } function frame1(){ m.mouseEnabled = false; this.mask = m; MochiServices.connect("1bc176cb80baa621", root); MochiBot.track(this, "13c4ae4a"); stop(); sites = ["kaisergames.de"]; domain = this.root.loaderInfo.url; zakaz = false; loaded = false; timed = false; ads = true; btnSt.visible = false; if (domain.indexOf("kaisergames.de") != -1){ ads = false; }; loadComplete = false; animReady = false; CPMStarContentSpotID = "2286QCA89631F"; preloader1.scaleX = 0; preloader1.addEventListener(Event.ENTER_FRAME, onEnterFramePreload); if (ads){ ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); } else { adBox.gotoAndStop(2); adBox.addEventListener(MouseEvent.CLICK, openLink, false, 0, true); adBox.buttonMode = true; adBox.mouseChildren = false; }; tmGame = new Timer(5000, 1); tmGame.addEventListener(TimerEvent.TIMER, showButton); tmGame.start(); } function frame3(){ stage.frameRate = 50; } public function showButton(_arg1:TimerEvent=null):void{ timed = true; if (loaded){ btnSt.visible = true; btnSt.addEventListener(MouseEvent.CLICK, gotoGame2); btnSt.buttonMode = true; btnSt.mouseChildren = false; }; } public function onEnterFramePreload(_arg1:Event):void{ var _local2:uint; var _local3:uint; _local2 = this.root.loaderInfo.bytesLoaded; _local3 = this.root.loaderInfo.bytesTotal; _arg1.target.scaleX = (_local2 / _local3); if (_local3 == _local2){ loaded = true; if (!ads){ showButton(); preloader1.removeEventListener(Event.ENTER_FRAME, onEnterFramePreload); } else { if (!timed){ } else { showButton(); preloader1.removeEventListener(Event.ENTER_FRAME, onEnterFramePreload); }; }; }; } public function gotoGame2(_arg1:MouseEvent=null):void{ preloader1.removeEventListener(Event.ENTER_FRAME, onEnterFramePreload); tmGame.stop(); tmGame.removeEventListener(TimerEvent.TIMER, showButton); removeChild(adBox); stage.frameRate = 50; gotoAndStop(4); } } }//package jt2_fla
Section 139
//mcScore_39 (jt2_fla.mcScore_39) package jt2_fla { import flash.display.*; import flash.text.*; public dynamic class mcScore_39 extends MovieClip { public var score:TextField; } }//package jt2_fla
Section 140
//Prrr_71 (jt2_fla.Prrr_71) package jt2_fla { import flash.display.*; import flash.text.*; import flash.utils.*; public dynamic class Prrr_71 extends MovieClip { public var __setPropDict:Dictionary; public var __id0_:TxEff2; public var myTextObject:TextField; public function Prrr_71(){ __setPropDict = new Dictionary(true); super(); addFrameScript(10, frame11, 123, frame124, 44, frame45, 45, frame46, 46, frame47, 47, frame48, 48, frame49, 49, frame50, 50, frame51, 51, frame52, 52, frame53, 53, frame54, 54, frame55, 55, frame56, 56, frame57, 57, frame58, 58, frame59, 59, frame60, 60, frame61, 61, frame62, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70, 70, frame71, 71, frame72, 72, frame73, 73, frame74, 74, frame75, 75, frame76, 76, frame77, 77, frame78, 78, frame79, 79, frame80, 80, frame81, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89, 89, frame90, 90, frame91, 91, frame92, 92, frame93, 93, frame94, 94, frame95, 95, frame96, 96, frame97, 97, frame98, 98, frame99, 99, frame100, 100, frame101, 101, frame102, 102, frame103, 103, frame104, 104, frame105, 105, frame106, 106, frame107, 107, frame108, 108, frame109, 109, frame110, 110, frame111, 111, frame112, 112, frame113, 113, frame114, 114, frame115, 115, frame116, 116, frame117, 117, frame118, 118, frame119, 119, frame120, 120, frame121, 121, frame122, 122, frame123, 124, frame125, 125, frame126, 126, frame127, 127, frame128, 128, frame129, 129, frame130, 130, frame131, 131, frame132, 132, frame133, 133, frame134, 134, frame135, 135, frame136, 136, frame137, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142, 142, frame143, 143, frame144, 144, frame145, 145, frame146, 146, frame147, 147, frame148, 148, frame149, 149, frame150, 150, frame151, 151, frame152, 152, frame153, 153, frame154); } function frame151(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame152(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame154(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame153(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function __setProp___id0__Prrr_TxEff2forSHOW_45(){ try { __id0_["componentInspectorSetting"] = true; } catch(e:Error) { }; __id0_._targetInstanceName = "myTextObject"; __id0_.hideAutoPlay = true; __id0_.hideDelay = 2; __id0_.hideTransitionName = ""; __id0_.ideDataHolder = "showtab=Pattern|selectorMode=Show|showHasSelection=true|hideHasSelection=true|effId=257128ShowHideAnimationmyTextObject002|hidetab=Pattern|"; __id0_.showAutoPlay = true; __id0_.showDelay = 0; __id0_.showTransitionName = ""; __id0_.swapTargetVisibility = false; __id0_.targetVisibility = true; __id0_.xmlPath = ""; __id0_.xmlString = "<flashEff>\n <params>\n <showAutoPlay>\n <type>Boolean</type>\n <value>true</value>\n </showAutoPlay>\n <hideAutoPlay>\n <type>Boolean</type>\n <value>true</value>\n </hideAutoPlay>\n <showDelay>\n <type>Number</type>\n <value>0</value>\n </showDelay>\n <hideDelay>\n <type>Number</type>\n <value>2</value>\n </hideDelay>\n <targetVisibility>\n <type>Boolean</type>\n <value>true</value>\n </targetVisibility>\n <drawAfterFilters>\n <type>Boolean</type>\n <value>true</value>\n </drawAfterFilters>\n <useHandCursor>\n <type>Boolean</type>\n <value>false</value>\n </useHandCursor>\n <useSwapInsteadHide>\n <type>Boolean</type>\n <value>false</value>\n </useSwapInsteadHide>\n <swapTargetInstanceName>\n <type>String</type>\n <value/>\n </swapTargetInstanceName>\n <swapDelay>\n <type>Number</type>\n <value>0.5</value>\n </swapDelay>\n <swapType>\n <type>String</type>\n <value>hideAndShow</value>\n </swapType>\n <swapTargetVisibility>\n <type>Boolean</type>\n <value>false</value>\n </swapTargetVisibility>\n </params>\n <patterns>\n <pattern>\n <id>411</id>\n <type>show</type>\n <isCustomPattern/>\n <name>com.jumpeye.flashEff.text.glow.FETGlow</name>\n <patternType>text</patternType>\n <params>\n <preset>\n <type>Number</type>\n <value>1</value>\n </preset>\n <color>\n <type>Number</type>\n <value>0xFFFFFF</value>\n </color>\n <maxGlow>\n <type>Number</type>\n <value>5</value>\n </maxGlow>\n <maxBlurX>\n <type>Number</type>\n <value>7</value>\n </maxBlurX>\n <maxBlurY>\n <type>Number</type>\n <value>7</value>\n </maxBlurY>\n <alphaPercentage>\n <type>Number</type>\n <value>10</value>\n </alphaPercentage>\n <groupDuration>\n <type>Number</type>\n <value>1</value>\n </groupDuration>\n <partialGroup>\n <type>String</type>\n <value>letters</value>\n </partialGroup>\n <partialPercent>\n <type>Number</type>\n <value>100</value>\n </partialPercent>\n <selectedStrings>\n <type>Array</type>\n <value/>\n </selectedStrings>\n <partialBlurAmount>\n <type>Number</type>\n <value>0</value>\n </partialBlurAmount>\n <partialStart>\n <type>Number</type>\n <value>50</value>\n </partialStart>\n <tweenDuration>\n <type>Number</type>\n <value>2</value>\n </tweenDuration>\n <tweenType>\n <type>String</type>\n <value>Regular</value>\n </tweenType>\n <easeType>\n <type>String</type>\n <value>easeOut</value>\n </easeType>\n </params>\n </pattern>\n <pattern>\n <id>231</id>\n <type>hide</type>\n <isCustomPattern/>\n <name>com.jumpeye.flashEff.symbol.desertIllusion.FESDesertIllusion</name>\n <patternType>symbol</patternType>\n <params>\n <waveSize>\n <type>Number</type>\n <value>100</value>\n </waveSize>\n <wavesIntensity>\n <type>Number</type>\n <value>100</value>\n </wavesIntensity>\n <blurQuality>\n <type>Number</type>\n <value>3</value>\n </blurQuality>\n <smooth>\n <type>Boolean</type>\n <value>false</value>\n </smooth>\n <tweenDuration>\n <type>Number</type>\n <value>2</value>\n </tweenDuration>\n <tweenType>\n <type>String</type>\n <value>Regular</value>\n </tweenType>\n <easeType>\n <type>String</type>\n <value>easeOut</value>\n </easeType>\n </params>\n </pattern>\n </patterns>\n</flashEff>"; try { __id0_["componentInspectorSetting"] = false; } catch(e:Error) { }; } function frame11(){ trace("ssssssss"); } function frame45(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame46(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame47(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame48(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame49(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame51(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame52(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame53(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame54(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame55(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame56(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame50(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame58(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame59(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame57(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame60(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame61(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame62(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame63(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame64(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame65(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame66(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame67(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame68(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame69(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame70(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame72(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame73(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame75(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame77(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame71(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame76(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame78(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame74(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame79(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame80(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame81(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame84(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame85(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame86(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame87(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame88(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame82(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame83(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame89(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame90(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame91(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame93(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame94(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame95(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame98(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame92(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame97(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame99(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame96(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame100(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame101(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame102(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame105(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame106(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame107(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame109(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame103(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame104(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame108(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame110(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame111(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame112(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame114(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame116(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame117(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame118(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame115(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame113(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame119(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame120(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame122(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame124(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; stop(); } function frame125(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame126(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame127(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame121(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame123(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame128(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame129(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame130(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame131(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame132(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame134(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame137(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame138(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame139(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame135(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame136(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame133(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame140(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame141(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame142(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame143(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame144(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame145(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame146(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame147(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame148(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame149(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } function frame150(){ if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 45)) && ((int(__setPropDict[__id0_]) <= 154))))))){ __setPropDict[__id0_] = currentFrame; __setProp___id0__Prrr_TxEff2forSHOW_45(); }; } } }//package jt2_fla
Section 141
//rest_45 (jt2_fla.rest_45) package jt2_fla { import flash.display.*; public dynamic class rest_45 extends MovieClip { public var close:MovieClip; } }//package jt2_fla
Section 142
//sml_generic_btn_44 (jt2_fla.sml_generic_btn_44) package jt2_fla { import flash.display.*; public dynamic class sml_generic_btn_44 extends MovieClip { public function sml_generic_btn_44(){ addFrameScript(8, frame9, 18, frame19); } function frame19(){ stop(); } function frame9(){ stop(); } } }//package jt2_fla
Section 143
//sml_generic_btn_audio_41 (jt2_fla.sml_generic_btn_audio_41) package jt2_fla { import flash.display.*; public dynamic class sml_generic_btn_audio_41 extends MovieClip { public function sml_generic_btn_audio_41(){ addFrameScript(8, frame9, 18, frame19); } function frame19(){ stop(); } function frame9(){ stop(); } } }//package jt2_fla
Section 144
//sml_generic_btncopy_46 (jt2_fla.sml_generic_btncopy_46) package jt2_fla { import flash.display.*; public dynamic class sml_generic_btncopy_46 extends MovieClip { public function sml_generic_btncopy_46(){ addFrameScript(8, frame9, 18, frame19); } function frame19(){ stop(); } function frame9(){ stop(); } } }//package jt2_fla
Section 145
//SubmitMc_68 (jt2_fla.SubmitMc_68) package jt2_fla { import flash.display.*; public dynamic class SubmitMc_68 extends MovieClip { public function SubmitMc_68(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package jt2_fla
Section 146
//Symbol38_34 (jt2_fla.Symbol38_34) package jt2_fla { import flash.display.*; public dynamic class Symbol38_34 extends MovieClip { public function Symbol38_34(){ addFrameScript(39, frame40); } function frame40(){ stop(); } } }//package jt2_fla
Section 147
//Symbol45_26 (jt2_fla.Symbol45_26) package jt2_fla { import flash.display.*; public dynamic class Symbol45_26 extends MovieClip { public function Symbol45_26(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 148
//Symbol49_48 (jt2_fla.Symbol49_48) package jt2_fla { import flash.display.*; import flash.text.*; public dynamic class Symbol49_48 extends MovieClip { public var help:MovieClip; public var tf_score:TextField; public var mcNext:MovieClip; } }//package jt2_fla
Section 149
//Symbol52_52 (jt2_fla.Symbol52_52) package jt2_fla { import flash.display.*; public dynamic class Symbol52_52 extends MovieClip { public var left:MovieClip; public var right:MovieClip; } }//package jt2_fla
Section 150
//Symbol53_53 (jt2_fla.Symbol53_53) package jt2_fla { import flash.display.*; public dynamic class Symbol53_53 extends MovieClip { public function Symbol53_53(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jt2_fla
Section 151
//Symbol55_33 (jt2_fla.Symbol55_33) package jt2_fla { import flash.display.*; public dynamic class Symbol55_33 extends MovieClip { public function Symbol55_33(){ addFrameScript(26, frame27); } function frame27(){ stop(); } } }//package jt2_fla
Section 152
//TheGlaser_73 (jt2_fla.TheGlaser_73) package jt2_fla { import flash.display.*; public dynamic class TheGlaser_73 extends MovieClip { public function TheGlaser_73(){ addFrameScript(64, frame65); } function frame65(){ stop(); } } }//package jt2_fla
Section 153
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const NO_USER:String = "NoUser"; public static const IO_ERROR:String = "IOError"; public static const ITEM_NEW:String = "ItemNew"; public static const ITEM_OWNED:String = "ItemOwned"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const STORE_SHOW:String = "StoreShow"; public static var _inventory:MochiInventory; public static function triggerEvent(_arg1:String, _arg2:Object):void{ MochiSocial.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ MochiSocial.addEventListener(_arg1, _arg2); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function get inventory():MochiInventory{ return (_inventory); } public static function showStore(_arg1:Object=null):void{ MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:_arg1}, null, null); } public static function showItem(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:_arg1}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showVideo(_arg1:Object=null):void{ if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:_arg1}, null, null); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _inventory = new MochiInventory(); }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 154
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function set value(_arg1:Number):void{ setValue(_arg1); } public function reencode():void{ var _local1:uint; _local1 = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function toString():String{ var _local1:String; _local1 = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function get value():Number{ return (Number(this.toString())); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String; _local3 = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 155
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ eventTable = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ return; }; for (_local3 in eventTable[_arg1]) { var _local6 = eventTable[_arg1]; _local6[_local3](_arg2); }; } public function removeEventListener(_arg1:String, _arg2:Function):void{ var _local3:Object; if (eventTable[_arg1] == undefined){ eventTable[_arg1] = []; return; }; for (_local3 in eventTable[_arg1]) { if (eventTable[_arg1][_local3] != _arg2){ } else { eventTable[_arg1].splice(Number(_local3), 1); }; }; } public function addEventListener(_arg1:String, _arg2:Function):void{ removeEventListener(_arg1, _arg2); eventTable[_arg1].push(_arg2); } } }//package mochi.as3
Section 156
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public static function endPlay():void{ MochiServices.send("events_clearRoundID", null, null, null); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function trackEvent(_arg1:String, _arg2=null):void{ MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function startSession(_arg1:String):void{ MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{ var _local3:Object; var _local4:Object; _local3 = {}; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _local3.clip = _arg1; MochiServices.send("events_setNotifications", _local3, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startPlay(_arg1:String="gameplay"):void{ MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null); } } }//package mochi.as3
Section 157
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.events.*; import flash.utils.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _names:Array; private var _consumableProperties:Object; private var _syncID:Number; private var _storeSync:Object; private var _outstandingID:Number; private var _syncPending:Boolean; public static const READY:String = "InvReady"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; private static const KEY_SALT:String = " syncMaint"; public static const WRITTEN:String = "InvWritten"; public static const NOT_READY:String = "InvNotReady"; public static const VALUE_ERROR:String = "InvValueError"; private static const CONSUMER_KEY:String = "MochiConsumables"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } private function newItems(_arg1:Object):void{ if (!this[(_arg1.id + KEY_SALT)]){ this[(_arg1.id + KEY_SALT)] = 0; }; if (!this[_arg1.id]){ this[_arg1.id] = 0; }; this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count); this[_arg1.id] = (this[_arg1.id] + _arg1.count); if (_arg1.privateProperties.consumable){ if (!this[_arg1.privateProperties.tag]){ this[_arg1.privateProperties.tag] = 0; }; this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count)); }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[_arg1]){ return (MochiDigits(_consumableProperties[_arg1]).value); }; return (undefined); } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[_arg1] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!(_arg2 is Number)){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2}); return; }; if (_consumableProperties[_arg1]){ _local3 = MochiDigits(_consumableProperties[_arg1]); if (_local3.value == _arg2){ return; }; _local3.value = _arg2; } else { _names.push(_arg1); _consumableProperties[_arg1] = new MochiDigits(_arg2); }; _syncID++; } private function sync(_arg1:Event=null):void{ var _local2:Object; var _local3:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; _local2 = {}; for (_local3 in _consumableProperties) { _local2[_local3] = MochiDigits(_consumableProperties[_local3]).value; }; MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_names[(_arg1 - 1)]); } private function loggedIn(_arg1:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (!_consumableProperties[_arg1]){ return (false); }; _names.splice(_names.indexOf(_arg1), 1); delete _consumableProperties[_arg1]; return (true); } private function itemOwned(_arg1:Object):void{ _storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count}; } private function putConsumableBag(_arg1:MochiUserData):void{ _syncPending = false; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } private function getConsumableBag(_arg1:MochiUserData):void{ var _local2:String; var _local3:Number; if (_arg1.error){ triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error}); return; }; _consumableProperties = {}; _names = new Array(); if (_arg1.data){ for (_local2 in _arg1.data) { _names.push(_local2); _consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]); }; }; for (_local2 in _storeSync) { _local3 = _storeSync[_local2].count; if (_consumableProperties[(_local2 + KEY_SALT)]){ _local3 = (_local3 - _consumableProperties[_local2]); }; if (_local3 == 0){ } else { newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties}); }; }; triggerEvent(READY, {}); } private function loggedOut(_arg1:Object=null):void{ _consumableProperties = null; } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } } }//package mochi.as3
Section 158
//MochiScores (mochi.as3.MochiScores) package mochi.as3 { import flash.display.*; import flash.text.*; public class MochiScores { private static var boardID:String; public static var onErrorHandler:Object; public static var onCloseHandler:Object; public static function showLeaderboard(_arg1:Object=null):void{ var n:Number; var options = _arg1; if (options != null){ delete options.clip; MochiServices.setContainer(); MochiServices.bringToTop(); if (options.name != null){ if ((options.name is TextField)){ if (options.name.text.length > 0){ options.name = options.name.text; }; }; }; if (options.score != null){ if ((options.score is TextField)){ if (options.score.text.length > 0){ options.score = options.score.text; }; } else { if ((options.score is MochiDigits)){ options.score = options.score.value; }; }; n = Number(options.score); if (isNaN(n)){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is 'Not a Number'")); } else { if ((((n == Number.NEGATIVE_INFINITY)) || ((n == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + options.score) + "' will be rejected, score is an infinite")); } else { if (Math.floor(n) != n){ trace((("WARNING: Submitted score '" + options.score) + "' will be truncated")); }; options.score = n; }; }; }; if (options.onDisplay != null){ options.onDisplay(); } else { if (MochiServices.clip != null){ if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; }; } else { options = {}; if ((MochiServices.clip is MovieClip)){ MochiServices.clip.stop(); } else { trace("Warning: Container is not a MovieClip, cannot call default onDisplay."); }; }; if (options.onClose != null){ onCloseHandler = options.onClose; } else { onCloseHandler = function ():void{ if ((MochiServices.clip is MovieClip)){ } else { trace("Warning: Container is not a MovieClip, cannot call default onClose."); }; }; }; if (options.onError != null){ onErrorHandler = options.onError; } else { onErrorHandler = null; }; if (options.boardID == null){ if (MochiScores.boardID != null){ options.boardID = MochiScores.boardID; }; }; MochiServices.warnID(options.boardID, true); trace("[MochiScores] NOTE: Security Sandbox Violation errors below are normal"); MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose); } public static function closeLeaderboard():void{ MochiServices.send("scores_closeLeaderboard"); } public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2); } public static function requestList(_arg1:Object, _arg2:Object=null):void{ MochiServices.send("scores_requestList", null, _arg1, _arg2); } public static function scoresArrayToObjects(_arg1:Object):Object{ var _local2:Object; var _local3:Number; var _local4:Number; var _local5:Object; var _local6:Object; var _local7:String; var _local8:String; _local2 = {}; for (_local7 in _arg1) { if (typeof(_arg1[_local7]) == "object"){ if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){ _local2[_local7] = []; _local5 = _arg1[_local7]; _local4 = 0; while (_local4 < _local5.rows.length) { _local6 = {}; _local3 = 0; while (_local3 < _local5.cols.length) { _local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3]; _local3++; }; _local2[_local7].push(_local6); _local4++; }; } else { _local2[_local7] = {}; for (_local8 in _arg1[_local7]) { _local2[_local7][_local8] = _arg1[_local7][_local8]; }; }; } else { _local2[_local7] = _arg1[_local7]; }; }; return (_local2); } public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{ _arg1 = Number(_arg1); if (isNaN(_arg1)){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is 'Not a Number'")); } else { if ((((_arg1 == Number.NEGATIVE_INFINITY)) || ((_arg1 == Number.POSITIVE_INFINITY)))){ trace((("ERROR: Submitted score '" + String(_arg1)) + "' will be rejected, score is an infinite")); } else { if (Math.floor(_arg1) != _arg1){ trace((("WARNING: Submitted score '" + String(_arg1)) + "' will be truncated")); }; _arg1 = Number(_arg1); }; }; MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4); } public static function onClose(_arg1:Object=null):void{ if (((((_arg1) && ((_arg1.error == true)))) && (onErrorHandler))){ if (_arg1.errorCode == null){ _arg1.errorCode = "IOError"; }; onErrorHandler(_arg1.errorCode); MochiServices.doClose(); return; }; onCloseHandler(); MochiServices.doClose(); } public static function setBoardID(_arg1:String):void{ MochiServices.warnID(_arg1, true); MochiScores.boardID = _arg1; MochiServices.send("scores_setBoardID", {boardID:_arg1}); } } }//package mochi.as3
Section 159
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.display.*; import flash.geom.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiServices { private static var _container:Object; private static var _connected:Boolean = false; private static var _queue:Array; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; public static var servicesSync:MochiSync = new MochiSync(); private static var _nextCallbackID:Number; private static var _clip:MovieClip; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _loader:Loader; private static var _callbacks:Object; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(_arg1:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = _arg1; cb = pkg.callbackID; cblst = _callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = cblst.callbackObject; if (((obj) && ((typeof(method) == "string")))){ methodName = method; if (obj[method] != null){ method = obj[method]; } else { trace((("Error: Method " + method) + " does not exist.")); }; }; if (method != undefined){ try { method.apply(obj, pkg.args); } catch(error:Error) { trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString())); }; } else { if (obj != null){ try { obj(pkg.args); } catch(error:Error) { trace(("Error invoking method on object: " + error.toString())); }; }; }; delete _callbacks[cb]; } public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1)); handleError(_arg2, _arg3, _arg4); flush(true); return; }; _queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID}); }; if (_clip != null){ if (_callbacks != null){ _callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4}; _nextCallbackID++; }; }; } private static function init(_arg1:String, _arg2:Object):void{ _id = _arg1; if (_arg2 != null){ _container = _arg2; loadCommunicator(_arg1, _container); }; } public static function get childClip():Object{ return (_clip); } private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{ var _local3:Array; var _local4:int; var _local5:Array; var _local6:Array; var _local7:MovieClip; var _local8:LocalConnection; var _local9:String; var _local10:ByteArray; var _local11:ByteArray; var _local12:uint; var _local13:uint; var _local14:Loader; _local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23]; _local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; _local6 = [0, 64, 0, 0, 0]; _local7 = new MovieClip(); _local8 = new LocalConnection(); _local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); _local8 = new LocalConnection(); _local7.lc = _local8; _local7.click = _arg2; _local8.client = _local7; _local8.connect(_local9); _local10 = new ByteArray(); _local11 = new ByteArray(); _local11.endian = Endian.LITTLE_ENDIAN; _local11.writeShort(1); _local11.writeUTFBytes(((_arg1 + " ") + _local9)); _local11.writeByte(0); _local12 = ((_local3.length + _local11.length) + 4); _local13 = (_local12 + 35); _local10.endian = Endian.LITTLE_ENDIAN; _local10.writeUTFBytes("FWS"); _local10.writeByte(8); _local10.writeUnsignedInt(_local13); for each (_local4 in _local5) { _local10.writeByte(_local4); }; _local10.writeUnsignedInt(_local12); _local10.writeByte(136); _local10.writeShort(_local11.length); _local10.writeBytes(_local11); for each (_local4 in _local3) { _local10.writeByte(_local4); }; for each (_local4 in _local6) { _local10.writeByte(_local4); }; _local14 = new Loader(); _local14.loadBytes(_local10); _local7.addChild(_local14); return (_local7); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = _arg1; var burl = _arg2; var btn = _arg3; var onClick = _arg4; vars = new Object(); vars["mav"] = getVersion(); vars["swfv"] = "9"; vars["swfurl"] = btn.loaderInfo.loaderURL; vars["fv"] = Capabilities.version; vars["os"] = Capabilities.os; vars["lang"] = Capabilities.language; vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://x.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (_arg1:String):void{ var _local2:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(_arg1, onClick); _local2 = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = _local2.x; avm1Click.y = _local2.y; avm1Click.scaleX = (0.01 * _local2.width); avm1Click.scaleY = (0.01 * _local2.height); }; err = function (_arg1:Object):void{ netup = false; _arg1.target.removeEventListener(_arg1.type, arguments.callee); setURL(burl); }; complete = function (_arg1:Object):void{ _arg1.target.removeEventListener(_arg1.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); try { _mochiLocalConnection.close(); } catch(error:Error) { }; }; if (_timer != null){ try { _timer.stop(); } catch(error:Error) { }; }; } public static function allowDomains(_arg1:String):String{ var _local2:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (_arg1.indexOf("http://") != -1){ _local2 = _arg1.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(_local2); Security.allowInsecureDomain(_local2); }; }; return (_local2); } public static function getVersion():String{ return ("3.8 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } public static function warnID(_arg1:String, _arg2:Boolean):void{ var _local3:Number; _arg1 = _arg1.toLowerCase(); if (_arg1.length != 16){ trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (_arg1 == "1e113c7239048b3f"){ if (_arg2){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (_arg1 == "84993a1de4031cd8"){ if (_arg2){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; _local3 = 0; while (_local3 < _arg1.length) { switch (_arg1.charAt(_local3)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + _arg1)); return; }; _local3++; }; } private static function flush(_arg1:Boolean):void{ var _local2:Object; var _local3:Object; if (((_clip) && (_queue))){ while (_queue.length > 0) { _local2 = _queue.shift(); _local3 = null; if (_local2 != null){ if (_local2.callbackID != null){ _local3 = _callbacks[_local2.callbackID]; }; delete _callbacks[_local2.callbackID]; if (((_arg1) && (!((_local3 == null))))){ handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(_arg1:Object):void{ var _local2:String; var _local3:String; _local2 = _arg1.target; _local3 = _arg1.event; switch (_local2){ case "events": MochiEvents.triggerEvent(_arg1.event, _arg1.args); break; case "coins": MochiCoins.triggerEvent(_arg1.event, _arg1.args); break; case "sync": servicesSync.triggerEvent(_arg1.event, _arg1.args); break; }; } private static function urlOptions(_arg1:Object):Object{ var _local2:Object; var _local3:String; var _local4:Array; var _local5:Number; var _local6:Array; _local2 = {}; if (_arg1.stage){ _local3 = _arg1.stage.loaderInfo.parameters.mochiad_options; } else { _local3 = _arg1.loaderInfo.parameters.mochiad_options; }; if (_local3){ _local4 = _local3.split("&"); _local5 = 0; while (_local5 < _local4.length) { _local6 = _local4[_local5].split("="); _local2[unescape(_local6[0])] = unescape(_local6[1]); _local5++; }; }; return (_local2); } public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{ if (_clip.parent){ _clip.parent.removeChild(_clip); }; if (_arg1 != null){ if ((_arg1 is DisplayObjectContainer)){ _container = _arg1; }; }; if (_arg2){ if ((_container is DisplayObjectContainer)){ DisplayObjectContainer(_container).addChild(_clip); }; }; } private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{ var args = _arg1; var callbackObject = _arg2; var callbackMethod = _arg3; if (args != null){ if (args.onError != null){ args.onError.apply(null, ["NotConnected"]); }; if (((!((args.options == null))) && (!((args.options.onError == null))))){ args.options.onError.apply(null, ["NotConnected"]); }; }; if (callbackMethod != null){ args = {}; args.error = true; args.errorCode = "NotConnected"; if (((!((callbackObject == null))) && ((callbackMethod is String)))){ try { var _local5 = callbackObject; _local5[callbackMethod](args); } catch(error:Error) { }; } else { if (callbackMethod != null){ try { callbackMethod.apply(args); } catch(error:Error) { }; }; }; }; } private static function loadError(_arg1:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift()); }; }; } private static function loadLCBridge(_arg1:Object):void{ var loader:Loader; var mochiLCURL:String; var req:URLRequest; var complete:Function; var clip = _arg1; loader = new Loader(); mochiLCURL = (_servURL + _mochiLC); req = new URLRequest(mochiLCURL); complete = function (_arg1:Object):void{ _mochiLocalConnection = MovieClip(loader.content); listen(); }; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (_arg1:Object):void{ MochiServices.comChannelName = _arg1.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function get clip():Object{ return (_container); } public static function set comChannelName(_arg1:String):void{ if (_arg1 != null){ if (_arg1.length > 3){ _sendChannelName = (_arg1 + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{ var _local3:String; var _local4:URLRequest; var _local5:URLVariables; if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(_arg2).servURL){ _servURL = urlOptions(_arg2).servURL; }; _local3 = (_servURL + _services); if (urlOptions(_arg2).servicesURL){ _local3 = urlOptions(_arg2).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(_local3); _clip = new MovieClip(); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); _local4 = new URLRequest(_local3); _local5 = new URLVariables(); _local5.listenLC = _listenChannelName; _local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options; _local5.api_version = getVersion(); if (widget){ _local5.widget = true; }; _local4.data = _local5; _loader.load(_local4); _clip.addChild(_loader); _sendChannel = new LocalConnection(); _queue = []; _nextCallbackID = 0; _callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var id = _arg1; var clip = _arg2; var onError = _arg3; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (_arg1:String):void{ trace(_arg1); }; }; }; } public static function updateCopy(_arg1:Object):void{ MochiServices.send("coins_updateCopy", _arg1, null, null); } public static function bringToTop(_arg1:Event=null):void{ var e = _arg1; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ try { if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; } catch(errorObject:Error) { trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; }; } public static function connectWait(_arg1:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); }; } } }//package mochi.as3
Section 160
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const NO_USER:String = "NoUser"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const USER_INFO:String = "UserInfo"; public static const ERROR:String = "Error"; public static const LOGIN_SHOW:String = "LoginShow"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_SHOWN:String = "LoginShown"; public static const LOGIN_HIDE:String = "LoginHide"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _user_info:Object = null; public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(_arg1:Object):void{ MochiServices.send("coins_saveUserProperties", _arg1); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function triggerEvent(_arg1:String, _arg2:Object):void{ _dispatcher.triggerEvent(_arg1, _arg2); } public static function addEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.addEventListener(_arg1, _arg2); } public static function getUserInfo():void{ MochiServices.send("coins_getUserInfo"); } public static function showLoginWidget(_arg1:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showLoginWidget", {options:_arg1}); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ _dispatcher.removeEventListener(_arg1, _arg2); } public static function requestLogin():void{ MochiServices.send("coins_requestLogin"); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("coins_hideLoginWidget"); } public static function getAPIToken():String{ if (!_user_info){ return (null); }; return (_user_info.api_token); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{ _user_info = _arg1; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 161
//MochiSync (mochi.as3.MochiSync) package mochi.as3 { import flash.utils.*; public dynamic class MochiSync extends Proxy { private var _syncContainer:Object; public static var SYNC_PROPERTY:String = "UpdateProperty"; public static var SYNC_REQUEST:String = "SyncRequest"; public function MochiSync():void{ _syncContainer = {}; } public function triggerEvent(_arg1:String, _arg2:Object):void{ switch (_arg1){ case SYNC_REQUEST: MochiServices.send("sync_syncronize", _syncContainer); break; case SYNC_PROPERTY: _syncContainer[_arg2.name] = _arg2.value; break; }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_syncContainer[_arg1]); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ var _local3:String; if (_syncContainer[_arg1] == _arg2){ return; }; _local3 = _arg1.toString(); _syncContainer[_local3] = _arg2; MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2}); } } }//package mochi.as3
Section 162
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.events.*; import flash.utils.*; import flash.net.*; public class MochiUserData extends EventDispatcher { public var callback:Function;// = null public var error:Event;// = null public var key:String;// = null public var operation:String;// = null public var data;// = null public var _loader:URLLoader; public function MochiUserData(_arg1:String="", _arg2:Function=null){ key = null; data = null; error = null; operation = null; callback = null; super(); this.key = _arg1; this.callback = _arg2; } public function securityErrorHandler(_arg1:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString()))); } public function putEvent(_arg1):void{ request("put", serialize(_arg1)); } public function request(_arg1:String, _arg2:ByteArray):void{ var api_url:String; var api_token:String; var args:URLVariables; var req:URLRequest; var _operation = _arg1; var _data = _arg2; operation = _operation; api_url = MochiSocial.getAPIURL(); api_token = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); args = new URLVariables(); args.op = _operation; args.key = key; req = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); try { _loader.load(req); } catch(e:SecurityError) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString()))); }; } public function completeHandler(_arg1:Event):void{ var event = _arg1; try { if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; } catch(e:Error) { errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString()))); return; }; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function performCallback():void{ try { callback(this); } catch(e:Error) { trace(("[MochiUserData] exception during callback: " + e)); }; } public function serialize(_arg1):ByteArray{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.objectEncoding = ObjectEncoding.AMF3; _local2.writeObject(_arg1); _local2.compress(); return (_local2); } public function errorHandler(_arg1:IOErrorEvent):void{ data = null; error = _arg1; if (callback != null){ performCallback(); } else { dispatchEvent(_arg1); }; close(); } public function getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public function deserialize(_arg1:ByteArray){ _arg1.objectEncoding = ObjectEncoding.AMF3; _arg1.uncompress(); return (_arg1.readObject()); } public static function get(_arg1:String, _arg2:Function):void{ var _local3:MochiUserData; _local3 = new MochiUserData(_arg1, _arg2); _local3.getEvent(); } public static function put(_arg1:String, _arg2, _arg3:Function):void{ var _local4:MochiUserData; _local4 = new MochiUserData(_arg1, _arg3); _local4.putEvent(_arg2); } } }//package mochi.as3
Section 163
//bc_music (bc_music) package { import flash.media.*; public dynamic class bc_music extends Sound { } }//package
Section 164
//bell1 (bell1) package { import flash.media.*; public dynamic class bell1 extends Sound { } }//package
Section 165
//black (black) package { import flash.display.*; public dynamic class black extends MovieClip { } }//package
Section 166
//BoxHead (BoxHead) package { import flash.display.*; public dynamic class BoxHead extends MovieClip { public function BoxHead(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 167
//cast1 (cast1) package { import flash.display.*; public dynamic class cast1 extends MovieClip { } }//package
Section 168
//cast2 (cast2) package { import flash.display.*; public dynamic class cast2 extends MovieClip { } }//package
Section 169
//cast3 (cast3) package { import flash.display.*; public dynamic class cast3 extends MovieClip { } }//package
Section 170
//cast5 (cast5) package { import flash.display.*; public dynamic class cast5 extends MovieClip { } }//package
Section 171
//cast6 (cast6) package { import flash.display.*; public dynamic class cast6 extends MovieClip { } }//package
Section 172
//Class1 (Class1) package { import flash.display.*; import flash.events.*; import Box2D.Collision.Shapes.*; import Box2D.Common.Math.*; import Box2D.Dynamics.Joints.*; import Box2D.Dynamics.*; import Box2D.Collision.*; import caurina.transitions.*; import flash.utils.*; import flash.media.*; import flash.net.*; public class Class1 extends MovieClip { private var timeChallenge:Timer; private var nextScale:Number; private var drawing:Boolean;// = false private var rev_box:b2Body; private var origX:Number; private var _fallingCircle:b2Body; private var bd:b2BodyDef; public var sablona:BoxHead; public var btnRest:MovieClip; private var bricks:Number;// = 0 private var materials:Array; private var gravity:b2Vec2; private var speed:Number;// = 1.5 private var stars:Bitmap; private var f:MovieClip; var correct:Number;// = 26316 private var process:Number;// = 0 private var setted:Number;// = 0 private var spriteToDrawOn:Sprite; private var posY:Number; public var btnMute:MovieClip; private var score:Number;// = 0 protected var _world:b2World; private var up:Boolean;// = false public var mcScore:MovieClip; private var posX:Number; private var down:Boolean;// = false private var offset:Number;// = 0 private var dest_joint:b2DistanceJoint; private var info:Number;// = 0 private var mouseXWorldPhys:Number; private var typ:Number;// = 1 private var started:Boolean;// = false private var moves:Number;// = 0 private var lastMc:MovieClip; public var end:MovieClip; private var isMouseDown:Boolean;// = false private var mouseJoint:b2MouseJoint; public var hard:MovieClip; private var posYMeric:Number; private var the_pivot:b2CircleDef; private var the_box:b2PolygonDef; private var mouseXWorld:Number; protected var worldScale:Number;// = 40 private var bullet:b2Body; private var isStaticIncluded:Boolean;// = false private var added:Number;// = 0 private var m_contactListener:b2ContactListener; private var the_dist_joint:b2DistanceJointDef; private var total:Number;// = 0 private var posOver:Number; private var initY:Number; private var initX:Number; private var allow:Boolean;// = true private var canvas:Sprite; private var _fallingCrate:b2Body; private var menu:MovieClip; private var arr_bodies:Array; private var timeStep;// = 0.0333333333333333 var tutorial:MovieClip; private var prevbodyDef; private var timee:Number;// = 0.4 var color:Number; private var max:Number;// = 2000 private var current:Number;// = 0 private var totalStars:Number;// = 2 private var level:Number;// = 1 private var arr_eyes:Array; private var konecMc:MovieClip; public var btnExit:MovieClip; private var mcs:Array; private var mouseYWorld:Number; private var the_rev_joint:b2RevoluteJointDef; public var mcNext:MovieClip; var incorrect:Number;// = 0xFFCC00 public var sipka:MovieClip; private var lastbodyDef; private var mousePVec:b2Vec2; private var arr_temps:Array; private var holding:MovieClip; private var arr_scores:Array; private var mouseYWorldPhys:Number; public var btnMore:MovieClip; var audio:Number;// = 1 private var nextMc:MovieClip; private var counter:Number;// = 2 public static const rate:Number = 2; public static const RATIO:Number = 20; public function Class1(){ isStaticIncluded = false; isMouseDown = false; the_box = new b2PolygonDef(); the_pivot = new b2CircleDef(); the_rev_joint = new b2RevoluteJointDef(); the_dist_joint = new b2DistanceJointDef(); current = 0; total = 0; level = 1; arr_bodies = new Array(); arr_scores = new Array(); arr_temps = new Array(); canvas = new Sprite(); bricks = 0; info = 0; typ = 1; mcs = []; score = 0; speed = 1.5; up = false; down = false; offset = 0; drawing = false; allow = true; timee = 0.4; process = 0; max = 2000; added = 0; counter = 2; totalStars = 2; incorrect = 0xFFCC00; correct = 26316; color = correct; arr_eyes = []; moves = 0; setted = 0; materials = new Array(); started = false; worldScale = 40; timeStep = (1 / 30); mousePVec = new b2Vec2(); audio = 1; super(); initMenu(); } private function removeMenu():void{ if (menu){ removeChild(menu); menu = null; }; } private function faster(_arg1:MouseEvent):void{ if (!started){ started = true; if (mcNext.help){ mcNext.removeChild(mcNext.help); mcNext.help = null; }; } else { speed = 6; }; } private function finishNew(_arg1:MouseEvent=null):void{ } private function movingDown(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 38){ up = false; }; if (_arg1.keyCode == 40){ down = false; }; } private function moveDown():void{ } private function submit(_arg1:MouseEvent):void{ MovieClip(root).submitScore(konecMc.score.text); } private function ukonci():void{ playSound(new endBells(), 0.5, 0, 0); allow = false; up = false; down = false; konecMc = new mc_konec(); addChild(konecMc); Tweener.addTween(konecMc, {alpha:1, time:1}); konecMc.btnRestart.addEventListener(MouseEvent.CLICK, restartGame, false, 0, true); konecMc.btnRestart.mouseChildren = false; konecMc.btnRestart.buttonMode = true; konecMc.btnRestart2.addEventListener(MouseEvent.CLICK, restartGame, false, 0, true); konecMc.btnRestart2.mouseChildren = false; konecMc.btnRestart2.buttonMode = true; konecMc.btnRestart3.addEventListener(MouseEvent.CLICK, restartGame, false, 0, true); konecMc.btnRestart3.mouseChildren = false; konecMc.btnRestart3.buttonMode = true; konecMc.btnSubmit.addEventListener(MouseEvent.CLICK, submit, false, 0, true); konecMc.btnRestart.speed = 0.45; konecMc.btnRestart2.speed = 0.35; konecMc.btnRestart3.speed = 0.21; konecMc.score.text = mcNext.tf_score.text; play_fallen(); arr_scores = new Array(); removeEventListener(Event.ENTER_FRAME, newFrameEvent); arr_scores = []; arr_temps = []; } private function rollMeOut(_arg1:MouseEvent):void{ _arg1.target.icon.gotoAndStop(1); } private function mute(_arg1:MouseEvent):void{ if (audio == 1){ audio = 0; _arg1.target.alpha = 0.5; SoundMixer.soundTransform = new SoundTransform(0); } else { audio = 1; _arg1.target.alpha = 1; SoundMixer.soundTransform = new SoundTransform(1); }; } private function rm(_arg1:MouseEvent):void{ _arg1.target.gotoAndStop(2); playSound(new bell1(), 0.5, 0, 50); } private function checkPos():void{ if (down){ if (spriteToDrawOn.y != 0){ spriteToDrawOn.y = (spriteToDrawOn.y - 5); stars.y = (stars.y - 5); sablona.y = (sablona.y - 5); offset = (offset - 5); }; } else { if (up){ spriteToDrawOn.y = (spriteToDrawOn.y + 5); stars.y = (stars.y + 5); sablona.y = (sablona.y + 5); offset = (offset + 5); }; }; } private function checkStars(_arg1:MovieClip):void{ } private function moveUp():void{ } private function initButtons():void{ stage.addEventListener(KeyboardEvent.KEY_DOWN, movingUp, false, 0, true); stage.addEventListener(KeyboardEvent.KEY_UP, movingDown, false, 0, true); btnExit.addEventListener(MouseEvent.CLICK, exit, false, 0, true); btnExit.mouseChildren = false; btnExit.buttonMode = true; btnMute.addEventListener(MouseEvent.CLICK, mute, false, 0, true); btnMute.mouseChildren = false; btnMute.buttonMode = true; btnRest.addEventListener(MouseEvent.CLICK, resetLevel, false, 0, true); btnRest.mouseChildren = false; btnRest.buttonMode = true; addChild(btnExit); } private function createGrid():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:b2CircleDef; var _local21:b2BodyDef; var _local22:b2Body; _local1 = 0; _local2 = 0.3; _local3 = 0.7; _local4 = 550; _local5 = 400; _local6 = 10; _local7 = 10; _local8 = 60; _local9 = 60; _local10 = (_local4 / 2); _local11 = (_local5 / 2); _local12 = 3; _local13 = 3; _local14 = 0; while (_local14 < _local12) { _local15 = 0; while (_local15 < _local13) { _local16 = (_local10 - (_local8 * ((_local12 / 2) - 0.5))); _local17 = (_local11 - (_local9 * ((_local13 / 2) - 0.5))); _local18 = ((_local8 * _local14) + _local16); _local19 = ((_local9 * _local15) + _local17); _local18 = (_local18 / worldScale); _local19 = (_local19 / worldScale); _local20 = new b2CircleDef(); _local20.radius = (10 / worldScale); _local20.density = _local1; _local20.friction = _local2; _local20.restitution = _local3; _local21 = new b2BodyDef(); _local21.position.Set(_local18, _local19); _local22 = _world.CreateBody(_local21); _local22.CreateShape(_local20); _local22.SetMassFromShapes(); _local15++; }; _local14++; }; } private function setupDebugDraw():void{ var _local1:b2DebugDraw; spriteToDrawOn = new Sprite(); addChild(spriteToDrawOn); _local1 = new b2DebugDraw(); _local1.m_sprite = spriteToDrawOn; _local1.m_drawScale = RATIO; _world.SetDebugDraw(_local1); } private function playSound(_arg1:Sound, _arg2:Number, _arg3:Number=0, _arg4:Number=0):void{ var _local5:*; var _local6:SoundTransform; _local5 = _arg1.play(_arg4, _arg3); _local6 = _local5.soundTransform; _local6.volume = _arg2; _local5.soundTransform = _local6; } private function slower(_arg1:MouseEvent):void{ speed = 1.5; } private function arrRandomCircle():void{ var _local1:b2BodyDef; var _local2:b2CircleDef; var _local3:b2Body; _local1 = new b2BodyDef(); _local1.position.Set(3, 3); _local2 = new b2CircleDef(); _local2.radius = (10 / RATIO); _local2.density = 1; _local2.friction = 1; _local2.restitution = 1; _local3 = _world.CreateBody(_local1); _local3.CreateShape(_local2); _local3.SetMassFromShapes(); bullet = _local3; } private function hideScore():void{ } private function setLevels():void{ var _local1:*; _local1 = 1; while (_local1 <= 13) { nextMc[("mini" + _local1)].tf.text = _local1.toString(); _local1++; }; _local1 = 1; while (_local1 <= level) { nextMc[("mini" + _local1)].gotoAndStop(2); _local1++; }; if (nextMc[("mini" + (level + 1))]){ nextMc[("mini" + (level + 1))].buttonMode = true; nextMc[("mini" + (level + 1))].mouseChildren = false; nextMc[("mini" + (level + 1))].addEventListener(MouseEvent.CLICK, restartGame, false, 0, true); }; nextMc[("mini" + level)].gotoAndPlay(3); } private function initMenu():void{ menu = new Menu(); addChild(menu); SoundMixer.stopAll(); play_menu_music(); menu.btnStart.addEventListener(MouseEvent.CLICK, startGame); menu.btnStart.mouseChildren = false; menu.extra.gotoAndStop(1); } private function restartGame(_arg1:MouseEvent):void{ stage.frameRate = 50; timee = 0.35; lastMc = null; mcScore.x = 2000; if (konecMc){ konecMc.removeChild(konecMc.adBox); stage.frameRate = 50; removeChild(konecMc); konecMc = null; }; if (nextMc){ removeChild(nextMc); nextMc = null; }; moves = 0; score = 0; setScore(0); deleteAll(); resetRest(); setupWorld(); createWallsAndFloor(); addARandomCrate(); setupCollisionListener(); setupDebugDraw(); sablona.y = posY; sablona.x = posX; Tweener.removeAllTweens(); sablona.scaleX = (sablona.scaleY = 0.7); process = 0; increaseSize(); moveDown(); max = 2000; mcs = []; mcs.push(holding); addEventListener(Event.ENTER_FRAME, newFrameEvent); } function building(_arg1:MouseEvent):void{ var _local2:*; if (drawing){ addChild(canvas); canvas.graphics.clear(); if ((((obsah((mouseX - initX), (mouseY - initY)) < 55)) && ((prepona((mouseX - initX), (mouseY - initY)) < 150)))){ color = correct; } else { color = incorrect; }; canvas.graphics.lineStyle(2, 0xFFFFFF); canvas.graphics.beginFill(color, 1); canvas.graphics.drawRect(initX, initY, (mouseX - initX), (mouseY - initY)); }; _local2 = 0; while (_local2 < arr_eyes.length) { _local2++; }; } private function allowMe():void{ allow = true; } private function setLevelProp():void{ bricks = 10; counter = 0; setBricks(); moves = 0; setMoves(); } private function remove(_arg1:MovieClip):void{ } private function play_star():void{ } private function moveRight():void{ } private function play_fallen():void{ } private function addARandomCrate():void{ var _local1:Number; var _local2:Number; var _local3:String; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:int; var _local8:b2PolygonDef; var _local9:b2BodyDef; var _local10:*; materials = []; allow = true; _local1 = 0; _local2 = 7; _local3 = "fixed"; _local4 = 560; arr_eyes = []; _local5 = level; _local6 = 0; if (level > 7){ _local6 = 15; }; if (level == 8){ _local5 = 1; }; if (level == 9){ _local5 = 2; }; if (level == 10){ _local5 = 4; }; if (level == 11){ _local5 = 5; }; if (level == 12){ _local5 = 6; }; if (level == 13){ _local5 = 7; }; if (_local5 == 1){ setLevelProp(); _local1 = 0; _local2 = 11; _local7 = 0; while (_local7 < 4) { _local8 = new b2PolygonDef(); _local9 = new b2BodyDef(); _local9.position.Set(_local2, ((_local4 / RATIO) - (_local1 * 1.2))); _local9.userData = new PhysBox(); _local9.userData.name = (_local3 + _local1); if (_local7 == 0){ _local9.userData = new cast1(); _local8.SetAsBox(0.7, 0.7); _local9.userData.width = (56 / rate); _local9.userData.height = (56 / rate); _local1 = (_local1 + 1); }; if (_local7 == 1){ _local9.userData = new cast3(); _local8.SetAsBox(0.7, 0.7); _local1 = (_local1 + 1); _local9.userData.width = (56 / rate); _local9.userData.height = (56 / rate); _local9.userData.name = ("prekazka" + _local7); }; if (_local7 == 2){ _local9.userData = new cast5(); _local8.SetAsBox(0.7, 0.7); _local9.userData.width = (56 / rate); _local9.userData.height = (56 / rate); _local9.userData.name = ("prekazka" + _local7); _local1 = (_local1 + 1); }; if (_local7 == 3){ _local9.userData = new cast6(); _local8.SetAsBox(8, 0.7); _local9.userData.width = (640 / rate); _local9.userData.height = (56 / rate); _local9.userData.name = "last"; _local1 = (_local1 + 1); mcs.push(_local9.userData); holding = _local9.userData; }; _local8.friction = 0.2; if (_local7 != 3){ _local8.density = _local6; } else { _local8.density = 2; }; _local8.restitution = 0; _local10 = _world.CreateBody(_local9); _local10.CreateShape(_local8); _local10.SetMassFromShapes(); arr_bodies.push(_local10); addChild(_local9.userData); materials.push(_local9.userData); _local7++; }; }; } private function newFrameEvent(_arg1:Event):void{ var _local2:*; var _local3:b2Body; var _local4:*; if (started){ sablona.x = mouseX; sablona.y = (sablona.y + speed); }; _local2 = 0; while (_local2 < mcs.length) { if ((((sablona.y > 20)) && (HitTest.complexHitTestObject(sablona, mcs[_local2], 1)))){ createBox(); if (sablona.y < 26){ ukonci(); return; }; Tweener.removeAllTweens(); _local4 = obsah(sablona.width, sablona.height); setScore(_local4); mcScore.score.text = String(_local4); addChild(mcScore); mcScore.x = sablona.x; mcScore.y = sablona.y; mcScore.alpha = 1; Tweener.addTween(mcScore, {y:(mcScore.y - 100), time:1, alpha:0, transition:"linear"}); if (sablona.y < 100){ up = true; } else { up = false; }; sablona.y = -30; process = 0; allow = 1; }; _local2++; }; _world.Step((1 / 30), 10); updateMouseWorld(); mouseDrag(); checkPos(); checkScores(); if (lastMc){ if (lastMc.hitTestObject(end)){ }; }; _local3 = _world.m_bodyList; while (_local3) { if ((_local3.m_userData is Sprite)){ _local3.m_userData.x = (_local3.GetPosition().x * RATIO); _local3.m_userData.y = ((_local3.GetPosition().y * RATIO) + offset); _local3.m_userData.rotation = (_local3.GetAngle() * (180 / Math.PI)); }; _local3 = _local3.m_next; }; if ((sablona.y - 50) > holding.y){ ukonci(); Tweener.removeAllTweens(); return; }; if (m_contactListener){ if (m_contactListener.konec){ ukonci(); Tweener.removeAllTweens(); return; }; if (m_contactListener.touched){ m_contactListener.touched = false; moveUp(); }; }; } private function rollMe(_arg1:MouseEvent):void{ _arg1.target.icon.gotoAndStop(2); } private function removeTut():void{ if (tutorial){ }; } private function hideMaps(_arg1:MouseEvent):void{ } private function checkRest():Number{ var _local1:Number; _local1 = 0; return (_local1); } public function getBodyAtMouse(_arg1:Boolean=false):b2Body{ var _local2:b2AABB; var _local3:int; var _local4:Array; var _local5:int; var _local6:b2Body; var _local7:int; var _local8:b2Shape; var _local9:Boolean; mousePVec.Set(mouseXWorldPhys, mouseYWorldPhys); _local2 = new b2AABB(); _local2.lowerBound.Set((mouseXWorldPhys - 0.001), (mouseYWorldPhys - 0.001)); _local2.upperBound.Set((mouseXWorldPhys + 0.001), (mouseYWorldPhys + 0.001)); _local3 = 10; _local4 = new Array(); _local5 = _world.Query(_local2, _local4, _local3); _local6 = null; _local7 = 0; while (_local7 < _local5) { if ((((_local4[_local7].m_body.IsStatic() == false)) || (_arg1))){ _local8 = (_local4[_local7] as b2Shape); _local9 = (_local4[_local7] as b2Shape).TestPoint(_local8.m_body.GetXForm(), mousePVec); if (_local9){ _local6 = _local8.m_body; break; }; }; _local7++; }; return (_local6); } private function prepona(_arg1, _arg2):Number{ return (Math.round(Math.sqrt(((_arg1 * _arg1) + (_arg2 * _arg2))))); } private function rmOut(_arg1:MouseEvent):void{ _arg1.target.gotoAndStop(1); } private function setupWorld():void{ var _local1:b2AABB; var _local2:Boolean; _local1 = new b2AABB(); _local1.lowerBound.Set((-3000 / RATIO), (-3000 / RATIO)); _local1.upperBound.Set((3000 / RATIO), (3000 / RATIO)); gravity = new b2Vec2(0, 9.8); _local2 = false; _world = new b2World(_local1, gravity, _local2); setupCollisionListener(); } private function exit(_arg1:MouseEvent):void{ if (konecMc){ removeChild(konecMc); konecMc = null; }; if (nextMc){ removeChild(nextMc); nextMc = null; }; deleteAll(); resetRest(); initMenu(); } private function levelComplete():void{ } private function menuExit(_arg1:MouseEvent):void{ if (konecMc){ removeChild(konecMc); konecMc = null; }; if (nextMc){ removeChild(nextMc); nextMc = null; }; deleteAll(); resetRest(); initMenu(); } private function obsah(_arg1, _arg2):Number{ return (Math.round((Math.abs((_arg1 * _arg2)) / 100))); } private function increaseSize2():void{ } private function generujNahodneCislo(_arg1:Number, _arg2:Number):Number{ return (((Math.random() * (_arg2 - _arg1)) + _arg1)); } private function showDestructEffect(_arg1:MovieClip):void{ } private function initDiff():void{ menu.btnStart.mouseEnabled = false; menu.btnCredits.mouseEnabled = false; menu.btnMore.mouseEnabled = false; menu.btnMedium.buttonMode = true; menu.btnMedium.mouseChildren = false; menu.btnEasy.buttonMode = true; menu.btnEasy.mouseChildren = false; menu.btnHard.buttonMode = true; menu.btnHard.mouseChildren = false; menu.btnEasy.speed = 0.45; menu.btnMedium.speed = 0.35; menu.btnHard.speed = 0.21; } private function createBox():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; process = 0; _local1 = (sablona.width / 2); _local2 = (sablona.height / 2); _local3 = (sablona.x + (sablona.width / 2)); _local4 = (sablona.y + (sablona.height / 2)); Tweener.removeAllTweens(); playSound(new bell1(), 0.3, 0, 0); AddBox(((_local3 - _local1) / RATIO), ((_local4 - _local2) / RATIO), (_local1 / RATIO), (_local2 / RATIO)); } private function setupCollisionListener():void{ m_contactListener = new b2ContactListener(); _world.SetContactListener(m_contactListener); } private function removeEffect(_arg1:MovieClip):void{ removeChild(_arg1); _arg1 = null; } private function setBricks():void{ } private function setScore(_arg1:Number):void{ score = (score + _arg1); mcNext.tf_score.text = score.toString(); } private function play_menu_music():void{ var _local1:menu_music; var _local2:*; _local1 = new menu_music(); _local2 = _local1.play(0, 999); } private function openLink(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.kingofgames.net"), "_blank"); } private function increaseSize():void{ sablona.gotoAndStop(typ); sablona.scaleX = (sablona.scaleY = nextScale); nextScale = generujNahodneCislo(0.4, 0.9); mcNext.mcNext.scaleX = (mcNext.mcNext.scaleY = nextScale); typ = Math.ceil((Math.random() * 5)); mcNext.mcNext.gotoAndStop(typ); } public function realStart(_arg1:TimerEvent):void{ var _local2:MovieClip; var _local3:BitmapData; stage.frameRate = 50; _local2 = new mcStars(); _local3 = new BitmapData(_local2.width, _local2.height, false, 0xFFFFFF); _local3.draw(_local2); stars = new Bitmap(_local3); addChild(stars); stars.y = -1400; addChild(sablona); addChild(mcNext); addChild(btnMute); addChild(btnMore); btnMore.addEventListener(MouseEvent.CLICK, openLink); btnMore.buttonMode = true; sablona.y = -20; addChild(sablona); posX = sablona.x; posY = sablona.y; level = 1; total = 0; score = 0; setScore(0); removeMenu(); SoundMixer.stopAll(); play_bc_music(); playSound(new jungleSound(), 0.3, 999, 70); setupWorld(); createWallsAndFloor(); addARandomCrate(); setupDebugDraw(); addEventListener(Event.ENTER_FRAME, newFrameEvent); stage.addEventListener(MouseEvent.MOUSE_DOWN, faster); stage.addEventListener(MouseEvent.MOUSE_UP, slower); initButtons(); addChild(canvas); nextScale = generujNahodneCislo(0.4, 0.9); sablona.scaleX = (sablona.scaleY = 0.6); increaseSize(); nextScale = generujNahodneCislo(0.4, 0.9); } private function onMouseUp(_arg1:MouseEvent):void{ isMouseDown = false; } private function resetLevel(_arg1:MouseEvent):void{ allow = false; max = 2000; arr_scores = new Array(); removeEventListener(Event.ENTER_FRAME, newFrameEvent); arr_scores = []; arr_temps = []; setScore(0); deleteAll(); resetRest(); setupWorld(); createWallsAndFloor(); addARandomCrate(); setupCollisionListener(); setupDebugDraw(); sablona.y = posY; sablona.x = posX; Tweener.removeAllTweens(); sablona.scaleX = (sablona.scaleY = 0.7); process = 0; increaseSize(); addEventListener(Event.ENTER_FRAME, newFrameEvent); } private function checkScores():void{ } private function moveLeft():void{ } public function startGame(_arg1:MouseEvent):void{ startMe(); } private function increaseOffset(_arg1:TimerEvent):void{ var _local2:*; _local2 = (lastbodyDef.userData.height / 8); offset = (offset + _local2); stars.y = (stars.y + _local2); } private function play_bc_music():void{ var _local1:bc_music; var _local2:*; var _local3:SoundTransform; _local1 = new bc_music(); _local2 = _local1.play(0, 999); _local3 = _local2.soundTransform; _local3.volume = 0.2; _local2.soundTransform = _local3; } private function movingUp(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 38){ up = true; }; if (_arg1.keyCode == 40){ down = true; }; } public function AddBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ var _local5:b2BodyDef; var _local6:b2PolygonDef; var _local7:b2Body; moves++; setMoves(); _local5 = new b2BodyDef(); _local5.position.Set(_arg1, (_arg2 - (offset / RATIO))); _local5.userData = new BoxHead(); _local5.userData.gotoAndStop(sablona.currentFrame); _local5.userData.width = ((_arg3 * 2) * RATIO); _local5.userData.height = ((_arg4 * 2) * RATIO); mcs.push(_local5.userData); if (lastbodyDef){ lastbodyDef.userData.name = "added"; prevbodyDef = lastbodyDef; }; _local5.userData.name = "last"; lastbodyDef = _local5; lastMc = _local5.userData; addChild(_local5.userData); _local6 = new b2PolygonDef(); _local6.SetAsBox(_arg3, _arg4); _local6.density = 6; _local6.friction = 0.2; _local6.restitution = 0.3; _local7 = _world.CreateBody(_local5); _local7.CreateShape(_local6); _local7.SetMassFromShapes(); added++; arr_bodies.push(_local7); arr_scores.push([_local7, getTimer(), false]); materials.push(_local5.userData); increaseSize(); } public function destroyBody(_arg1:MouseEvent):void{ var _local2:*; _local2 = getBodyAtMouse(true); trace(_local2); } private function updateCountDown(_arg1:TimerEvent):void{ } private function mouseDrag():void{ } private function showScoreEffect(_arg1:MovieClip):void{ } private function startMe(_arg1:MouseEvent=null):void{ var _local2:Timer; menu.efekt.gotoAndStop(2); timee = 0.35; _local2 = new Timer(1000, 1); _local2.addEventListener(TimerEvent.TIMER, realStart, false, 0, true); _local2.start(); } private function hideHelp(_arg1:TimerEvent):void{ } private function chooseLevel(_arg1:MouseEvent):void{ } private function showStopa():void{ var _local1:BoxHead; _local1 = new BoxHead(); _local1.x = sablona.x; _local1.y = sablona.y; _local1.rotation = sablona.rotation; _local1.alpha = 0.5; _local1.scaleX = (_local1.scaleY = sablona.scaleX); _local1.gotoAndStop(sablona.currentFrame); _local1.cacheAsBitmap = true; addChild(_local1); Tweener.addTween(_local1, {alpha:0, time:2, transition:"lienar", onComplete:removeEffect, onCompleteParams:[_local1]}); addChild(sablona); } private function setMoves():void{ } private function resetRest():void{ _world = null; spriteToDrawOn.y = 0; stars.y = -1400; offset = 0; removeEventListener(Event.ENTER_FRAME, newFrameEvent); arr_bodies = new Array(); arr_scores = new Array(); arr_temps = []; } private function updateMouseWorld():void{ mouseXWorldPhys = (mouseX / worldScale); mouseYWorldPhys = (mouseY / worldScale); mouseXWorld = mouseX; mouseYWorld = mouseY; } private function decreaseSize():void{ Tweener.addTween(sablona, {scaleX:0.5, scaleY:0.5, time:(timee * (sablona.scaleX / 0.8)), onComplete:increaseSize, transition:"linear"}); } private function createWallsAndFloor():void{ var _local1:b2PolygonDef; var _local2:b2BodyDef; var _local3:b2Body; _local1 = new b2PolygonDef(); _local1.vertexCount = 4; b2Vec2(_local1.vertices[0]).Set((0 / RATIO), (0 / RATIO)); b2Vec2(_local1.vertices[1]).Set((2000 / RATIO), (0 / RATIO)); b2Vec2(_local1.vertices[2]).Set((2000 / RATIO), (10 / RATIO)); b2Vec2(_local1.vertices[3]).Set((0 / RATIO), (10 / RATIO)); _local1.friction = 1; _local1.restitution = 0; _local1.density = 0; _local2 = new b2BodyDef(); _local2.position.Set((-500 / RATIO), (590 / RATIO)); _local2.userData = new MovieClip(); _local2.userData.name = "Floor"; addChild(_local2.userData); f = _local2.userData; _local3 = _world.CreateBody(_local2); arr_bodies.push(_local3); _local3.CreateShape(_local1); _local3.SetMassFromShapes(); } private function startNew(_arg1:MouseEvent):void{ if (allow){ initX = mouseX; initY = mouseY; drawing = true; }; } private function deleteAll():void{ var _local1:Number; removeChild(f); m_contactListener = null; if (spriteToDrawOn){ removeChild(spriteToDrawOn); }; _local1 = 0; while (_local1 < materials.length) { removeChild(materials[_local1]); materials[_local1] = null; _local1++; }; _local1 = 0; while (_local1 < arr_bodies.length) { if (arr_bodies[_local1]){ _world.DestroyBody(arr_bodies[_local1]); }; _local1++; }; } } }//package
Section 173
//clickS (clickS) package { import flash.media.*; public dynamic class clickS extends Sound { } }//package
Section 174
//endBells (endBells) package { import flash.media.*; public dynamic class endBells extends Sound { } }//package
Section 175
//HitTest (HitTest) package { import flash.display.*; import flash.geom.*; public class HitTest { protected static function getDrawMatrix(_arg1:DisplayObject, _arg2:Rectangle, _arg3:Number):Matrix{ var _local4:Point; var _local5:Matrix; var _local6:Matrix; _local6 = _arg1.root.transform.concatenatedMatrix; _local4 = _arg1.localToGlobal(new Point()); _local5 = _arg1.transform.concatenatedMatrix; _local5.tx = (_local4.x - _arg2.x); _local5.ty = (_local4.y - _arg2.y); _local5.a = (_local5.a / _local6.a); _local5.d = (_local5.d / _local6.d); if (_arg3 != 1){ _local5.scale(_arg3, _arg3); }; return (_local5); } public static function complexHitTestObject(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Boolean{ return (!((complexIntersectionRectangle(_arg1, _arg2, _arg3).width == 0))); } public static function complexIntersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Rectangle{ var _local4:Rectangle; var _local5:BitmapData; var _local6:Rectangle; if (_arg3 <= 0){ throw (new Error("ArgumentError: Error #5001: Invalid value for accurracy", 5001)); }; if (!_arg1.hitTestObject(_arg2)){ return (new Rectangle()); }; _local4 = intersectionRectangle(_arg1, _arg2); if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){ return (new Rectangle()); }; _local5 = new BitmapData((_local4.width * _arg3), (_local4.height * _arg3), false, 0); _local5.draw(_arg1, HitTest.getDrawMatrix(_arg1, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, 0xFF)); _local5.draw(_arg2, HitTest.getDrawMatrix(_arg2, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0xFF), BlendMode.DIFFERENCE); _local6 = _local5.getColorBoundsRect(4294967295, 4278255615); _local5.dispose(); if (_arg3 != 1){ _local6.x = (_local6.x / _arg3); _local6.y = (_local6.y / _arg3); _local6.width = (_local6.width / _arg3); _local6.height = (_local6.height / _arg3); }; _local6.x = (_local6.x + _local4.x); _local6.y = (_local6.y + _local4.y); return (_local6); } public static function intersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject):Rectangle{ var _local3:Rectangle; var _local4:Rectangle; var _local5:Rectangle; if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){ return (new Rectangle()); }; _local3 = _arg1.getBounds(_arg1.root); _local4 = _arg2.getBounds(_arg2.root); _local5 = new Rectangle(); _local5.x = Math.max(_local3.x, _local4.x); _local5.y = Math.max(_local3.y, _local4.y); _local5.width = Math.min(((_local3.x + _local3.width) - _local5.x), ((_local4.x + _local4.width) - _local5.x)); _local5.height = Math.min(((_local3.y + _local3.height) - _local5.y), ((_local4.y + _local4.height) - _local5.y)); return (_local5); } } }//package
Section 176
//jungleSound (jungleSound) package { import flash.media.*; public dynamic class jungleSound extends Sound { } }//package
Section 177
//mc_konec (mc_konec) package { import flash.display.*; import flash.text.*; import flash.geom.*; import flash.events.*; import flash.filters.*; import flash.utils.*; import flash.media.*; import flash.net.*; import CPMStar.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class mc_konec extends MovieClip { public var btnRestart:MovieClip; public var ad:DisplayObject; public var btnRestart2:MovieClip; public var btnRestart3:MovieClip; public var score:TextField; public var adBox:MovieClip; public var btnSubmit:MovieClip; public var CPMStarContentSpotID:String; public var btnMore:MovieClip; public function mc_konec(){ addFrameScript(0, frame1); } public function rollMe(_arg1:MouseEvent):void{ if (_arg1.target.currentFrame == 1){ _arg1.target.gotoAndStop(2); playSound(new clickS(), 0.5, 0, 50); } else { _arg1.target.gotoAndStop(1); }; } public function playSound(_arg1:Sound, _arg2:Number, _arg3:Number=0, _arg4:Number=0):void{ var _local5:*; var _local6:SoundTransform; _local5 = _arg1.play(_arg4, _arg3); _local6 = _local5.soundTransform; _local6.volume = _arg2; _local5.soundTransform = _local6; } public function openLink(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.kingofgames.net"), "_blank"); } function frame1(){ btnRestart.addEventListener(MouseEvent.ROLL_OVER, rollMe, false, 0, true); btnRestart.addEventListener(MouseEvent.ROLL_OUT, rollMe, false, 0, true); btnRestart2.addEventListener(MouseEvent.ROLL_OVER, rollMe, false, 0, true); btnRestart2.addEventListener(MouseEvent.ROLL_OUT, rollMe, false, 0, true); btnRestart3.addEventListener(MouseEvent.ROLL_OVER, rollMe, false, 0, true); btnRestart3.addEventListener(MouseEvent.ROLL_OUT, rollMe, false, 0, true); btnSubmit.addEventListener(MouseEvent.ROLL_OVER, rollMe, false, 0, true); btnSubmit.addEventListener(MouseEvent.ROLL_OUT, rollMe, false, 0, true); btnSubmit.buttonMode = true; btnMore.addEventListener(MouseEvent.CLICK, openLink, false, 0, true); btnMore.addEventListener(MouseEvent.ROLL_OVER, rollMe, false, 0, true); btnMore.addEventListener(MouseEvent.ROLL_OUT, rollMe, false, 0, true); btnMore.buttonMode = true; CPMStarContentSpotID = "2287Q24747EB6"; if (MovieClip(root).ads){ ad = new AdLoader(CPMStarContentSpotID); adBox.addChild(ad); } else { adBox.gotoAndStop(2); adBox.addEventListener(MouseEvent.CLICK, MovieClip(root).openLink, false, 0, true); adBox.buttonMode = true; adBox.mouseChildren = false; }; } } }//package
Section 178
//mcStars (mcStars) package { import flash.display.*; public dynamic class mcStars extends MovieClip { public function mcStars(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 179
//Menu (Menu) package { import flash.display.*; import flash.text.*; import flash.geom.*; import flash.events.*; import caurina.transitions.*; import flash.filters.*; import flash.utils.*; import flash.media.*; import flash.net.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.printing.*; import flash.ui.*; import flash.xml.*; public dynamic class Menu extends MovieClip { public var diff:MovieClip; public var extra:MovieClip; public var btnHow:MovieClip; public var btnStart:MovieClip; public var btnHard:MovieClip; public var efekt:MovieClip; public var btnCredits:MovieClip; public var btnEasy:MovieClip; public var logo:MovieClip; public var jungle:MovieClip; public var btnMore:MovieClip; public var btnMedium:MovieClip; public function Menu(){ addFrameScript(0, frame1); } public function rollMe(_arg1:MouseEvent):void{ if (_arg1.target.currentFrame == 1){ playSound(new bell1(), 0.5, 0, 50); _arg1.target.gotoAndStop(2); } else { _arg1.target.gotoAndStop(1); }; } public function playSound(_arg1:Sound, _arg2:Number, _arg3:Number=0, _arg4:Number=0):void{ var _local5:*; var _local6:SoundTransform; _local5 = _arg1.play(_arg4, _arg3); _local6 = _local5.soundTransform; _local6.volume = _arg2; _local5.soundTransform = _local6; } public function initButtons():void{ btnCredits.addEventListener(MouseEvent.CLICK, clickMe); btnHow.addEventListener(MouseEvent.CLICK, clickMe); btnMore.addEventListener(MouseEvent.CLICK, clickMe); logo.addEventListener(MouseEvent.CLICK, clickMe); btnCredits.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnStart.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnHow.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnMore.addEventListener(MouseEvent.ROLL_OVER, rollMe); btnStart.addEventListener(MouseEvent.ROLL_OUT, rollMe); btnCredits.addEventListener(MouseEvent.ROLL_OUT, rollMe); btnHow.addEventListener(MouseEvent.ROLL_OUT, rollMe); btnMore.addEventListener(MouseEvent.ROLL_OUT, rollMe); btnStart.buttonMode = true; btnCredits.buttonMode = true; btnHow.buttonMode = true; btnMore.buttonMode = true; logo.buttonMode = true; btnCredits.mouseChildren = false; btnHow.mouseChildren = false; btnMore.mouseChildren = false; } public function openLink():void{ navigateToURL(new URLRequest("http://www.kingofgames.net"), "_blank"); } public function clickMe(_arg1:MouseEvent):void{ var _local2:String; _local2 = _arg1.target.name; if (_local2 == "btnCredits"){ extra.gotoAndStop(_local2); } else { if (_local2 == "btnHow"){ extra.alpha = 0; Tweener.addTween(extra, {alpha:1, time:1}); extra.gotoAndStop(_local2); } else { if (_local2 == "btnMore"){ openLink(); } else { if (_local2 == "logo"){ openLink(); } else { if (_local2 == "btnScore"){ }; }; }; }; }; } function frame1(){ initButtons(); } } }//package
Section 180
//menu_music (menu_music) package { import flash.media.*; public dynamic class menu_music extends Sound { } }//package
Section 181
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 182
//PhysBox (PhysBox) package { import flash.display.*; public dynamic class PhysBox extends MovieClip { } }//package
Section 183
//star (star) package { import flash.display.*; public dynamic class star extends MovieClip { } }//package
Section 184
//StoneHit (StoneHit) package { import flash.media.*; public dynamic class StoneHit extends Sound { } }//package
Section 185
//TxEff2 (TxEff2) package { import flash.display.*; import com.jumpeye.flashEff.core.interfaces.*; import flash.text.*; import flash.geom.*; import flash.events.*; import flash.utils.*; import fl.core.*; import com.jumpeye.utils.*; import com.jumpeye.Events.*; import com.jumpeye.flashEff.text.defaultFade.*; import flash.net.*; import com.jumpeye.core.*; import com.jumpeye.flashEff.text.*; public dynamic class TxEff2 extends JUIComponent implements IFlashEff { protected var tepA:IFlashEffCommand; protected var tepF:IFlashEffFilter; protected var tepS:FeTDefaultFade; protected var _initialTargetTransform:Transform; private var _isTargetVisibleAtEnd:Boolean;// = false private var _drawAfterFilters:Boolean;// = true protected var beforeDrawButtonTarget:Sprite; private var _showTransitionName:String; protected var lastTransitionPattern:IFlashEffSymbolText; protected var eventsDispatched:Number;// = 0 private var _swapTransitionName:String; private var __showDelay:Number;// = 0 private var _partialTable:FeTable; protected var afterDrawButtonTarget:Sprite; private var __hideAutoPlay:Boolean;// = true protected var maxEndEvents:Number;// = 0 private var __targetInstanceName:String;// = "" protected var _partialTextOwnerClip:Sprite; private var _buttonOwner:Sprite; protected var isDragOut:Boolean;// = false private var __xmlPath:String;// = "" private var _rollOutCommands:Array; protected var _currentTransitionType:String;// = "" private var _absCustom:Array; protected var swapTxeff:TxEff2; protected var setNewTarget:Boolean;// = false protected var filterAsoc:Array; private var _doubleClickCommands:Array; private var _textTable:FeTable; protected var _buttonEffect:IFlashEffButtonEffect; private var _absMatrix:Array; protected var partialInterval:Number; private var _releaseCommands:Array; private var __hideDelay:Number;// = 2 private var forceAutoPlay;// = null private var _filterList:Array; protected var showPattern:IFlashEffSymbolText; protected var drawCalled:Boolean;// = false private var _targetOwner:MovieClip; protected var beforeDrawButtonTargetOwner:Sprite; private var _pressCommands:Array; private var _hideTransitionName:String; protected var isButtonEffectApplyed:Boolean;// = false private var _firstLevelOwner:Sprite; private var _useSwapInsteadHide:Boolean;// = false protected var transitionType:String;// = "show" protected var hitAreaClip:Sprite; private var _ideDataHolder:String;// = "" protected var showTimer:Timer; private var _highestOwner:Sprite; private var _textField:TextField; protected var nextTarget:DisplayObject; protected var swapPattern:IFlashEffSymbolText; private var _swapTarget:DisplayObject; private var __partialPattern:String;// = "com.jumpeye.flashEff.text.defaultFade.FeTDefaultFade" private var _target:DisplayObject; private var _absWords:Array; protected var forceHide:Boolean;// = false protected var partialPattern:IFlashEffSymbol; protected var tempTransformSprite:Sprite; protected var _buttonEffectName:String; private var _rollOverCommands:Array; private var _absLines:Array; private var __swapTargetVisibility:Boolean;// = false protected var hideTimer:Timer; protected var _isTransitioning:Boolean;// = false protected var textChangeDelayInterval:Number; private var __xmlString:String;// = "" private var __swapType:String;// = "hideAndShow" private var _isMouseTriggered:Boolean;// = true protected var buttonTarget:Sprite; private var __targetVisibility:Boolean;// = true private var __showAutoPlay:Boolean;// = true private var _useHandCursor:Boolean;// = false protected var afterDrawButtonTargetOwner:Sprite; private var __swapTargetInstanceName:String;// = "" protected var firstInDepth:Sprite; private var __swapDelay:Number;// = 0 protected var hidePattern:IFlashEffSymbolText; protected var _textOwnerClip:Sprite; private var _absChars:Array; public static const SWAP_TYPE_HIDE_AND_SHOW = "hideAndShow"; public static const SWAP_TYPE_HIDE = "hide"; public static const SWAP_TYPE_SHOW = "show"; private static var targetPaths:Array; protected static var eventTypeAsoc:Array = []; public function TxEff2(){ _isTransitioning = false; isButtonEffectApplyed = false; drawCalled = false; isDragOut = false; setNewTarget = false; forceHide = false; maxEndEvents = 0; eventsDispatched = 0; transitionType = "show"; _currentTransitionType = ""; forceAutoPlay = null; __showDelay = 0; __hideDelay = 2; __swapDelay = 0; __targetInstanceName = ""; __swapTargetInstanceName = ""; __swapType = "hideAndShow"; __xmlPath = ""; __partialPattern = "com.jumpeye.flashEff.text.defaultFade.FeTDefaultFade"; __xmlString = ""; _ideDataHolder = ""; _isTargetVisibleAtEnd = false; _isMouseTriggered = true; _drawAfterFilters = true; _useHandCursor = false; _useSwapInsteadHide = false; __showAutoPlay = true; __hideAutoPlay = true; __targetVisibility = true; __swapTargetVisibility = false; super(); init(); } public function get currentTransitionType():String{ return (this._currentTransitionType); } public function removeAllCommands():void{ } public function buttonPress():void{ } public function get showTransition():IFlashEffSymbolText{ return (this.showPattern); } public function get filterList():Array{ return (this._filterList); } public function get hideTransition():IFlashEffSymbolText{ return (this.hidePattern); } public function buttonRollOver():void{ } public function get ideDataHolder():String{ return (this._ideDataHolder); } public function setXML(_arg1):void{ this.setProperties(_arg1); } public function get firstLevelOwner():Sprite{ return (this._firstLevelOwner); } public function addFilterByName(_arg1:String, _arg2:Object=null):IFlashEffFilter{ var filter:IFlashEffFilter; var filterReference:Class; var i:*; var filterName = _arg1; var initObj = _arg2; try { filterReference = (getDefinitionByName(filterName) as Class); } catch(e:ReferenceError) { trace((("TXEFF2 ERROR: The filter pattern '" + filterName) + "' is missing from library.")); return (null); }; filter = IFlashEffFilter(new filterReference(this)); if (initObj != null){ for (i in initObj) { filter[i] = initObj[i]; }; }; this.addFilter(filter); return (filter); } public function set showTransition(_arg1:IFlashEffSymbolText):void{ if (_arg1 != null){ if (this.showPattern != null){ this.showPattern.remove(); }; this.showPattern = _arg1; this._showTransitionName = String(getQualifiedClassName(_arg1)).replace("::", "."); }; } public function set filterList(_arg1:Array):void{ var _local2:*; this.removeAllFilters(); if (_arg1 != null){ for (_local2 in _arg1) { this.addFilter(_arg1[_local2]); }; }; } public function set hideTransition(_arg1:IFlashEffSymbolText):void{ if (_arg1 != null){ if (this.hidePattern != null){ this.hidePattern.remove(); }; this.hidePattern = _arg1; this._hideTransitionName = String(getQualifiedClassName(_arg1)).replace("::", "."); }; } public function buttonRelease():void{ } public function get highestOwner():Sprite{ return (this._highestOwner); } public function get showDelay():Number{ return (__showDelay); } protected function showCallerWeak(_arg1:TimerEvent):void{ this.show(false); } public function removeCommandByName(_arg1:String):void{ } public function get buttonEffectName():String{ return (this._buttonEffectName); } public function set ideDataHolder(_arg1:String){ this._ideDataHolder = _arg1; } protected function getPath(_arg1:DisplayObject):String{ var _local2:DisplayObject; var _local3:String; _local2 = _arg1.parent; _local3 = _arg1.name; while (((!((_local2 is Stage))) && (!((_local2 == null))))) { _local3 = ((_local2.name + ".") + _local3); _local2 = _local2.parent; }; return (_local3); } public function getShowPattern():IFlashEffSymbolText{ return (this.showPattern); } function setDrawTime(){ if ((((this.showAutoPlay == true)) || ((this.hideAutoPlay == true)))){ if ((this.target is DisplayObject)){ if (this.target.stage == null){ this.target.addEventListener(Event.ADDED_TO_STAGE, this.targetOnAdd); } else { if (drawCalled == false){ drawCalled = true; targetOnAdd(new Event(Event.ADDED_TO_STAGE)); }; }; }; }; } protected function callDraw(_arg1:Event){ this.draw(); } public function get xmlPath():String{ return (__xmlPath); } public function get hideAutoPlay():Boolean{ return (__hideAutoPlay); } protected function getCommandsNumber():Number{ var _local1:Number; _local1 = 0; return (_local1); } protected function showCaller(_arg1:TimerEvent):void{ this.show(); } public function get initialTargetTransform():Transform{ return (this._initialTargetTransform); } protected function removedFromStage(_arg1:Event):void{ this.removeEffect(true); this.removeAllFilters(); } public function removeAllCommandsByEventType(_arg1:String):void{ } protected function init():void{ JInstantiateClass.initClasses(); this._targetOwner = new MovieClip(); this._firstLevelOwner = new Sprite(); this._highestOwner = new Sprite(); this.beforeDrawButtonTargetOwner = new Sprite(); this.beforeDrawButtonTarget = new Sprite(); this.afterDrawButtonTarget = new Sprite(); this.afterDrawButtonTargetOwner = new Sprite(); this.afterDrawButtonTarget.addChild(this.firstLevelOwner); this.afterDrawButtonTargetOwner.addChild(this.afterDrawButtonTarget); this.highestOwner.addChild(this.afterDrawButtonTargetOwner); this.addChild(this.highestOwner); this.beforeDrawButtonTarget.addChild(this.targetOwner); this.beforeDrawButtonTargetOwner.addChild(beforeDrawButtonTarget); this.firstLevelOwner.addChild(this.beforeDrawButtonTargetOwner); this.buttonTarget = this.afterDrawButtonTarget; this.firstInDepth = this.beforeDrawButtonTargetOwner; this.hitAreaClip = new Sprite(); this.addChild(this.hitAreaClip); this.highestOwner.hitArea = this.hitAreaClip; this.hitAreaClip.mouseEnabled = false; this.hitAreaClip.visible = false; this.hitAreaClip.graphics.beginFill(0); this.hitAreaClip.graphics.drawRect(0, 0, 100, 100); this.hitAreaClip.graphics.endFill(); this._textOwnerClip = new Sprite(); this._partialTextOwnerClip = new Sprite(); this.targetOwner.addChild(this._textOwnerClip); this.targetOwner.addChild(this._partialTextOwnerClip); this._textTable = new FeTable(); this._partialTable = new FeTable(); this._textOwnerClip.addChild(DisplayObject(this.textTable)); this._partialTextOwnerClip.addChild(DisplayObject(this.partialTable)); tempTransformSprite = new Sprite(); this._buttonOwner = new Sprite(); this.afterDrawButtonTargetOwner.addChild(this.buttonOwner); this.resetArrays(); this._filterList = []; this._rollOverCommands = []; this._rollOutCommands = []; this._pressCommands = []; this._releaseCommands = []; this._doubleClickCommands = []; this.filterAsoc = []; if (_slot1.targetPaths == null){ _slot1.targetPaths = []; }; this.showTimer = new Timer((this.showDelay * 1000), 1); this.hideTimer = new Timer((this.hideDelay * 1000), 1); this.partialPatternName = this.__partialPattern; this.addEventListener(Event.REMOVED_FROM_STAGE, removedFromStage); } protected function setCommands(_arg1:String):void{ } public function set showDelay(_arg1:Number):void{ if (isNaN(_arg1)){ _arg1 = 0; } else { if (_arg1 <= 0){ _arg1 = 0; }; }; this.__showDelay = _arg1; if (_arg1 < 1E-6){ _arg1 = 1E-6; }; this.showTimer.delay = (_arg1 * 1000); } public function get isMouseTriggered():Boolean{ return (_isMouseTriggered); } protected function removeswapTxeff(){ if (this.swapTxeff != null){ this.swapTxeff.removeAll(); this.removeChild(this.swapTxeff); this.swapTxeff.removeEventListener(TXEFF2Events.TRANSITION_END, dispatchEvent); this.swapTxeff = null; }; } public function removeFilter(_arg1:IFlashEffFilter):Boolean{ var _local2:*; var _local3:uint; if (_arg1 != null){ _arg1.remove(); for (_local2 in this.filterList) { if (this.filterList[_local2] == _arg1){ if (_arg1.target == this.firstInDepth){ this.firstInDepth = this.filterAsoc[_arg1.target.name]; }; if (this.filterList.length > (_local2 + 1)){ this.filterAsoc[this.filterList[(_local2 + 1)].target.name] = this.filterAsoc[_arg1.target.name]; }; this.filterList.splice(_local2, 1); _local3 = 0; while (_local2 < _arg1.target.numChildren) { _arg1.target.parent.addChild(_arg1.target.getChildAt(_local3)); _local3++; }; _arg1.target.parent.removeChild(_arg1.target); return (true); }; }; }; return (false); } public function get swapTarget():DisplayObject{ return (this._swapTarget); } protected function startPartialEffect():void{ if (this.partialPattern != null){ try { this.partialPattern["partialBlurAmount"] = IFlashEffText(this.lastTransitionPattern).partialBlurAmount; this.partialPattern["partialStart"] = IFlashEffText(this.lastTransitionPattern).partialStart; this.partialPattern.tweenDuration = IFlashEffText(this.lastTransitionPattern).tweenDuration; this.partialPattern.tweenType = IFlashEffText(this.lastTransitionPattern).tweenType; this.partialPattern.easeType = IFlashEffText(this.lastTransitionPattern).easeType; } catch(e:Error) { trace("TXEFF2 ERROR: an error ocured when trying to set partialBlurAmount, partialStart, tweenDuration,tweenType and easeType on the partialPattern."); }; var _local2 = this.partialPattern; _local2[this.transitionType](); }; clearInterval(this.partialInterval); } protected function resetChildDisplayList(_arg1:DisplayObject):void{ var _local2:Array; var _local3:*; var _local4:Object; _local2 = _slot1.targetPaths; for (_local3 in _local2) { _local4 = _local2[_local3]; if (_local4 != null){ if (_local4.target == _arg1){ if (_local4.displayList.getChildByName(_arg1.name) == null){ _local4.displayList.addChild(_arg1); _arg1.x = _local4.x; _arg1.y = _local4.y; _arg1.rotation = _local4.rotation; }; _slot1.targetPaths[_local3] = null; return; }; }; }; } public function set buttonEffectName(_arg1:String):void{ } override protected function draw():void{ var _local1:Boolean; var _local2:*; var _local3:Timer; if (this.isInvalid(InvalidationType.ALL)){ if (this.target != null){ _local1 = false; if (((!((this.showPattern == null))) && ((this.showAutoPlay == true)))){ this.transitionType = "show"; _local1 = true; } else { if (this.hidePattern != null){ if (this.hideAutoPlay == true){ _local1 = true; this.transitionType = "hide"; }; }; }; if (this.target.parent != this.targetOwner){ if ((((((_local1 == true)) || ((this.filterList.length > 0)))) || ((this.getCommandsNumber() > 0)))){ this.target = this.target; }; }; this.target.visible = this.targetVisibility; if (_local1){ _local3 = this[(this.transitionType + "Timer")]; if (this[(this.transitionType + "Delay")] > 0){ _local3.reset(); _local3.start(); _local3.addEventListener(TimerEvent.TIMER, this[(this.transitionType + "Caller")]); if (this.transitionType == "show"){ if (this.target != null){ this.target.visible = false; }; }; } else { this.transitionEffect(this.transitionType); }; }; for (_local2 in this.filterList) { IFlashEffFilter(this.filterList[_local2]).remove(); IFlashEffFilter(this.filterList[_local2]).apply(); }; }; this.dispatchEvent(new TXEFF2Events(TXEFF2Events.INIT)); super.draw(); }; } public function hide():void{ this.showTimer.stop(); this.hideTimer.stop(); this.transitionType = "hide"; this.transitionEffect(this.transitionType); } public function get absWords():Array{ return (this._absWords.concat()); } public function changeTarget(_arg1:DisplayObject):void{ var _local2:Timer; this.nextTarget = _arg1; if (this.target != null){ this.setNewTarget = true; _local2 = this.hideTimer; this.forceHide = true; if (this.hideDelay > 0){ _local2.reset(); _local2.start(); _local2.addEventListener(TimerEvent.TIMER, this.hideCaller); } else { this.hide(); }; } else { this.target = _arg1; this.show(false); }; } public function get isTransitioning():Boolean{ return (this._isTransitioning); } protected function charSplit(_arg1:String, _arg2:uint):Array{ var _local3:Array; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:Rectangle; _local3 = String(_arg1).split(""); _local4 = []; _local5 = _local3.length; _local6 = 0; _local7 = 0; while (_local7 < _local5) { _local8 = this.textField.getCharBoundaries((_arg2 + _local7)); if (_local3[_local7] != " "){ if (!isNaN(String(_local3[_local7]).charCodeAt(0))){ if (_local8 != null){ _local4[(_local7 - _local6)] = {}; _local4[(_local7 - _local6)].id = (_arg2 + _local7); _local4[(_local7 - _local6)].bounds = _local8; _local4[(_local7 - _local6)].text = _local3[_local7]; } else { _local6++; }; }; } else { _local6++; }; _local7++; }; return (_local4); } public function get isTargetVisibleAtEnd():Boolean{ return (_isTargetVisibleAtEnd); } protected function addSwapTxeff(_arg1:uint=0):void{ var _local2:*; if (this.swapTxeff != null){ this.removeswapTxeff(); }; this.swapTxeff = new TxEff2(); this.swapTxeff.addEventListener(TXEFF2Events.TRANSITION_END, dispatchEvent); this.addChildAt(this.swapTxeff, _arg1); for (_local2 in this.filterList) { this.swapTxeff.addFilter((this.clonePattern(this.filterList[_local2]) as IFlashEffFilter)); }; } public function get hideDelay():Number{ return (__hideDelay); } override public function get useHandCursor():Boolean{ return (_useHandCursor); } public function get target():DisplayObject{ return (this._target); } public function get absLines():Array{ return (this._absLines.concat()); } public function swap(_arg1:DisplayObject=null, _arg2:String=""):void{ if (_arg1 != null){ this.swapTarget = _arg1; }; if (_arg2 != ""){ this.swapType = _arg2; }; this.useSwapInsteadHide = true; this.hide(); } public function drawTextTable(_arg1:String, _arg2:String, _arg3:Number, _arg4:Array, _arg5:Number, _arg6:Number, _arg7:Array=null):Boolean{ var _local8:Object; var _local9:Array; var _local10:Array; var _local11:Array; var _local12:Boolean; var _local13:Boolean; var _local14:*; var _local15:*; var _local16:uint; var _local17:uint; var _local18:uint; var _local19:uint; var _local20:uint; var _local21:String; var _local22:String; var _local23:Array; var _local24:Array; var _local25:uint; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Object; var _local30:*; var _local31:Number; var _local32:Number; var _local33:Number; var _local34:Number; this.textTable.removeChilds(); this.partialTable.removeChilds(); this.resetArrays(); _local8 = this.textTable; _local12 = false; _local13 = false; _local17 = 1; _local18 = 1; _local20 = 0; _local21 = _arg1; _local22 = _arg1; _local10 = this.linesSplit(); _local17 = _local10.length; _local23 = []; _local24 = []; if (_arg2 == "lines"){ this.filterArray(_local10, _arg2, _arg3, _arg4); }; _local14 = 0; while (_local14 < _local17) { if (_local22 == "custom"){ _local9 = (_local10[_local14].childs = this.customSplit(_local10[_local14].text, _local10[_local14].id, _arg7[_local10[_local14].lineId])); _arg1 = "words"; _local21 = _arg1; } else { _local9 = (_local10[_local14].childs = this.wordsSplit(_local10[_local14].text, _local10[_local14].id)); }; _local10[_local14].owner = this.textTable; _local18 = _local9.length; _local15 = 0; while (_local15 < _local18) { _local23.push(_local9[_local15]); _local9[_local15].passed = _local10[_local14].passed; _local9[_local15].owner = this.textTable; _local11 = (_local9[_local15].childs = this.charSplit(_local9[_local15].text, _local9[_local15].id)); _local19 = _local11.length; _local16 = 0; while (_local16 < _local19) { _local11[_local16].passed = _local9[_local15].passed; _local24.push(_local11[_local16]); _local16++; }; _local15++; }; _local14++; }; if ((((_arg3 < 100)) || ((_arg2 == "selectedStrings")))){ if (_arg2 == "words"){ this.filterArray(_local23, _arg2, _arg3, _arg4); } else { if ((((_arg2 == "letters")) || ((_arg2 == "selectedStrings")))){ this.filterArray(_local24, _arg2, _arg3, _arg4); }; }; _local28 = (_arg5 * 10); if (this.transitionType == "hide"){ _local28 = 0; this._partialTextOwnerClip.alpha = 1; } else { this._partialTextOwnerClip.alpha = 0; }; clearInterval(this.partialInterval); this.partialInterval = setInterval(this.startPartialEffect, (_local28 * ((this.lastTransitionPattern.tweenDuration) || (0)))); maxEndEvents++; }; switch (_arg1.toLocaleLowerCase()){ case "lines": _local17 = _local10.length; _local8 = this.textTable; _local15 = 0; while (_local15 < _local17) { _local29 = _local8; if (_local10[_local15].passed == false){ _local29 = this.partialTable; }; _local30 = _local29.pushChild({type:"FeGroup", x:_local10[_local15].bounds.x, y:_local10[_local15].bounds.y, text:_local10[_local15].text, bounds:_local10[_local15].bounds, id:_local10[_local15].id}); _local10[_local15].owner = _local30; _absLines.push(_local30); _local15++; }; _arg1 = "words"; case "words": _local17 = _local10.length; _local14 = 0; while (_local14 < _local17) { _local31 = _local10[_local14].owner.x; _local32 = _local10[_local14].owner.y; _local8 = _local10[_local14].owner; _local9 = _local10[_local14].childs; _local18 = _local9.length; _local15 = 0; while (_local15 < _local18) { _local29 = _local8; _local33 = _local31; _local34 = _local32; if ((((_local9[_local15].passed == false)) && ((((_local21 == "words")) || ((_arg2 == "words")))))){ _local29 = this.partialTable; _local33 = 0; _local34 = 0; } else { if (_local9[_local15].passed == false){ _local33 = 0; _local34 = 0; }; }; _local30 = _local29.pushChild({type:"FeGroup", x:(_local9[_local15].bounds.x - _local33), y:(_local9[_local15].bounds.y - _local34), text:_local9[_local15].text, bounds:_local9[_local15].bounds, id:_local9[_local15].id}); _local9[_local15].owner = _local30; _absWords.push(_local30); if (_local22 == "custom"){ _absCustom.push(_local30); }; _local15++; }; _local14++; }; _arg1 = "chars"; case "chars": _local14 = 0; while (_local14 < _local17) { _local9 = _local10[_local14].childs; _local18 = _local9.length; _local15 = 0; while (_local15 < _local18) { _local11 = _local9[_local15].childs; _local8 = _local9[_local15].owner; _local31 = (_local8.x + _local10[_local14].owner.x); _local32 = (_local8.y + _local10[_local14].owner.y); _local19 = _local11.length; _local16 = 0; while (_local16 < _local19) { _local29 = _local8; _local33 = _local31; _local34 = _local32; if (_local11[_local16].passed != false){ _local11[_local16].passed = _local9[_local15].passed; }; if (_local11[_local16].passed == false){ if ((((_local21 == "chars")) || ((((_arg2 == "letters")) || ((_arg2 == "selectedStrings")))))){ _local29 = this.partialTable; _local33 = 0; _local34 = 0; } else { if (_arg2 == "words"){ _local33 = _local8.x; _local34 = _local8.y; }; }; }; _local30 = _local29.pushChild({type:"FeChar", x:((_local11[_local16].bounds.x - 2) - _local33), y:((_local11[_local16].bounds.y - 2) - _local34), text:_local11[_local16].text, bounds:_local11[_local16].bounds, id:_local11[_local16].id}); _local20 = this.textField.getLineIndexOfChar(_local30.id); _local30.bottomPosition = this.textField.getLineMetrics(_local20).ascent; _local30.applyTextFormat(this.textField.getTextFormat(_local30.id, (_local30.id + 1))); _absChars.push(_local30); _local16++; }; _local15++; }; _local14++; }; break; }; this.textTable.cleanMe(); _local25 = this.textTable.childs.length; _local20 = 0; _local26 = -1; _local27 = 0; if (_local25 < 1){ maxEndEvents--; } else { _absMatrix[_local20] = []; }; _local14 = 0; while (_local14 < _local25) { _local30 = this.textTable.childs[_local14]; _local20 = this.textField.getLineIndexOfChar(_local30.id); if (_local20 != _local26){ _local26 = _local20; _local27 = _absMatrix.push([]); }; _absMatrix[(_local27 - 1)].push(_local30); _local14++; }; _local14 = 0; while (_local14 < _absMatrix.length) { if (_absMatrix[_local14].length == 0){ _absMatrix.splice(_local14, 1); _local14--; }; _local14++; }; this._textOwnerClip.visible = true; DisplayObject(this.textTable).visible = true; DisplayObject(this._partialTextOwnerClip).visible = true; this.textField.visible = false; return (true); } protected function filterArray(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Array):void{ var _local5:uint; var _local6:uint; var _local7:Array; var _local8:*; var _local9:uint; var _local10:Number; var _local11:String; var _local12:Object; var _local13:int; var _local14:String; var _local15:int; var _local16:int; var _local17:RegExp; var _local18:String; var _local19:uint; var _local20:*; _local5 = _arg1.length; if (_arg2 != "selectedStrings"){ _local6 = _local5; _local7 = new Array(_local5); _local8 = 0; while (_local8 < _local5) { _local7[_local8] = _local8; _local8++; }; while (((_local6 / _local5) * 100) > _arg3) { _local9 = Math.floor((Math.random() * _local7.length)); _arg1[_local7[_local9]].passed = false; _local6--; _local7.splice(_local9, 1); }; } else { _local10 = _arg4.length; _local11 = this.textField.text; _local12 = {}; _local8 = 0; while (_local8 < _local5) { _arg1[_local8].passed = false; _local12[_arg1[_local8].id] = _local8; _local8++; }; _local8 = 0; while (_local8 < _local10) { _local13 = 0; _local14 = _arg4[_local8]; _local15 = _local11.indexOf(_local14, _local13); _local16 = _local14.length; _local17 = / /g; _local18 = _local14.replace(_local17, ""); _local19 = _local18.length; while (_local15 != -1) { _local20 = _local15; while (_local20 < (_local15 + _local16)) { if (_local12[_local20] != undefined){ _arg1[_local12[_local20]].passed = true; }; _local20++; }; _local13 = (_local15 + _local16); _local15 = _local11.indexOf(_local14, _local13); }; _local8++; }; }; } public function set hideAutoPlay(_arg1:Boolean):void{ __hideAutoPlay = _arg1; this.invalidate(); setDrawTime(); } public function set xmlPath(_arg1:String):void{ if (_arg1 != ""){ this.__xmlPath = _arg1; setProperties(this.__xmlPath); }; } public function removeShowTransition():void{ if (this.showPattern != null){ this.showPattern.remove(); this.showPattern = null; }; } public function removeHideTransition():void{ if (this.hidePattern != null){ this.hidePattern.remove(); this.hidePattern = null; }; } public function get showTransitionName():String{ return (this._showTransitionName); } public function get drawAfterFilters():Boolean{ return (this._drawAfterFilters); } public function applyButtonEffect():void{ } public function get textOwnerClip():Sprite{ return (_textOwnerClip); } public function get partialPatternName():String{ return (__partialPattern); } public function get partialTextOwnerClip():Sprite{ return (_partialTextOwnerClip); } protected function wordsSplit(_arg1:String, _arg2:uint):Array{ var _local3:Array; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:*; var _local9:Rectangle; var _local10:Boolean; var _local11:uint; var _local12:*; _local3 = _arg1.split(" "); _local4 = []; _local5 = _local3.length; _local6 = 0; _local7 = 0; _local8 = 0; while (_local8 < _local5) { _local9 = this.textField.getCharBoundaries(((_arg2 + _local6) + _local8)); _local10 = false; if (_local9 == null){ _local10 = true; _local11 = _local3[_local8].length; if (_local11 > 0){ _local12 = 0; while (_local12 < _local11) { _local9 = this.textField.getCharBoundaries((((_arg2 + _local6) + _local8) + _local12)); if (_local9 != null){ _local10 = false; break; }; _local12++; }; }; }; if (_local10 == false){ _local4[_local7] = {}; _local4[_local7].id = ((_arg2 + _local8) + _local6); _local4[_local7].bounds = _local9; _local4[_local7].text = _local3[_local8]; _local6 = (_local6 + String(_local4[_local7].text).length); _local7++; } else { _local6 = (_local6 + _local3[_local8].length); }; _local8++; }; return (_local4); } public function get swapTransitionName():String{ return (_swapTransitionName); } public function buttonRollOut():void{ } public function removeButtonEffect():void{ } public function set xmlString(_arg1:String):void{ var _local2:XML; if (_arg1 != ""){ this.__xmlString = _arg1; _local2 = new XML(_arg1); setProperties(_local2); }; } public function set isMouseTriggered(_arg1:Boolean):void{ this._isMouseTriggered = _arg1; } public function set swapTarget(_arg1:DisplayObject):void{ if (_arg1 != null){ this._swapTarget = _arg1; _arg1.visible = this.swapTargetVisibility; this._swapTransitionName = _arg1.name; } else { this._swapTarget = null; this._swapTransitionName = ""; }; } public function removeCommand(_arg1:IFlashEffCommand):void{ } protected function customSplit(_arg1:String, _arg2:uint, _arg3):Array{ var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:*; var _local9:String; var _local10:Rectangle; var _local11:Boolean; var _local12:uint; var _local13:*; _local4 = []; _local5 = _arg3.length; _local6 = 0; _local7 = 0; _local8 = 0; while (_local8 < _local5) { _local9 = this.textField.text.substr((_arg2 + _local6), _arg3[_local8]); _local10 = this.textField.getCharBoundaries((_arg2 + _local6)); _local11 = false; if (_local10 == null){ _local11 = true; _local12 = _local9.length; if (_local12 > 0){ _local13 = 0; while (_local13 < _local12) { _local10 = this.textField.getCharBoundaries(((_arg2 + _local6) + _local13)); if (_local10 != null){ _local11 = false; break; }; _local13++; }; }; }; if (_local11 == false){ _local4[_local7] = {}; _local4[_local7].id = (_arg2 + _local6); _local4[_local7].bounds = _local10; _local4[_local7].text = _local9; _local6 = (_local6 + _arg3[_local8]); _local7++; } else { _local6 = (_local6 + _arg3[_local8]); }; _local8++; }; return (_local4); } override public function dispatchEvent(_arg1:Event):Boolean{ var _local2:Boolean; var _local3:Event; var _local4:*; var _local5:TXEFF2Events; var _local6:Boolean; var _local7:DisplayObject; var _local8:Timer; var _local9:DisplayObject; var _local10:Boolean; var _local11:Boolean; var _local12:Boolean; _local2 = true; if ((_arg1 is FLASHEFFEvents)){ _local3 = _arg1; _arg1 = new TXEFF2Events(_local3.type, _local3.bubbles, _local3.cancelable); (_arg1 as TXEFF2Events).currentTransitionType = this.currentTransitionType; for (_local4 in _local3) { _arg1[_local4] = _local3[_local4]; }; }; if ((((_arg1.type == TXEFF2Events.TRANSITION_END)) || ((_arg1.type == "defaultPatternFinish")))){ eventsDispatched++; if (eventsDispatched == maxEndEvents){ if (isTargetVisibleAtEnd == true){ if (this.transitionType == "show"){ this.target.visible = true; }; this._textOwnerClip.visible = false; this._partialTextOwnerClip.visible = false; }; _local2 = true; _isTransitioning = false; _local5 = new TXEFF2Events(TXEFF2Events.TRANSITION_END); _local5.currentTransitionType = this.currentTransitionType; _local6 = false; if (this.transitionType == "show"){ if (this.hidePattern != null){ if ((((((this.hideAutoPlay == true)) && (!((this.forceAutoPlay == false))))) || ((this.forceAutoPlay == true)))){ this.hideTimer.reset(); this.hideTimer.start(); this.forceAutoPlay = null; this.hideTimer.addEventListener(TimerEvent.TIMER, this.hideCaller); }; }; } else { if (this.setNewTarget == true){ this.hideTimer.stop(); this.showTimer.stop(); _local7 = this.target; this.target = this.nextTarget; if (_local7 != null){ _local7.visible = false; }; this.setNewTarget = false; this.nextTarget = null; _local6 = super.dispatchEvent(_local5); _local8 = new Timer(this.showDelay, 1); if (this.showDelay > 0){ _local8.start(); _local8.addEventListener(TimerEvent.TIMER, this.showCallerWeak); } else { this.show(false); }; return (_local6); }; if (this.currentTransitionType == "swap"){ _local9 = this.target; this.removeswapTxeff(); this.target = this.swapTarget; this.target.visible = true; this.swapTarget = null; _local9.visible = this.targetVisibility; _local10 = this.hideAutoPlay; _local11 = this.showAutoPlay; _local12 = this.targetVisibility; this.__hideAutoPlay = false; this.__showAutoPlay = false; this.targetVisibility = true; this.invalidate(); this.drawNow(); this.__hideAutoPlay = _local10; this.__showAutoPlay = _local11; this.targetVisibility = _local12; this.target.visible = true; }; }; _local6 = super.dispatchEvent(_local5); return (_local6); } else { _local2 = false; }; } else { if (_arg1.type == TXEFF2Events.TRANSITION_START){ (_arg1 as TXEFF2Events).currentTransitionType = this.currentTransitionType; }; }; if (_local2 == true){ return (super.dispatchEvent(_arg1)); }; return (true); } public function getFilter(_arg1:String):IFlashEffFilter{ var _local2:*; for (_local2 in this.filterList) { if (String(getQualifiedClassName(this.filterList[_local2])).replace("::", ".") == _arg1){ return (this.filterList[_local2]); }; }; return (null); } public function set swapTargetVisibility(_arg1:Boolean):void{ __swapTargetVisibility = _arg1; if (this.swapTarget != null){ this.swapTarget.visible = _arg1; }; } public function get absCustom():Array{ return (this._absCustom.concat()); } public function removeAll():void{ this.removeEffect(true, this.showPattern); this.removeEffect(true, this.hidePattern); this.removeswapTxeff(); this.removeAllFilters(); this.showTimer.stop(); this.hideTimer.stop(); this.showPattern = null; this.hidePattern = null; if (this.target != null){ this.target.visible = true; this.resetChildDisplayList(this.target); }; } public function get commands():Array{ return (this._rollOverCommands.concat(this._rollOutCommands, this._pressCommands, this._releaseCommands)); } public function set swapTransition(_arg1:IFlashEffSymbolText):void{ if (_arg1 != null){ if (this.swapPattern != null){ this.swapPattern.remove(); }; this.swapPattern = _arg1; this._swapTransitionName = String(getQualifiedClassName(_arg1)).replace("::", "."); }; } public function set isTargetVisibleAtEnd(_arg1:Boolean):void{ this._isTargetVisibleAtEnd = _arg1; } public function get absChars():Array{ return (this._absChars.concat()); } public function getHidePattern():IFlashEffSymbolText{ return (this.hidePattern); } public function get textTable():IFeTable{ return (this._textTable); } public function removeAllFilters():void{ var _local1:*; var _local2:Boolean; if (this.filterList != null){ _local1 = 0; while (_local1 < this.filterList.length) { _local2 = this.removeFilter(this.filterList[_local1]); _local1 = (_local1 - Number(_local2)); _local1++; }; }; this.filterAsoc = []; } public function set hideDelay(_arg1:Number):void{ if (isNaN(_arg1)){ _arg1 = 2; } else { if (_arg1 < 0){ _arg1 = 0; }; }; this.__hideDelay = _arg1; if (_arg1 < 1E-6){ _arg1 = 1E-6; }; this.hideTimer.delay = (_arg1 * 1000); } public function set hideTransitionName(_arg1:String):void{ var patternClass:Class; var arg = _arg1; if (arg != ""){ try { patternClass = (getDefinitionByName(arg) as Class); if (this.hidePattern != null){ this.hidePattern.remove(); }; this.hidePattern = new patternClass(this); } catch(e:ReferenceError) { throw ((("TXEFF2 ERROR: The pattern '" + arg) + "' is missing from library.")); }; this._hideTransitionName = arg; }; } public function get absMatrix():Array{ return (this._absMatrix.concat()); } public function get partialTable():IFeTable{ return (this._partialTable); } public function set buttonEffect(_arg1:IFlashEffButtonEffect):void{ } public function set swapType(_arg1:String):void{ if ((((((_arg1 == _slot1.SWAP_TYPE_HIDE)) || ((_arg1 == _slot1.SWAP_TYPE_SHOW)))) || ((_arg1 == _slot1.SWAP_TYPE_HIDE_AND_SHOW)))){ this.__swapType = _arg1; }; } protected function setProp(_arg1:XMLList, _arg2:Object){ var child:XML; var propType:String; var propValue:String; var propName:String; var arg = _arg1; var refObj = _arg2; if (refObj != null){ for each (child in arg.children()) { propType = child.type; propValue = child.value; propName = child.name().localName; try { switch (propType){ case "String": refObj[propName] = String(propValue); break; case "Number": refObj[propName] = Number(String(propValue)); break; case "uint": refObj[propName] = uint(String(propValue)); break; case "int": refObj[propName] = int(String(propValue)); break; case "Boolean": refObj[propName] = (String(propValue) == "true"); break; case "Array": refObj[propName] = String(propValue).split(","); break; }; } catch(e:Error) { trace(((((("TXEFF2 ERROR: While trying to set the " + propName) + " on ") + refObj) + ",this error came:") + e.message)); }; }; }; } public function get buttonOwner():Sprite{ return (this._buttonOwner); } public function show(_arg1=null):void{ this.forceAutoPlay = _arg1; this.showTimer.stop(); this.hideTimer.stop(); this.transitionType = "show"; this.transitionEffect(this.transitionType); } public function set targetVisibility(_arg1:Boolean):void{ __targetVisibility = _arg1; } public function get xmlString():String{ return (__xmlString); } public function set useSwapInsteadHide(_arg1:Boolean):void{ this._useSwapInsteadHide = _arg1; } override public function set useHandCursor(_arg1:Boolean):void{ } public function set _targetInstanceName(_arg1:String):void{ var scope:DisplayObjectContainer; var paths:Array; var targName:String; var i:*; var newTarget:DisplayObject; var strPath:String; var existObj:Object; var arg = _arg1; if (arg != ""){ if ((this.parent is DisplayObject)){ scope = this.parent; paths = arg.split("."); targName = paths.pop(); try { i = 0; while (i < paths.length) { scope = (scope[paths[i]] as DisplayObjectContainer); i = (i + 1); }; } catch(e:Error) { trace("TXEFF2 ERROR: The _targetInstanceName path is invalid."); return; }; if (scope != null){ newTarget = scope.getChildByName(targName); if (newTarget == null){ strPath = this.getPath(scope); existObj = _slot1.targetPaths[((strPath + ".") + arg)]; if (existObj != null){ newTarget = existObj.target; }; }; this.target = newTarget; }; } else { trace("TXEFF2 ERROR: Please add the component to the display list, before setting the _targetInstanceName property."); }; this.__targetInstanceName = arg; }; } public function set target(_arg1:DisplayObject):void{ var point:Point; var bounds:Rectangle; var arg = _arg1; if (this._target != null){ if (this.showPattern != null){ try { this.showPattern.remove(); this.showPattern["target"] = null; } catch(e:Error) { }; }; if (this.hidePattern != null){ try { this.hidePattern.remove(); this.hidePattern["target"] = null; } catch(e:Error) { }; }; this._target.visible = true; this.resetChildDisplayList(this._target); }; if (arg != null){ if ((arg is TextField)){ if (arg.parent != null){ resetChildDisplayList(arg); this._target = arg; if (this._targetInstanceName == ""){ this.invalidate(); this.setDrawTime(); }; this.__targetInstanceName = arg.name; point = new Point(0, 0); if ((arg is TextField)){ point = new Point(-2, -2); this._textField = TextField(arg); this.textField.visible = false; this._partialTextOwnerClip.scaleX = (this._textOwnerClip.scaleX = this.textField.scaleX); this._partialTextOwnerClip.scaleY = (this._textOwnerClip.scaleY = this.textField.scaleY); clearInterval(this.textChangeDelayInterval); }; bounds = arg.getBounds(arg); this.hitAreaClip.width = (bounds.width * this.target.scaleX); this.hitAreaClip.height = (bounds.height * this.target.scaleY); this.hitAreaClip.x = (bounds.x * target.scaleX); this.hitAreaClip.y = (bounds.y * target.scaleY); point = arg.localToGlobal(point); point = this.parent.globalToLocal(point); _slot1.targetPaths[this.getPath(arg)] = {target:arg, displayList:target.parent, x:arg.x, y:arg.y, rotation:arg.rotation}; this.targetOwner.addChild(arg); this.x = (this.x + (point.x - this.x)); this.y = (this.y + (point.y - this.y)); this.rotation = this.target.rotation; this.target.x = 0; this.target.y = 0; this.target.rotation = 0; tempTransformSprite.transform = arg.transform; this._initialTargetTransform = tempTransformSprite.transform; } else { trace("TXEFF2 ERROR: Please add the target to the display list, before setting the _targetInstanceName|target property on TxEff2."); }; } else { trace("TXEFF2 ERROR: Target must be a TextField object!"); }; } else { trace("TXEFF2 ERROR: Target must be a non-null DisplayObject."); }; } protected function targetOnAdd(_arg1:Event){ if ((this.target.parent is MovieClip)){ if (MovieClip(this.target.parent).currentFrame <= 1){ this.target.visible = false; }; }; this.target.stage.invalidate(); this.firstLevelOwner.addEventListener(Event.RENDER, callDraw); } public function setProperties(_arg1):void{ var child:XML; var filter:IFlashEffFilter; var me:*; var urlLdr:URLLoader; var xmlArg = _arg1; if ((xmlArg is XML)){ this.invalidate(); this.removeEffect(true); this.removeAllFilters(); if (xmlArg.params.children().length() > 0){ this.setProp(xmlArg.params, this); }; for each (child in xmlArg.patterns.children()) { switch (String(child.type)){ case "command": break; case "filter": filter = this.addFilterByName(String(child.name)); this.setProp(child.params, filter); break; case "buttonEffect": break; case "hide": this.hideTransitionName = String(child.name); this.setProp(child.params, this.hidePattern); break; case "show": this.showTransitionName = String(child.name); this.setProp(child.params, this.showPattern); break; case "swap": this.swapTransitionName = String(child.name); this.setProp(child.params, this.swapPattern); break; }; }; drawCalled = false; this.setDrawTime(); } else { me = this; urlLdr = new URLLoader(); urlLdr.dataFormat = URLLoaderDataFormat.TEXT; urlLdr.addEventListener(Event.COMPLETE, function (_arg1:Event){ var _local2:TXEFF2Events; var _local3:XML; _local2 = new TXEFF2Events(TXEFF2Events.COMPLETE); _local2.data = urlLdr.data; me.dispatchEvent(_local2); _local3 = XML(urlLdr.data); if (String(_local3.params.xmlPath.value) == xmlArg){ _local3.params.xmlPath.value = ""; }; me.setProperties(_local3); }); urlLdr.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent){ trace("TXEFF2 ERROR: There was an IO_ERROR problem loading the xml. Please check the xmlPath."); me.dispatchEvent(_arg1); }); urlLdr.load(new URLRequest(xmlArg)); }; } public function get swapTargetVisibility():Boolean{ return (__swapTargetVisibility); } public function set showAutoPlay(_arg1:Boolean):void{ __showAutoPlay = _arg1; this.invalidate(); setDrawTime(); } public function getFilterAt(_arg1:uint):IFlashEffFilter{ if (_arg1 < this.filterList.length){ return (this.filterList[_arg1]); }; return (null); } public function removeEffect(_arg1:Boolean=false, _arg2:IFlashEffSymbolText=null):void{ if (_arg2 == null){ _arg2 = this.lastTransitionPattern; }; if (_arg2 != null){ _arg2.remove(); }; if (this.partialPattern != null){ this.partialPattern.remove(); }; if (this.textTable != null){ this.textTable.removeChilds(); }; if (this.partialTable != null){ this.partialTable.removeChilds(); }; this.removeswapTxeff(); if (_arg1 == false){ if (_isTransitioning == true){ eventsDispatched = 0; maxEndEvents = 1; this.dispatchEvent(new TXEFF2Events(TXEFF2Events.TRANSITION_END)); }; }; if (this.isTargetVisibleAtEnd == true){ this.target.visible = true; }; this.maxEndEvents = 0; } public function transitionEffect(_arg1:String="show"):void{ var transt = _arg1; this.validate(); this.removeEffect(true); this.maxEndEvents = 1; this._currentTransitionType = transt; if (this.target != null){ if (this.targetOwner.getChildByName(this.target.name) != this.target){ this.target = this.target; }; try { eventsDispatched = 0; this.lastTransitionPattern = this[(transt + "Pattern")]; if (transt == "hide"){ if (this.useSwapInsteadHide == true){ if (this.forceHide == false){ if (this.swapTarget != null){ this._currentTransitionType = "swap"; switch (this.swapType){ case _slot1.SWAP_TYPE_HIDE: this.addSwapTxeff(0); break; case _slot1.SWAP_TYPE_SHOW: this.addSwapTxeff(this.numChildren); break; default: this.addSwapTxeff(0); break; }; this.swapTxeff.target = this.swapTarget; this.swapTxeff.showDelay = this.swapDelay; if (this.swapType != _slot1.SWAP_TYPE_HIDE){ if (this.swapPattern != null){ this.swapTxeff.showTransition = this.swapPattern; } else { this.swapTxeff.showTransition = (this.clonePattern(this.showPattern) as IFlashEffSymbolText); }; if (this.swapType == _slot1.SWAP_TYPE_SHOW){ this.target.visible = true; this.dispatchEvent(new TXEFF2Events(TXEFF2Events.TRANSITION_START)); return; } else { this.maxEndEvents = 2; }; } else { this.swapTarget.visible = true; }; } else { trace("TXEFF2 ERROR: The swapTarget property is null, a hide transition will be applied."); }; }; }; }; if (this.lastTransitionPattern != null){ if (this.target.parent != this.targetOwner){ this.target = this.target; }; this.target.visible = true; this.lastTransitionPattern.component = this; try { this.lastTransitionPattern["target"] = this.target; } catch(e:TypeError) { trace("TXEFF2 ERROR: Target must be a TextField object!"); return; }; _isTransitioning = true; var _local3 = this.lastTransitionPattern; _local3[transt](); } else { trace((("TxEff2 WARNING: The " + transt) + "Transition pattern is null. The transition will not be applied.")); }; } catch(e:ReferenceError) { throw (("TXEFF2 ERROR: " + e)); }; } else { trace("TxEff2 WARNING: Please set the target or _targetInstanceName property before applying an effect."); }; this.forceHide = false; } protected function linesSplit():Array{ var _local1:Array; var _local2:Array; var _local3:uint; var _local4:uint; var _local5:Number; var _local6:uint; var _local7:*; var _local8:String; var _local9:Boolean; var _local10:uint; var _local11:*; _local1 = []; _local2 = []; _local3 = this.textField.numLines; _local4 = 0; _local5 = 0; _local6 = 0; while (_local6 < _local3) { _local7 = this.textField.getCharBoundaries(_local4); _local8 = this.textField.getLineText(_local6); _local9 = false; if (_local7 == null){ _local9 = true; _local10 = _local8.length; if (_local10 > 0){ _local11 = 0; while (_local11 < _local10) { _local7 = this.textField.getCharBoundaries((_local4 + _local11)); if (_local7 != null){ _local9 = false; break; }; _local11++; }; }; }; if (_local9 == false){ _local2[(_local6 - _local5)] = {}; _local2[(_local6 - _local5)].id = _local4; _local2[(_local6 - _local5)].bounds = _local7; _local2[(_local6 - _local5)].lineId = _local6; _local2[(_local6 - _local5)].text = _local8; _local4 = (_local4 + String(_local2[(_local6 - _local5)].text).length); } else { _local5++; _local4 = (_local4 + _local8.length); }; _local6++; }; return (_local2); } public function set swapDelay(_arg1:Number):void{ this.__swapDelay = _arg1; } protected function resetArrays():void{ _absChars = []; _absWords = []; _absLines = []; _absMatrix = []; _absCustom = []; } protected function hideCaller(_arg1:TimerEvent):void{ this.hide(); } public function addCommand(_arg1:IFlashEffCommand, _arg2:String):IFlashEffCommand{ return (null); } public function get buttonEffect():IFlashEffButtonEffect{ return (this._buttonEffect); } protected function clonePattern(_arg1:Object):Object{ var _local2:XML; var _local3:XMLList; var _local4:String; var _local5:Class; var _local6:*; var _local7:Number; var _local8:*; var _local9:XML; var _local10:String; if (_arg1 != null){ _local2 = describeType(_arg1); _local3 = _local2.elements("accessor"); _local4 = String(_local2.@name); _local5 = (getDefinitionByName(_local4) as Class); _local6 = new (_local5); _local7 = _local3.length(); _local8 = 0; while (_local8 < _local7) { _local9 = _local3[_local8]; if (_local9.@declaredBy == _local4){ if (_local9.@access == "readwrite"){ _local10 = _local9.@name; _local6[_local10] = _arg1[_local10]; }; }; _local8++; }; return (_local6); }; return (null); } public function get swapType():String{ return (this.__swapType); } public function get swapTransition():IFlashEffSymbolText{ return (this.swapPattern); } public function addFilter(_arg1:IFlashEffFilter):void{ var _local2:DisplayObject; var _local3:Boolean; if (_arg1 != null){ _local2 = this.firstInDepth; this.firstInDepth = new Sprite(); this.firstLevelOwner.addChild(this.firstInDepth); this.firstInDepth.addChild(_local2); _arg1.component = this; _arg1.target = this.firstInDepth; this.filterAsoc[_arg1.target.name] = _local2; if (!this.isInvalid(InvalidationType.ALL)){ _local3 = this.target.visible; this.target.visible = true; _arg1.apply(); this.target.visible = _local3; }; this.filterList.push(_arg1); }; } public function get hideTransitionName():String{ return (this._hideTransitionName); } public function get targetVisibility():Boolean{ return (__targetVisibility); } public function get _targetInstanceName():String{ return (this.__targetInstanceName); } public function get useSwapInsteadHide():Boolean{ return (this._useSwapInsteadHide); } public function addCommandByName(_arg1:String, _arg2:String, _arg3:Object=null):IFlashEffCommand{ return (null); } public function get targetOwner():MovieClip{ return (this._targetOwner); } public function get showAutoPlay():Boolean{ return (__showAutoPlay); } public function set showTransitionName(_arg1:String):void{ var patternClass:Class; var arg = _arg1; if (arg != ""){ try { patternClass = (getDefinitionByName(arg) as Class); if (this.showPattern != null){ this.showPattern.remove(); }; this.showPattern = IFlashEffSymbolText(new patternClass(this)); } catch(e:ReferenceError) { throw ((("TXEFF2 ERROR: The pattern '" + arg) + "' is missing from library.")); }; this._showTransitionName = arg; }; } public function get swapDelay():Number{ return (this.__swapDelay); } public function set swapTargetInstanceName(_arg1:String):void{ var scope:DisplayObjectContainer; var paths:Array; var targName:String; var i:*; var newTarget:DisplayObject; var strPath:String; var existObj:Object; var arg = _arg1; if (arg != ""){ if ((this.parent is DisplayObject)){ scope = this.parent; paths = arg.split("."); targName = paths.pop(); try { i = 0; while (i < paths.length) { scope = (scope[paths[i]] as DisplayObjectContainer); i = (i + 1); }; } catch(e:Error) { trace("TXEFF2 ERROR: The swapTargetInstanceName path is invalid."); return; }; if (scope != null){ newTarget = scope.getChildByName(targName); if (newTarget == null){ strPath = this.getPath(scope); existObj = _slot1.targetPaths[((strPath + ".") + arg)]; if (existObj != null){ newTarget = existObj.target; }; }; this.swapTarget = newTarget; } else { trace("TXEFF2 ERROR: The swapTargetInstanceName path is invalid."); }; }; this.__swapTargetInstanceName = arg; } else { this.swapTarget = null; }; } public function get textField():TextField{ return (this._textField); } public function set drawAfterFilters(_arg1:Boolean):void{ if (_arg1 != this.drawAfterFilters){ if (_arg1 == true){ buttonTarget = this.afterDrawButtonTarget; afterDrawButtonTargetOwner.addChild(this.buttonOwner); } else { buttonTarget = this.beforeDrawButtonTarget; this.beforeDrawButtonTargetOwner.addChild(this.buttonOwner); }; if (this.buttonEffect != null){ this.buttonEffect.target = this.buttonTarget; }; }; this._drawAfterFilters = _arg1; } public function get swapTargetInstanceName():String{ return (this.__swapTargetInstanceName); } public function set swapTransitionName(_arg1:String):void{ var patternClass:Class; var arg = _arg1; if (arg != ""){ try { patternClass = (getDefinitionByName(arg) as Class); if (this.swapPattern != null){ this.swapPattern.remove(); }; this.swapPattern = new patternClass(this); } catch(e:ReferenceError) { throw ((("TXEFF2 ERROR: The pattern '" + arg) + "' is missing from library.")); }; this._swapTransitionName = arg; }; } public function set partialPatternName(_arg1:String):void{ var patternReference:Class; var arg = _arg1; if (arg != ""){ try { patternReference = (getDefinitionByName(arg) as Class); } catch(e:ReferenceError) { throw ((("TXEFF2 ERROR: The Pattern:" + arg) + " is missing from library.")); }; }; if (patternReference != null){ this.partialPattern = new patternReference(this); this.partialPattern.target = this._partialTextOwnerClip; }; __partialPattern = arg; } eventTypeAsoc["rollOver"] = "ROLL_OVER"; eventTypeAsoc["rollOut"] = "ROLL_OUT"; eventTypeAsoc["press"] = "MOUSE_DOWN"; eventTypeAsoc["release"] = "MOUSE_UP"; eventTypeAsoc["doubleClick"] = "DOUBLE_CLICK"; } }//package

Library Items

Symbol 1 Sound {bell1}
Symbol 2 Sound {StoneHit}
Symbol 3 Sound {menu_music}
Symbol 4 Sound {endBells}
Symbol 5 Sound {clickS}
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:6Used by:32
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:32 131
Symbol 10 FontUsed by:11 14 16 18 26 71 91 93 96 97 100 101 103 104 107 108 110 111 114 125 126 127 128 150 171 173
Symbol 11 EditableTextUses:10Used by:32
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:15 17 19 27
Symbol 14 TextUses:10Used by:15
Symbol 15 MovieClip {jt2_fla.btnREtry_64}Uses:13 14Used by:32
Symbol 16 TextUses:10Used by:17
Symbol 17 MovieClip {jt2_fla.btnREtrycopy_66}Uses:13 16Used by:32
Symbol 18 TextUses:10Used by:19
Symbol 19 MovieClip {jt2_fla.btnREtrycopy2_67}Uses:13 18Used by:32
Symbol 20 GraphicUsed by:25 89
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:25 89
Symbol 23 FontUsed by:24 87 88
Symbol 24 TextUses:23Used by:25
Symbol 25 MovieClip {jt2_fla.btnHowtocopy_47}Uses:20 22 24Used by:32 184
Symbol 26 TextUses:10Used by:27
Symbol 27 MovieClip {jt2_fla.SubmitMc_68}Uses:13 26Used by:32
Symbol 28 GraphicUsed by:31
Symbol 29 BitmapUsed by:30 116
Symbol 30 GraphicUses:29Used by:31
Symbol 31 MovieClip {jt2_fla.adBox_4}Uses:28 30Used by:32  Timeline
Symbol 32 MovieClip {mc_konec}Uses:7 9 11 15 17 19 25 27 31Used by:Timeline
Symbol 33 GraphicUsed by:34
Symbol 34 MovieClipUses:33Used by:43 98 109 170
Symbol 35 GraphicUsed by:36
Symbol 36 MovieClipUses:35Used by:43 102 112 170
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:43 94 105 109 112 170
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClipUses:39Used by:43 94 98 105 109 170
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:43 94 102 105 112 170
Symbol 43 MovieClip {BoxHead}Uses:34 36 38 40 42Used by:143 184  Timeline
Symbol 44 GraphicUsed by:47
Symbol 45 FontUsed by:46 55 57 58
Symbol 46 EditableTextUses:45Used by:47
Symbol 47 MovieClipUses:44 46Used by:48 49 53
Symbol 48 MovieClip {com.jumpeye.flashEff.text.glow.FETGlow}Uses:47
Symbol 49 MovieClip {com.jumpeye.flashEff.symbol.desertIllusion.FESDesertIllusion}Uses:47
Symbol 50 GraphicUsed by:51
Symbol 51 MovieClipUses:50Used by:52
Symbol 52 MovieClip {star}Uses:51Used by:53
Symbol 53 MovieClip {com.jumpeye.flashEff.filter.adjustColor.FEFAdjustColor}Uses:47 52Used by:208
Symbol 54 GraphicUsed by:56 61
Symbol 55 EditableTextUses:45Used by:56
Symbol 56 MovieClipUses:54 55Used by:61
Symbol 57 EditableTextUses:45Used by:61
Symbol 58 EditableTextUses:45Used by:61
Symbol 59 FontUsed by:60
Symbol 60 EditableTextUses:59Used by:61
Symbol 61 MovieClip {TxEff2}Uses:56 54 57 58 60Used by:208
Symbol 62 BitmapUsed by:63 78
Symbol 63 GraphicUses:62Used by:Timeline
Symbol 64 FontUsed by:65 66 67 80 81 127
Symbol 65 TextUses:64Used by:68
Symbol 66 TextUses:64Used by:68
Symbol 67 TextUses:64Used by:68 82
Symbol 68 MovieClipUses:65 66 67Used by:Timeline
Symbol 69 GraphicUsed by:Timeline
Symbol 70 GraphicUsed by:72
Symbol 71 TextUses:10Used by:72
Symbol 72 MovieClipUses:70 71Used by:Timeline
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:Timeline
Symbol 75 GraphicUsed by:76 143 194 209
Symbol 76 MovieClipUses:75Used by:Timeline
Symbol 77 GraphicUsed by:143
Symbol 78 GraphicUses:62Used by:79 191
Symbol 79 MovieClipUses:78Used by:143
Symbol 80 TextUses:64Used by:82
Symbol 81 TextUses:64Used by:82
Symbol 82 MovieClipUses:80 81 67Used by:143
Symbol 83 GraphicUsed by:84
Symbol 84 MovieClipUses:83Used by:85 187 188 189 190
Symbol 85 MovieClip {cast1}Uses:84Used by:86  Timeline
Symbol 86 MovieClipUses:85Used by:143
Symbol 87 TextUses:23Used by:89
Symbol 88 TextUses:23Used by:89
Symbol 89 MovieClip {jt2_fla.btnHowto_18}Uses:20 22 87 88Used by:143
Symbol 90 GraphicUsed by:94 105
Symbol 91 TextUses:10Used by:94
Symbol 92 GraphicUsed by:94 102 105 112
Symbol 93 TextUses:10Used by:94
Symbol 94 MovieClip {jt2_fla.btnStart_20}Uses:90 40 38 42 91 92 93Used by:143
Symbol 95 GraphicUsed by:98
Symbol 96 TextUses:10Used by:98
Symbol 97 TextUses:10Used by:98
Symbol 98 MovieClip {jt2_fla.btnCredits_21}Uses:95 34 40 96 97Used by:143
Symbol 99 GraphicUsed by:102 112
Symbol 100 TextUses:10Used by:102
Symbol 101 TextUses:10Used by:102
Symbol 102 MovieClip {jt2_fla.btnMore_22}Uses:99 100 36 42 92 101Used by:143
Symbol 103 TextUses:10Used by:105
Symbol 104 TextUses:10Used by:105
Symbol 105 MovieClip {jt2_fla.btnStartcopy_23}Uses:90 40 38 42 103 92 104Used by:143
Symbol 106 GraphicUsed by:109
Symbol 107 TextUses:10Used by:109
Symbol 108 TextUses:10Used by:109
Symbol 109 MovieClip {jt2_fla.btnCreditscopy_24}Uses:106 34 40 38 107 108Used by:143
Symbol 110 TextUses:10Used by:112
Symbol 111 TextUses:10Used by:112
Symbol 112 MovieClip {jt2_fla.btnBaby_25}Uses:99 110 36 42 38 92 111Used by:143
Symbol 113 GraphicUsed by:115 185
Symbol 114 TextUses:10Used by:115
Symbol 115 MovieClip {jt2_fla.Symbol45_26}Uses:113 114Used by:143
Symbol 116 GraphicUses:29Used by:117
Symbol 117 MovieClipUses:116Used by:143
Symbol 118 GraphicUsed by:131
Symbol 119 GraphicUsed by:122
Symbol 120 GraphicUsed by:122
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClip {jt2_fla.btnBack_30}Uses:119 120 121Used by:131
Symbol 123 FontUsed by:124 135 146 147
Symbol 124 TextUses:123Used by:131
Symbol 125 TextUses:10Used by:131
Symbol 126 TextUses:10Used by:131
Symbol 127 EditableTextUses:10 64Used by:131
Symbol 128 TextUses:10Used by:131
Symbol 129 GraphicUsed by:130
Symbol 130 MovieClipUses:129Used by:131
Symbol 131 MovieClip {jt2_fla.extra_28}Uses:118 9 122 124 125 126 127 128 130Used by:143
Symbol 132 FontUsed by:133 134
Symbol 133 EditableTextUses:132Used by:143
Symbol 134 EditableTextUses:132Used by:143
Symbol 135 TextUses:123Used by:142
Symbol 136 ShapeTweeningUsed by:138
Symbol 137 GraphicUsed by:138 141
Symbol 138 MovieClip {jt2_fla.Symbol55_33}Uses:136 137Used by:142
Symbol 139 GraphicUsed by:142
Symbol 140 ShapeTweeningUsed by:141
Symbol 141 MovieClip {jt2_fla.Symbol38_34}Uses:140 137Used by:142
Symbol 142 MovieClip {jt2_fla.efekt_32}Uses:135 138 139 141Used by:143
Symbol 143 MovieClip {Menu}Uses:77 79 82 43 86 89 94 98 102 105 109 112 115 117 131 75 133 134 142Used by:Timeline
Symbol 144 GraphicUsed by:145
Symbol 145 MovieClip {black}Uses:144Used by:Timeline
Symbol 146 TextUses:123Used by:149
Symbol 147 TextUses:123Used by:148
Symbol 148 MovieClipUses:147Used by:149
Symbol 149 MovieClip {jt2_fla.hard_37}Uses:146 148Used by:184
Symbol 150 EditableTextUses:10Used by:151
Symbol 151 MovieClip {jt2_fla.mcScore_39}Uses:150Used by:184
Symbol 152 GraphicUsed by:157 161 166
Symbol 153 GraphicUsed by:157
Symbol 154 GraphicUsed by:155
Symbol 155 MovieClipUses:154Used by:157
Symbol 156 GraphicUsed by:157 161 166
Symbol 157 MovieClip {jt2_fla.sml_generic_btn_audio_41}Uses:152 153 155 156Used by:158
Symbol 158 MovieClip {jt2_fla.btnMute_40}Uses:157Used by:184
Symbol 159 GraphicUsed by:161
Symbol 160 GraphicUsed by:161
Symbol 161 MovieClip {jt2_fla.sml_generic_btn_44}Uses:152 159 160 156Used by:162
Symbol 162 MovieClip {jt2_fla.btnExit_43}Uses:161Used by:184
Symbol 163 GraphicUsed by:166
Symbol 164 FontUsed by:165
Symbol 165 TextUses:164Used by:166
Symbol 166 MovieClip {jt2_fla.sml_generic_btncopy_46}Uses:152 163 165 156Used by:167
Symbol 167 MovieClip {jt2_fla.rest_45}Uses:166Used by:184
Symbol 168 GraphicUsed by:169
Symbol 169 MovieClipUses:168Used by:177
Symbol 170 MovieClip {jt2_fla.BoxHeadcopy_50}Uses:34 36 38 40 42Used by:177
Symbol 171 TextUses:10Used by:172
Symbol 172 MovieClipUses:171Used by:177
Symbol 173 EditableTextUses:10Used by:177
Symbol 174 FontUsed by:175 176
Symbol 175 TextUses:174Used by:177
Symbol 176 TextUses:174Used by:177
Symbol 177 MovieClip {jt2_fla.Symbol49_48}Uses:169 170 172 173 175 176Used by:184
Symbol 178 GraphicUsed by:180
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClip {jt2_fla.Symbol53_53}Uses:178 179Used by:181
Symbol 181 MovieClip {jt2_fla.Symbol52_52}Uses:180Used by:184
Symbol 182 GraphicUsed by:183
Symbol 183 MovieClipUses:182Used by:184
Symbol 184 MovieClip {Class1}Uses:149 151 158 162 167 43 25 177 181 183Used by:Timeline
Symbol 185 MovieClipUses:113Used by:186
Symbol 186 MovieClip {PhysBox}Uses:185Used by:Timeline
Symbol 187 MovieClip {cast2}Uses:84Used by:Timeline
Symbol 188 MovieClip {cast3}Uses:84Used by:Timeline
Symbol 189 MovieClip {cast5}Uses:84Used by:Timeline
Symbol 190 MovieClip {cast6}Uses:84Used by:Timeline
Symbol 191 MovieClip {mcStars}Uses:78Used by:Timeline
Symbol 192 Sound {bc_music}Used by:Timeline
Symbol 193 Sound {jungleSound}Used by:Timeline
Symbol 194 MovieClipUses:75Used by:209
Symbol 195 FontUsed by:196
Symbol 196 TextUses:195Used by:208
Symbol 197 BitmapUsed by:198
Symbol 198 GraphicUses:197Used by:199
Symbol 199 MovieClipUses:198Used by:208
Symbol 200 SoundUsed by:208
Symbol 201 VideoUsed by:203
Symbol 202 VideoUsed by:203
Symbol 203 MovieClip {jt2_fla.TheGlaser_73}Uses:201 202 SS1Used by:208
Symbol 204 SoundUsed by:208
Symbol 205 FontUsed by:206
Symbol 206 EditableTextUses:205Used by:208
Symbol 207 SoundUsed by:208
Symbol 208 MovieClip {jt2_fla.Prrr_71}Uses:196 199 200 203 204 206 61 53 207Used by:209
Symbol 209 MovieClip {jt2_fla.ccc_69}Uses:75 194 208Used by:Timeline
Streaming Sound 1Used by:Symbol 203 MovieClip {jt2_fla.TheGlaser_73}

Instance Names

"btnSt"Frame 1Symbol 72 MovieClip
"preloader1"Frame 1Symbol 74 MovieClip
"adBox"Frame 1Symbol 31 MovieClip {jt2_fla.adBox_4}
"m"Frame 1Symbol 76 MovieClip
"ccc"Frame 4Symbol 209 MovieClip {jt2_fla.ccc_69}
"score"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 11 EditableText
"btnRestart"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 15 MovieClip {jt2_fla.btnREtry_64}
"btnRestart2"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 17 MovieClip {jt2_fla.btnREtrycopy_66}
"btnRestart3"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 19 MovieClip {jt2_fla.btnREtrycopy2_67}
"btnMore"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 25 MovieClip {jt2_fla.btnHowtocopy_47}
"btnSubmit"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 27 MovieClip {jt2_fla.SubmitMc_68}
"adBox"Symbol 32 MovieClip {mc_konec} Frame 1Symbol 31 MovieClip {jt2_fla.adBox_4}
"btnBack"Symbol 131 MovieClip {jt2_fla.extra_28} Frame 2Symbol 122 MovieClip {jt2_fla.btnBack_30}
"link"Symbol 131 MovieClip {jt2_fla.extra_28} Frame 3Symbol 130 MovieClip
"jungle"Symbol 143 MovieClip {Menu} Frame 1Symbol 79 MovieClip
"btnHow"Symbol 143 MovieClip {Menu} Frame 1Symbol 89 MovieClip {jt2_fla.btnHowto_18}
"btnStart"Symbol 143 MovieClip {Menu} Frame 1Symbol 94 MovieClip {jt2_fla.btnStart_20}
"btnCredits"Symbol 143 MovieClip {Menu} Frame 1Symbol 98 MovieClip {jt2_fla.btnCredits_21}
"btnMore"Symbol 143 MovieClip {Menu} Frame 1Symbol 102 MovieClip {jt2_fla.btnMore_22}
"btnHard"Symbol 143 MovieClip {Menu} Frame 1Symbol 105 MovieClip {jt2_fla.btnStartcopy_23}
"btnMedium"Symbol 143 MovieClip {Menu} Frame 1Symbol 109 MovieClip {jt2_fla.btnCreditscopy_24}
"btnEasy"Symbol 143 MovieClip {Menu} Frame 1Symbol 112 MovieClip {jt2_fla.btnBaby_25}
"diff"Symbol 143 MovieClip {Menu} Frame 1Symbol 115 MovieClip {jt2_fla.Symbol45_26}
"logo"Symbol 143 MovieClip {Menu} Frame 1Symbol 117 MovieClip
"extra"Symbol 143 MovieClip {Menu} Frame 1Symbol 131 MovieClip {jt2_fla.extra_28}
"efekt"Symbol 143 MovieClip {Menu} Frame 1Symbol 142 MovieClip {jt2_fla.efekt_32}
"score"Symbol 151 MovieClip {jt2_fla.mcScore_39} Frame 1Symbol 150 EditableText
"close"Symbol 158 MovieClip {jt2_fla.btnMute_40} Frame 1Symbol 157 MovieClip {jt2_fla.sml_generic_btn_audio_41}
"close"Symbol 162 MovieClip {jt2_fla.btnExit_43} Frame 1Symbol 161 MovieClip {jt2_fla.sml_generic_btn_44}
"close"Symbol 167 MovieClip {jt2_fla.rest_45} Frame 1Symbol 166 MovieClip {jt2_fla.sml_generic_btncopy_46}
"mcNext"Symbol 177 MovieClip {jt2_fla.Symbol49_48} Frame 1Symbol 170 MovieClip {jt2_fla.BoxHeadcopy_50}
"help"Symbol 177 MovieClip {jt2_fla.Symbol49_48} Frame 1Symbol 172 MovieClip
"tf_score"Symbol 177 MovieClip {jt2_fla.Symbol49_48} Frame 1Symbol 173 EditableText
"left"Symbol 181 MovieClip {jt2_fla.Symbol52_52} Frame 1Symbol 180 MovieClip {jt2_fla.Symbol53_53}
"right"Symbol 181 MovieClip {jt2_fla.Symbol52_52} Frame 1Symbol 180 MovieClip {jt2_fla.Symbol53_53}
"hard"Symbol 184 MovieClip {Class1} Frame 1Symbol 149 MovieClip {jt2_fla.hard_37}
"mcScore"Symbol 184 MovieClip {Class1} Frame 1Symbol 151 MovieClip {jt2_fla.mcScore_39}
"btnMute"Symbol 184 MovieClip {Class1} Frame 1Symbol 158 MovieClip {jt2_fla.btnMute_40}
"btnExit"Symbol 184 MovieClip {Class1} Frame 1Symbol 162 MovieClip {jt2_fla.btnExit_43}
"btnRest"Symbol 184 MovieClip {Class1} Frame 1Symbol 167 MovieClip {jt2_fla.rest_45}
"sablona"Symbol 184 MovieClip {Class1} Frame 1Symbol 43 MovieClip {BoxHead}
"btnMore"Symbol 184 MovieClip {Class1} Frame 1Symbol 25 MovieClip {jt2_fla.btnHowtocopy_47}
"mcNext"Symbol 184 MovieClip {Class1} Frame 1Symbol 177 MovieClip {jt2_fla.Symbol49_48}
"sipka"Symbol 184 MovieClip {Class1} Frame 1Symbol 181 MovieClip {jt2_fla.Symbol52_52}
"end"Symbol 184 MovieClip {Class1} Frame 1Symbol 183 MovieClip
"myTextObject"Symbol 208 MovieClip {jt2_fla.Prrr_71} Frame 45Symbol 206 EditableText
"__id0_"Symbol 208 MovieClip {jt2_fla.Prrr_71} Frame 45Symbol 61 MovieClip {TxEff2}

Special Tags

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

Labels

"off"Symbol 15 MovieClip {jt2_fla.btnREtry_64} Frame 1
"over"Symbol 15 MovieClip {jt2_fla.btnREtry_64} Frame 2
"off"Symbol 17 MovieClip {jt2_fla.btnREtrycopy_66} Frame 1
"over"Symbol 17 MovieClip {jt2_fla.btnREtrycopy_66} Frame 2
"off"Symbol 19 MovieClip {jt2_fla.btnREtrycopy2_67} Frame 1
"over"Symbol 19 MovieClip {jt2_fla.btnREtrycopy2_67} Frame 2
"up"Symbol 25 MovieClip {jt2_fla.btnHowtocopy_47} Frame 1
"over"Symbol 25 MovieClip {jt2_fla.btnHowtocopy_47} Frame 2
"off"Symbol 27 MovieClip {jt2_fla.SubmitMc_68} Frame 1
"over"Symbol 27 MovieClip {jt2_fla.SubmitMc_68} Frame 2
"up"Symbol 89 MovieClip {jt2_fla.btnHowto_18} Frame 1
"over"Symbol 89 MovieClip {jt2_fla.btnHowto_18} Frame 2
"up"Symbol 94 MovieClip {jt2_fla.btnStart_20} Frame 1
"over"Symbol 94 MovieClip {jt2_fla.btnStart_20} Frame 2
"up"Symbol 98 MovieClip {jt2_fla.btnCredits_21} Frame 1
"over"Symbol 98 MovieClip {jt2_fla.btnCredits_21} Frame 2
"up"Symbol 102 MovieClip {jt2_fla.btnMore_22} Frame 1
"over"Symbol 102 MovieClip {jt2_fla.btnMore_22} Frame 2
"up"Symbol 105 MovieClip {jt2_fla.btnStartcopy_23} Frame 1
"over"Symbol 105 MovieClip {jt2_fla.btnStartcopy_23} Frame 2
"up"Symbol 109 MovieClip {jt2_fla.btnCreditscopy_24} Frame 1
"over"Symbol 109 MovieClip {jt2_fla.btnCreditscopy_24} Frame 2
"up"Symbol 112 MovieClip {jt2_fla.btnBaby_25} Frame 1
"over"Symbol 112 MovieClip {jt2_fla.btnBaby_25} Frame 2
"up"Symbol 122 MovieClip {jt2_fla.btnBack_30} Frame 1
"over"Symbol 122 MovieClip {jt2_fla.btnBack_30} Frame 2
"btnHow"Symbol 131 MovieClip {jt2_fla.extra_28} Frame 2
"btnCredits"Symbol 131 MovieClip {jt2_fla.extra_28} Frame 3
"over"Symbol 131 MovieClip {jt2_fla.extra_28} Frame 4
"level1"Symbol 191 MovieClip {mcStars} Frame 1
"Used SHOW pattern is FETGlow (text pattern, works only on texts, prefix FET) & HIDE pattern is FESDesertIllusion (symbol pattern, works also on texts, prefix FES)"Symbol 208 MovieClip {jt2_fla.Prrr_71} Frame 45
"myTextObject"Symbol 208 MovieClip {jt2_fla.Prrr_71} Frame 45
"to loop, make sure you remove the FlashEff object first"Symbol 208 MovieClip {jt2_fla.Prrr_71} Frame 359




http://swfchan.com/22/109673/info.shtml
Created: 14/3 -2019 05:59:32 Last modified: 14/3 -2019 05:59:32 Server time: 16/05 -2024 13:19:57