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

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

Go Home Ball 2 - combine logic and skil in this flash game.swf

This is the info page for
Flash #90790

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


Text
Loading

<p align="center"><font face="Lithos Pro Regular" size="18" color="#523927" letterSpacing="0.000000" kerning="1"><b>100%</b></font></p>

Play

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

Play Game

Play Game

Hi-Scores

Hi-Scores

More Games

More Games

Credits

Credits

Host Game

Host Game

Game Complete

Main Menu

Main Menu

<p align="center"><font face="Lithos Pro Regular" size="18" color="#523927" letterSpacing="0.000000" kerning="1"><b>Total Score : 1568</b></font></p>

Submit Score

Submit Score

Main Menu

Main Menu

20

<p align="center"><font face="Lithos Pro Regular" size="15" color="#affb6a" letterSpacing="0.000000" kerning="1"><b>1055</b></font></p>

<p align="center"><font face="Lithos Pro Regular" size="15" color="#affb6a" letterSpacing="0.000000" kerning="1"><b>4/6</b></font></p>

<p align="center"><font face="Lithos Pro Regular" size="15" color="#affb6a" letterSpacing="0.000000" kerning="1"><b>1:39</b></font></p>

<p align="center"><font face="Lithos Pro Regular" size="22" color="#affb6a" letterSpacing="0.000000" kerning="1"><b>Level 1</b></font></p>

Resume Game

Resume Game

Restart Level

Restart Level

Select Level

Select Level

Walkthrough

Walkthrough

Level Complete

<p align="center"><font face="Lithos Pro Regular" size="16" color="#523927" letterSpacing="0.000000" kerning="1"><b>Level score : 220</b></font></p>

Next Level

Next Level

Select Level

Select Level

Select Level

<p align="center"><font face="Lithos Pro Regular" size="18" color="#523927" letterSpacing="0.000000" kerning="1"><b>Level 21</b></font></p>

<p align="center"><font face="Lithos Pro Regular" size="15" color="#523927" letterSpacing="0.000000" kerning="1"><b>Best score: 112</b></font></p>

<p align="center"><font face="Lithos Pro Regular" size="17" color="#523927" letterSpacing="0.000000" kerning="1"><b>Total Score: 5810</b></font></p>

Erase Scores

Erase Scores

Easy

Medium

Tricky

Hard

Developed by Sigma Studio

<p align="center"><font face="Lithos Pro Regular" size="15" color="#523927" letterSpacing="0.000000" kerning="1"><a href="mailto:crashy512@gmail.com"><b>crashy512@gmail.com</b></a></font></p>

Sound

www.sound-snap.com

Contact Us

Box2D

Physics Engine

Olga Bogdanova

Level Design

Max Dereviagin

Programming / Music

Julia Butova

Graphics

Start

Start

Press 'Spacebar'

Sorry

<p align="center"><font face="Lithos Pro Regular" size="12" color="#523927" letterSpacing="0.000000" kerning="1"><b>You must to collect all the stars</b></font></p>

Try Again

Try Again

Walkthrough

Walkthrough

More games

More games

Start

Start

Press 'Spacebar'

How to play?

You can combine
different tools.
Use interface buttons
or hotkeys (1,2,3) to
change tool.

ActionScript [AS3]

Section 1
//BasketFront_24 (Art_fla.BasketFront_24) package Art_fla { import flash.display.*; public dynamic class BasketFront_24 extends MovieClip { public function BasketFront_24(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Art_fla
Section 2
//HandSprite_35 (Art_fla.HandSprite_35) package Art_fla { import flash.display.*; public dynamic class HandSprite_35 extends MovieClip { public function HandSprite_35(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Art_fla
Section 3
//MainTimeline (Art_fla.MainTimeline) package Art_fla { import flash.display.*; public dynamic class MainTimeline extends MovieClip { public var start2:Starter_L; public var starter:Starter_R; public function MainTimeline(){ addFrameScript(0, frame1, 9, frame10, 18, frame19, 27, frame28, 36, frame37); } function frame10(){ stop(); } function frame1(){ stop(); } function frame19(){ stop(); } function frame37(){ stop(); } function frame28(){ stop(); } } }//package Art_fla
Section 4
//Numbers_63 (Art_fla.Numbers_63) package Art_fla { import flash.display.*; public dynamic class Numbers_63 extends MovieClip { public function Numbers_63(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Art_fla
Section 5
//Starter_Sprite_L_65 (Art_fla.Starter_Sprite_L_65) package Art_fla { import flash.display.*; public dynamic class Starter_Sprite_L_65 extends MovieClip { public var num:MovieClip; public function Starter_Sprite_L_65(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Art_fla
Section 6
//Starter_Sprite_R_62 (Art_fla.Starter_Sprite_R_62) package Art_fla { import flash.display.*; public dynamic class Starter_Sprite_R_62 extends MovieClip { public var num:MovieClip; public function Starter_Sprite_R_62(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Art_fla
Section 7
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function decode(_arg1:String){ var _local2:JSONDecoder = new JSONDecoder(_arg1); return (_local2.getValue()); } public static function encode(_arg1:Object):String{ var _local2:JSONEncoder = new JSONEncoder(_arg1); return (_local2.getString()); } } }//package com.adobe.serialization.json
Section 8
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ tokenizer = new JSONTokenizer(_arg1); nextToken(); value = parseValue(); } private function parseObject():Object{ var _local2:String; var _local1:Object = new Object(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (token.type == JSONTokenType.STRING){ _local2 = String(token.value); nextToken(); if (token.type == JSONTokenType.COLON){ nextToken(); _local1[_local2] = parseValue(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting } or , but found " + token.value)); }; } else { tokenizer.parseError(("Expecting : but found " + token.value)); }; } else { tokenizer.parseError(("Expecting string but found " + token.value)); }; }; return (null); } private function parseValue():Object{ if (token == null){ tokenizer.parseError("Unexpected end of input"); }; switch (token.type){ case JSONTokenType.LEFT_BRACE: return (parseObject()); case JSONTokenType.LEFT_BRACKET: return (parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (token.value); default: tokenizer.parseError(("Unexpected " + token.value)); }; return (null); } private function nextToken():JSONToken{ return ((token = tokenizer.getNextToken())); } public function getValue(){ return (value); } private function parseArray():Array{ var _local1:Array = new Array(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(parseValue()); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting ] or , but found " + token.value)); }; }; return (null); } } }//package com.adobe.serialization.json
Section 9
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ jsonString = convertToString(_arg1); } private function escapeString(_arg1:String):String{ var _local3:String; var _local6:String; var _local7:String; var _local2 = ""; var _local4:Number = _arg1.length; var _local5:int; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function arrayToString(_arg1:Array):String{ var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } public function getString():String{ return (jsonString); } private function objectToString(_arg1:Object):String{ var value:Object; var key:String; var v:XML; var o = _arg1; var s = ""; var classInfo:XML = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(key) + ":") + convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (objectToString(_arg1)); }; }; }; return ("null"); } } }//package com.adobe.serialization.json
Section 10
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _location:int; private var _text:String; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; _location = _arg2; _text = _arg3; } public function get location():int{ return (_location); } public function get text():String{ return (_text); } } }//package com.adobe.serialization.json
Section 11
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _value:Object; private var _type:int; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ _type = _arg1; _value = _arg2; } public function get value():Object{ return (_value); } public function get type():int{ return (_type); } public function set type(_arg1:int):void{ _type = _arg1; } public function set value(_arg1:Object):void{ _value = _arg1; } } }//package com.adobe.serialization.json
Section 12
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var loc:int; private var ch:String; private var obj:Object; private var jsonString:String; public function JSONTokenizer(_arg1:String){ jsonString = _arg1; loc = 0; nextChar(); } private function skipComments():void{ if (ch == "/"){ nextChar(); switch (ch){ case "/": do { nextChar(); } while (((!((ch == "\n"))) && (!((ch == ""))))); nextChar(); break; case "*": nextChar(); while (true) { if (ch == "*"){ nextChar(); if (ch == "/"){ nextChar(); break; }; } else { nextChar(); }; if (ch == ""){ parseError("Multi-line comment not closed"); }; }; break; default: parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )")); }; }; } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function readString():JSONToken{ var _local3:String; var _local4:int; var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.STRING; var _local2 = ""; nextChar(); while (((!((ch == "\""))) && (!((ch == ""))))) { if (ch == "\\"){ nextChar(); switch (ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!isHexDigit(nextChar())){ parseError((" Excepted a hex digit, but found: " + ch)); }; _local3 = (_local3 + ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + ch)); }; } else { _local2 = (_local2 + ch); }; nextChar(); }; if (ch == ""){ parseError("Unterminated string literal"); }; nextChar(); _local1.value = _local2; return (_local1); } private function nextChar():String{ return ((ch = jsonString.charAt(loc++))); } public function getNextToken():JSONToken{ var _local2:String; var _local3:String; var _local4:String; var _local1:JSONToken = new JSONToken(); skipIgnored(); switch (ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; nextChar(); break; case "t": _local2 = ((("t" + nextChar()) + nextChar()) + nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; nextChar(); } else { parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; nextChar(); } else { parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + nextChar()) + nextChar()) + nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; nextChar(); } else { parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = readString(); break; default: if (((isDigit(ch)) || ((ch == "-")))){ _local1 = readNumber(); } else { if (ch == ""){ return (null); }; parseError((("Unexpected " + ch) + " encountered")); }; }; return (_local1); } private function skipWhite():void{ while (isWhiteSpace(ch)) { nextChar(); }; } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, loc, jsonString)); } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } private function skipIgnored():void{ var _local1:int; do { _local1 = loc; skipWhite(); skipComments(); } while (_local1 != loc); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String = _arg1.toUpperCase(); return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } private function readNumber():JSONToken{ var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.NUMBER; var _local2 = ""; if (ch == "-"){ _local2 = (_local2 + "-"); nextChar(); }; if (!isDigit(ch)){ parseError("Expecting a digit"); }; if (ch == "0"){ _local2 = (_local2 + ch); nextChar(); if (isDigit(ch)){ parseError("A digit cannot immediately follow 0"); }; } else { while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if (ch == "."){ _local2 = (_local2 + "."); nextChar(); if (!isDigit(ch)){ parseError("Expecting a digit"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if ((((ch == "e")) || ((ch == "E")))){ _local2 = (_local2 + "e"); nextChar(); if ((((ch == "+")) || ((ch == "-")))){ _local2 = (_local2 + ch); nextChar(); }; if (!isDigit(ch)){ parseError("Scientific notation number needs exponent value"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; var _local3:Number = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; parseError((("Number " + _local3) + " is not valid!")); return (null); } } }//package com.adobe.serialization.json
Section 13
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const NUMBER:int = 11; public static const FALSE:int = 8; public static const RIGHT_BRACKET:int = 4; public static const NULL:int = 9; public static const TRUE:int = 7; public static const RIGHT_BRACE:int = 2; public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACKET:int = 3; public static const STRING:int = 10; public static const LEFT_BRACE:int = 1; public static const COLON:int = 6; } }//package com.adobe.serialization.json
Section 14
//Base64 (com.midasplayer.extras.Base64) package com.midasplayer.extras { import flash.utils.*; public class Base64 { public static const version:String = "1.1.0"; private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; public function Base64(){ throw (new Error("Base64 class is static container only")); } public static function encode(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (encodeByteArray(_local2)); } public static function encodeByteArray(_arg1:ByteArray):String{ var _local3:Array; var _local5:uint; var _local6:uint; var _local7:uint; var _local2 = ""; var _local4:Array = new Array(4); _arg1.position = 0; while (_arg1.bytesAvailable > 0) { _local3 = new Array(); _local5 = 0; while ((((_local5 < 3)) && ((_arg1.bytesAvailable > 0)))) { _local3[_local5] = _arg1.readUnsignedByte(); _local5++; }; _local4[0] = ((_local3[0] & 252) >> 2); _local4[1] = (((_local3[0] & 3) << 4) | (_local3[1] >> 4)); _local4[2] = (((_local3[1] & 15) << 2) | (_local3[2] >> 6)); _local4[3] = (_local3[2] & 63); _local6 = _local3.length; while (_local6 < 3) { _local4[(_local6 + 1)] = 64; _local6++; }; _local7 = 0; while (_local7 < _local4.length) { _local2 = (_local2 + BASE64_CHARS.charAt(_local4[_local7])); _local7++; }; }; return (_local2); } public static function decode(_arg1:String):String{ var _local2:ByteArray = decodeToByteArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function decodeToByteArray(_arg1:String):ByteArray{ var _local6:uint; var _local7:uint; var _local2:ByteArray = new ByteArray(); var _local3:Array = new Array(4); var _local4:Array = new Array(3); var _local5:uint; while (_local5 < _arg1.length) { _local6 = 0; while ((((_local6 < 4)) && (((_local5 + _local6) < _arg1.length)))) { _local3[_local6] = BASE64_CHARS.indexOf(_arg1.charAt((_local5 + _local6))); _local6++; }; _local4[0] = ((_local3[0] << 2) + ((_local3[1] & 48) >> 4)); _local4[1] = (((_local3[1] & 15) << 4) + ((_local3[2] & 60) >> 2)); _local4[2] = (((_local3[2] & 3) << 6) + _local3[3]); _local7 = 0; while (_local7 < _local4.length) { if (_local3[(_local7 + 1)] == 64){ break; }; _local2.writeByte(_local4[_local7]); _local7++; }; _local5 = (_local5 + 4); }; _local2.position = 0; return (_local2); } } }//package com.midasplayer.extras
Section 15
//FunflowSerializer (com.midasplayer.extras.FunflowSerializer) package com.midasplayer.extras { import flash.net.*; import flash.utils.*; public class FunflowSerializer { public static function amfEncode(_arg1:Object):String{ var _local2:ByteArray = new ByteArray(); _local2.writeObject(_arg1); return (Base64.encodeByteArray(_local2)); } public static function objectToFlashURLVariables(_arg1:Object):URLVariables{ var _local3:String; var _local2:URLVariables = new URLVariables(); if (_arg1 != null){ for (_local3 in _arg1) { if (_local3 != null){ if ((_arg1[_local3] is Array)){ _local2[("fv_" + _local3)] = _arg1[_local3]; } else { _local2[("fv_" + _local3)] = _arg1[_local3].toString(); }; }; }; }; return (_local2); } public static function amfDecode(_arg1:String):Object{ var _local2:ByteArray = Base64.decodeToByteArray(_arg1); return (_local2.readObject()); } } }//package com.midasplayer.extras
Section 16
//md5 (com.midasplayer.extras.md5) package com.midasplayer.extras { public class md5 { public static const HEX_FORMAT_LOWERCASE:uint = 0; public static const HEX_FORMAT_UPPERCASE:uint = 1; public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:String = ""; public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:String = "="; public static var hexcase:uint = 0; public static var b64pad:String = ""; public static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{ return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3)); } public static function binl_md5(_arg1:Array, _arg2:Number):Array{ var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; var _local3:Number = 1732584193; var _local4:Number = -271733879; var _local5:Number = -1732584194; var _local6:Number = 271733878; var _local7:Number = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 = safe_add(_local3, _local8); _local4 = safe_add(_local4, _local9); _local5 = safe_add(_local5, _local10); _local6 = safe_add(_local6, _local11); _local7 = (_local7 + 16); }; return ([_local3, _local4, _local5, _local6]); } public static function str2rstr_utf16le(_arg1:String):String{ var _local2 = ""; var _local3:Number = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode((_arg1.charCodeAt(_local3) & 0xFF), ((_arg1.charCodeAt(_local3) >>> 8) & 0xFF))); _local3++; }; return (_local2); } public static function hex_hmac_md5(_arg1:String, _arg2:String):String{ return (rstr2hex(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)))); } public static function binl2rstr(_arg1:Array):String{ var _local2 = ""; var _local3:Number = 0; while (_local3 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local3 >> 5)] >>> (_local3 % 32)) & 0xFF))); _local3 = (_local3 + 8); }; return (_local2); } public static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function rstr2binl(_arg1:String):Array{ var _local2:Number = 0; var _local3:Array = new Array((_arg1.length >> 2)); _local2 = 0; while (_local2 < _local3.length) { _local3[_local2] = 0; _local2++; }; _local2 = 0; while (_local2 < (_arg1.length * 8)) { _local3[(_local2 >> 5)] = (_local3[(_local2 >> 5)] | ((_arg1.charCodeAt((_local2 / 8)) & 0xFF) << (_local2 % 32))); _local2 = (_local2 + 8); }; return (_local3); } public static function md5_vm_test():Boolean{ return ((hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72")); } public static function b64_md5(_arg1:String):String{ return (rstr2b64(rstr_md5(str2rstr_utf8(_arg1)))); } public static function any_hmac_md5(_arg1:String, _arg2:String, _arg3:String):String{ return (rstr2any(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)), _arg3)); } public static function hex_md5(_arg1:String):String{ return (rstr2hex(rstr_md5(str2rstr_utf8(_arg1)))); } public static function bit_rol(_arg1:Number, _arg2:Number):Number{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } public static function encrypt(_arg1:String):String{ return (hex_md5(_arg1)); } public static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function rstr2hex(_arg1:String):String{ var _local4:Number; var _local2:String = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef"; var _local3 = ""; var _local5:Number = 0; while (_local5 < _arg1.length) { _local4 = _arg1.charCodeAt(_local5); _local3 = (_local3 + (_local2.charAt(((_local4 >>> 4) & 15)) + _local2.charAt((_local4 & 15)))); _local5++; }; return (_local3); } public static function any_md5(_arg1:String, _arg2:String):String{ return (rstr2any(rstr_md5(str2rstr_utf8(_arg1)), _arg2)); } public static function b64_hmac_md5(_arg1:String, _arg2:String):String{ return (rstr2b64(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)))); } public static function rstr2b64(_arg1:String):String{ var _local6:Number; var _local7:Number; var _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var _local3 = ""; var _local4:Number = _arg1.length; var _local5:Number = 0; while (_local5 < _local4) { _local6 = (((_arg1.charCodeAt(_local5) << 16) | (((_local5 + 1) < _local4)) ? (_arg1.charCodeAt((_local5 + 1)) << 8) : 0) | (((_local5 + 2) < _local4)) ? _arg1.charCodeAt((_local5 + 2)) : 0); _local7 = 0; while (_local7 < 4) { if (((_local5 * 8) + (_local7 * 6)) > (_arg1.length * 8)){ _local3 = (_local3 + b64pad); } else { _local3 = (_local3 + _local2.charAt(((_local6 >>> (6 * (3 - _local7))) & 63))); }; _local7++; }; _local5 = (_local5 + 3); }; return (_local3); } public static function safe_add(_arg1:Number, _arg2:Number):Number{ var _local3:Number = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); var _local4:Number = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } public static function str2rstr_utf8(_arg1:String):String{ var _local4:Number; var _local5:Number; var _local2 = ""; var _local3:Number = -1; while (++_local3 < _arg1.length) { _local4 = _arg1.charCodeAt(_local3); _local5 = (((_local3 + 1) < _arg1.length)) ? _arg1.charCodeAt((_local3 + 1)) : 0; if ((((((((0xD800 <= _local4)) && ((_local4 <= 56319)))) && ((0xDC00 <= _local5)))) && ((_local5 <= 57343)))){ _local4 = ((65536 + ((_local4 & 1023) << 10)) + (_local5 & 1023)); _local3++; }; if (_local4 <= 127){ _local2 = (_local2 + String.fromCharCode(_local4)); } else { if (_local4 <= 2047){ _local2 = (_local2 + String.fromCharCode((192 | ((_local4 >>> 6) & 31)), (128 | (_local4 & 63)))); } else { if (_local4 <= 0xFFFF){ _local2 = (_local2 + String.fromCharCode((224 | ((_local4 >>> 12) & 15)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63)))); } else { if (_local4 <= 2097151){ _local2 = (_local2 + String.fromCharCode((240 | ((_local4 >>> 18) & 7)), (128 | ((_local4 >>> 12) & 63)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63)))); }; }; }; }; }; return (_local2); } public static function rstr_hmac_md5(_arg1:String, _arg2:String):String{ var _local3:Array = rstr2binl(_arg1); if (_local3.length > 16){ _local3 = binl_md5(_local3, (_arg1.length * 8)); }; var _local4:Array = new Array(16); var _local5:Array = new Array(16); var _local6:Number = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; var _local7:Array = binl_md5(_local4.concat(rstr2binl(_arg2)), (0x0200 + (_arg2.length * 8))); return (binl2rstr(binl_md5(_local5.concat(_local7), (0x0200 + 128)))); } public static function str2rstr_utf16be(_arg1:String):String{ var _local2 = ""; var _local3:Number = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(((_arg1.charCodeAt(_local3) >>> 8) & 0xFF), (_arg1.charCodeAt(_local3) & 0xFF))); _local3++; }; return (_local2); } public static function rstr2any(_arg1:String, _arg2:String):String{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; var _local3:Number = _arg2.length; var _local4:Array = []; var _local9:Array = ((_arg1.length / 2) as Array); _local5 = 0; while (_local5 < _local9.length) { _local9[_local5] = ((_arg1.charCodeAt((_local5 * 2)) << 8) | _arg1.charCodeAt(((_local5 * 2) + 1))); _local5++; }; while (_local9.length > 0) { _local8 = []; _local7 = 0; _local5 = 0; while (_local5 < _local9.length) { _local7 = ((_local7 << 16) + _local9[_local5]); _local6 = Math.floor((_local7 / _local3)); _local7 = (_local7 - (_local6 * _local3)); if ((((_local8.length > 0)) || ((_local6 > 0)))){ _local8[_local8.length] = _local6; }; _local5++; }; _local4[_local4.length] = _local7; _local9 = _local8; }; var _local10 = ""; _local5 = (_local4.length - 1); while (_local5 >= 0) { _local10 = (_local10 + _arg2.charAt(_local4[_local5])); _local5--; }; return (_local10); } public static function rstr_md5(_arg1:String):String{ return (binl2rstr(binl_md5(rstr2binl(_arg1), (_arg1.length * 8)))); } } }//package com.midasplayer.extras
Section 17
//MochiBot (com.midasplayer.extras.MochiBot) package com.midasplayer.extras { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ if (Security.sandboxType == "localWithFile"){ return (null); }; var _local3:MochiBot = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); var _local4 = "http://core.mochibot.com/my/core.swf"; var _local5:URLVariables = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; var _local6:String = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; var _local7:URLRequest = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; var _local8:Loader = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package com.midasplayer.extras
Section 18
//BrowseSharedDataEvent (com.midasplayer.BrowseSharedDataEvent) package com.midasplayer { import flash.events.*; import com.midasplayer.extras.*; import flash.net.*; import com.adobe.serialization.json.*; public class BrowseSharedDataEvent extends Event { public var sharedData:Array; public function BrowseSharedDataEvent(_arg1:Event){ var servletLoader:URLLoader; var data:Object; var event = _arg1; var eventType:String = FunflowAPI.BROWSE_SHARED_DATA_EVENT; try { servletLoader = URLLoader(event.target); sharedData = JSON.decode(servletLoader.data); for each (data in sharedData) { if (data.hasOwnProperty("sharedData")){ data.data = FunflowSerializer.amfDecode(data.sharedData); }; }; } catch(e:Error) { trace(((("Failed to parse shared data " + servletLoader.data) + ", ") + e.message)); eventType = FunflowAPI.BROWSE_SHARED_DATA_FAILED_EVENT; }; super(eventType); } } }//package com.midasplayer
Section 19
//FunflowAPI (com.midasplayer.FunflowAPI) package com.midasplayer { import flash.events.*; import flash.display.*; import com.midasplayer.extras.*; import flash.net.*; import com.adobe.serialization.json.*; import flash.system.*; import flash.external.*; public class FunflowAPI { private static const shareURL:String = "http://facebook.king.com/facebook/kinggames/games/share.jsp"; private static const LINK_TYPE_SOLUTIONS:String = "solutions"; private static const gameURL:String = "http://apps.facebook.com/funflow/game.jsp"; public static const SHARED_DATA_SAVED_EVENT:String = "sharedDataSaved"; public static const BROWSE_SHARED_DATA_FAILED_EVENT:String = "browseSharedDataFailed"; public static const INITIALIZED_EVENT:String = "initialized"; private static const LINK_TYPE_HIGHSCORES:String = "highscores"; public static const GET_NUM_SHARED_OBJECTS_EVENT:String = "getNumSharedObjects"; public static const SHARED_DATA_SAVE_FAILED_EVENT:String = "sharedDataSaveFailed"; public static const BROWSE_SHARED_DATA_EVENT:String = "browseSharedData"; public static const HOST_BANNED_EVENT:String = "hostBanned"; public static const GAME_SAVE_FAILED_EVENT:String = "gameSaveFailed"; public static const PAYMENT_DONE_EVENT:String = "paymentDone"; private static const LINK_TYPE_RIGHT_CLICK:String = "rightclick"; public static const GET_NUM_SHARED_OBJECTS_FAILED_EVENT:String = "getNumSharedObjectsFailed"; private static const LINK_TYPE_SIGN:String = "sign"; private static const inviteURL:String = "http://apps.facebook.com/funflow/invite.jsp"; public static const VOTE_SHARED_DATA_EVENT:String = "voteSharedData"; private static const LINK_TYPE_OTHER_GAMES:String = "other_games"; private static const SAK:String = "ggfd7sday923mdsfd8csfds34"; private static const LINK_TYPE_LOADER_MOVIE:String = "loader_movie"; private static const bounceURL:String = "http://www.mygame.com/king/bounce.jsp"; private static const LINK_TYPE_PROTECT:String = "protect"; public static const GAME_SAVED_EVENT:String = "gameSaved"; private static const LINK_TYPE_ADD_GAME:String = "add_game"; public static const VOTE_SHARED_DATA_FAILED_EVENT:String = "voteSharedDataFailed"; private static const loadCountURL:String = "http://www.mygame.com/king/loadcount.jsp"; private static const LINK_TYPE_LOADER_PROGRESS:String = "loader_progress"; private static const sharerURL:String = "http://www.facebook.com/sharer.php"; public static var banned:Boolean = false; public static var sharedDataScore:Number = 0; public static var isHome:Boolean = false; public static var sharedDataId:String = null; private static var sessionID:String; public static var userAccessToken:String; public static var fromURL:String; public static var friends:Array = null; public static var gameName:String; public static var userRegistered:Boolean = false; protected static var dispatcher:EventDispatcher = new EventDispatcher(); public static var sharedData:Object = null; public static var openSame:Boolean = false; public static var kingGameServlet:String = "http://facebook.king.com/servlet/kingGameServlet"; public static var currentUser:FunflowUser = null; private static var SSK:String = "ng43ui54hy35tdsnd6f54rews"; public static function openAddToWebsiteLink():void{ openFunflowPage(LINK_TYPE_ADD_GAME, "website_content.jsp"); } private static function openShareScorePage(_arg1:int):void{ var _local2:URLVariables = new URLVariables(); _local2.score = _arg1; _local2.game = gameName; navigateToURL(new URLRequest(((sharerURL + "?u=") + escape(((shareURL + "?") + _local2.toString())))), "_blank"); } public static function startCreditsPayment(_arg1:String, _arg2:String=null):void{ var productShortName = _arg1; var parameter = _arg2; try { if (isHome){ if (parameter != null){ ExternalInterface.call("startCreditsPayment", productShortName, parameter); } else { ExternalInterface.call("startCreditsPayment", productShortName); }; }; } catch(e:Error) { trace(e); }; } public static function saveGame(_arg1:Object):void{ var data = _arg1; if (currentUser == null){ trace("Save game failed, no facebook user"); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); return; }; var servletLoader:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.action = "saveGameState"; reqvars.data = FunflowSerializer.amfEncode(data); reqvars.game = gameName; reqvars.accessToken = userAccessToken; reqvars.fbId = currentUser.fbId; reqvars.sessionKey = currentUser.sessionKey; var request:URLRequest = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, gameSavedHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, gameSaveFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, gameSaveFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load save game url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); }; } public static function openSolutionsLink():void{ if (isHome){ ExternalInterface.call("loadSolutionsSwf"); } else { openFunflowPage(LINK_TYPE_SOLUTIONS); }; } private static function sharedDataSavedHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var gameReqvars:URLVariables; var evt:Event; var event = _arg1; try { servletLoader = URLLoader(event.target); trace(("loadCounter.data :" + servletLoader.data)); if (servletLoader.data == "nok"){ dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); } else { vars = new URLVariables(servletLoader.data); gameReqvars = new URLVariables(); gameReqvars.game = gameName; gameReqvars.ref = gameName; gameReqvars.sdid = vars.sharedDataId; evt = new SharedDataSavedEvent(vars.sharedDataId, ((gameURL + "?") + gameReqvars.toString())); dispatcher.dispatchEvent(evt); }; } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); }; } public static function openOfflineProtectionLink():void{ openFunflowPage(LINK_TYPE_PROTECT); } public static function openOtherGamesLink():void{ openFunflowPage(LINK_TYPE_OTHER_GAMES); } public static function init(_arg1:String, _arg2:LoaderInfo):void{ var userProductsString:String; var friend:Object; var so:SharedObject; var rnd1:Number; var rnd2:Number; var name = _arg1; var loaderInfo = _arg2; gameName = name; fromURL = loaderInfo.url; if (loaderInfo.parameters.hasOwnProperty("user_access_token")){ userAccessToken = loaderInfo.parameters.user_access_token; }; if (loaderInfo.parameters.hasOwnProperty("user_registered")){ userRegistered = true; currentUser = new FunflowUser(); currentUser.fbId = loaderInfo.parameters.user_fbId; currentUser.name = loaderInfo.parameters.user_name; currentUser.firstName = loaderInfo.parameters.user_firstName; currentUser.picture = loaderInfo.parameters.user_picture; currentUser.score = loaderInfo.parameters.user_score; currentUser.level = loaderInfo.parameters.user_level; currentUser.diplomaLevel = loaderInfo.parameters.user_diplomaLevel; currentUser.sessionKey = md5.encrypt(((currentUser.fbId + ":") + SSK)); if (loaderInfo.parameters.hasOwnProperty("user_game_state")){ try { currentUser.gameState = FunflowSerializer.amfDecode(loaderInfo.parameters.user_game_state); } catch(e:Error) { trace(("Unable to deserialize gameState: " + e.message)); }; }; if (loaderInfo.parameters.hasOwnProperty("user_products")){ try { userProductsString = loaderInfo.parameters.user_products; currentUser.products = userProductsString.split(","); } catch(e:Error) { trace(("Unable to deserialize products: " + e.message)); }; }; }; if (loaderInfo.parameters.hasOwnProperty("user_friends")){ try { friends = JSON.decode(loaderInfo.parameters.user_friends); for each (friend in friends) { if (friend.hasOwnProperty("serializedGameState")){ try { friend.gameState = FunflowSerializer.amfDecode(friend.serializedGameState); } catch(e:Error) { trace(("Unable to deserialize gameState: " + e.message)); }; }; }; } catch(e:Error) { trace(((("Unable to deserialize friendlist: " + loaderInfo.parameters.friends) + ", ") + e.message)); }; }; if (loaderInfo.parameters.hasOwnProperty("shared_data")){ try { sharedData = FunflowSerializer.amfDecode(loaderInfo.parameters.shared_data); sharedDataId = loaderInfo.parameters.shared_data_id; sharedDataScore = parseFloat(loaderInfo.parameters.shared_data_score); } catch(e:Error) { trace(("Unable to deserialize shared data: " + e.message)); }; }; try { Security.allowDomain("*"); ExternalInterface.addCallback("paymentDone", paymentDone); } catch(e:Error) { }; var loadCounter:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.game = gameName; reqvars.from = fromURL; try { so = SharedObject.getLocal("sessionId"); if (so.data.sessionID == null){ rnd1 = Math.abs(Math.floor((Math.random() * 4294967295))); rnd2 = Math.abs(Math.floor((Math.random() * 4294967295))); so.data.sessionID = (rnd1.toString(16) + rnd2.toString(16)); so.flush(); }; sessionID = so.data.sessionID; } catch(e:Error) { sessionID = "error"; }; reqvars.session = sessionID; var request:URLRequest = new URLRequest(loadCountURL); request.data = reqvars; loadCounter.addEventListener(Event.COMPLETE, loadCountHandler); loadCounter.addEventListener(IOErrorEvent.IO_ERROR, loadUrlErrorHandler); loadCounter.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadUrlErrorHandler); try { loadCounter.load(request); } catch(error:Error) { trace(("Unable to load loadcount url: " + loadCountURL)); trace(error.message); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } public static function openInviteDialog(_arg1:Object=null, _arg2:String=null):void{ var parameters:URLVariables; var flashVars = _arg1; var customMessage = _arg2; try { parameters = FunflowSerializer.objectToFlashURLVariables(flashVars); if (customMessage != null){ parameters.customMessage = customMessage; }; if (isHome){ ExternalInterface.call("openInviteDialog", unescape(parameters.toString())); } else { parameters.game = gameName; navigateToURL(new URLRequest(((inviteURL + "?") + parameters.toString())), "_blank"); }; } catch(e:Error) { trace(e); }; } public static function saveSharedData(_arg1:Object):void{ var data = _arg1; var servletLoader:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.action = "saveSharedData"; reqvars.data = FunflowSerializer.amfEncode(data); reqvars.game = gameName; if (currentUser != null){ reqvars.uid = currentUser.fbId; }; var request:URLRequest = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, sharedDataSavedHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, saveSharedDataFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, saveSharedDataFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load save game url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVED_EVENT)); }; } private static function browseSharedDataHandler(_arg1:Event):void{ var servletLoader:URLLoader; var event = _arg1; try { servletLoader = URLLoader(event.target); if (servletLoader.data == "nok"){ dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); } else { dispatcher.dispatchEvent(new BrowseSharedDataEvent(event)); }; } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); }; } private static function loadCountHandler(_arg1:Event):void{ var loadCounter:URLLoader; var vars:URLVariables; var event = _arg1; try { loadCounter = URLLoader(event.target); trace(("loadCounter.data :" + loadCounter.data)); vars = new URLVariables(loadCounter.data); if (vars.h == "true"){ isHome = true; }; if (vars.o == "true"){ openSame = true; }; if (vars.b == "true"){ banned = true; dispatcher.dispatchEvent(new Event(HOST_BANNED_EVENT)); } else { dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } catch(e:Error) { trace(("Error reading data from loadcount url: " + e)); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } public static function voteSharedData(_arg1:uint, _arg2:String):void{ var score = _arg1; var id = _arg2; if (currentUser == null){ dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_NOT_LOGGED_IN)); return; }; var servletLoader:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.action = "voteSharedData"; reqvars.game = gameName; reqvars.sdid = id; reqvars.score = score; reqvars.accessToken = userAccessToken; var request:URLRequest = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, voteSharedDataHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, voteSharedDataFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, voteSharedDataFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load vote shared data url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_SERVER)); }; } public static function removeEventListener(_arg1:String, _arg2:Function):void{ if (dispatcher == null){ return; }; dispatcher.removeEventListener(_arg1, _arg2); } public static function submitLevel(_arg1:int):void{ var level = _arg1; var hash:String = md5.encrypt(((((level + ":") + gameName) + ":") + SSK)); try { if (isHome){ ExternalInterface.call("submitLevel", level, hash); }; } catch(e:Error) { trace(e); }; } private static function getNumSharedDataObjectsFailedHandler(_arg1:Event):void{ trace(("Unable to get number of shared objects: " + _arg1)); dispatcher.dispatchEvent(new Event(GET_NUM_SHARED_OBJECTS_FAILED_EVENT)); } public static function addEventListener(_arg1:String, _arg2:Function):void{ if (dispatcher == null){ dispatcher = new EventDispatcher(); }; dispatcher.addEventListener(_arg1, _arg2); } public static function submitScore(_arg1:int):void{ var score = _arg1; var hash:String = md5.encrypt(((((score + ":") + gameName) + ":") + SSK)); try { if (isHome){ ExternalInterface.call("submitScore", score, hash); } else { openShareScorePage(score); }; } catch(e:Error) { trace(e); }; } public static function openLoaderProgressLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_LOADER_PROGRESS); }; } private static function loadUrlErrorHandler(_arg1:Event):void{ trace(("Unable to load url: " + _arg1)); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); } private static function getNumSharedDataObjectsHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var evt:Event; var event = _arg1; try { servletLoader = URLLoader(event.target); if (servletLoader.data == "nok"){ dispatcher.dispatchEvent(new Event(GET_NUM_SHARED_OBJECTS_FAILED_EVENT)); } else { vars = new URLVariables(servletLoader.data); evt = new GetNumSharedObjectsEvent(parseInt(vars.numObjects), parseInt(vars.numFeaturedObjects), parseInt(vars.numCreatorObjects)); dispatcher.dispatchEvent(evt); }; } catch(e:Error) { trace(("Error reading data for GetNumSharedObjectsEvent: " + e)); dispatcher.dispatchEvent(new Event(GET_NUM_SHARED_OBJECTS_FAILED_EVENT)); }; } private static function saveSharedDataFailedHandler(_arg1:Event):void{ trace(("Unable to save game: " + _arg1)); dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); } private static function voteSharedDataFailedHandler(_arg1:Event):void{ trace(("Unable to vote for shared data: " + _arg1)); dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_SERVER)); } private static function paymentDone(_arg1:String):void{ if (currentUser.products == null){ currentUser.products = new Array(); }; currentUser.products.push(_arg1); dispatcher.dispatchEvent(new PaymentDoneEvent(_arg1)); } public static function openFunflowPage(_arg1:String, _arg2:String=null):void{ var _local3:URLVariables = new URLVariables(); _local3.game = gameName; _local3.from = fromURL; _local3.type = _arg1; _local3.session = sessionID; if (_arg2 != null){ _local3.redirect = _arg2; }; var _local4 = "_blank"; if (((isHome) && (openSame))){ _local4 = "_top"; }; navigateToURL(new URLRequest(((bounceURL + "?") + _local3.toString())), _local4); } public static function funflowEventPost(_arg1:String, _arg2:int=1):void{ var eventText = _arg1; var priority = _arg2; try { if (isHome){ ExternalInterface.call("customGameEventPost", eventText, priority); }; } catch(e:Error) { trace(e); }; } public static function facebookStreamPost(_arg1:String, _arg2:String, _arg3:Object=null):void{ var parameters:URLVariables; var description = _arg1; var type = _arg2; var flashVars = _arg3; try { parameters = FunflowSerializer.objectToFlashURLVariables(flashVars); if (isHome){ ExternalInterface.call("customGameStreamPost", description, type, parameters.toString()); } else { openSharePage(description, flashVars, type); }; } catch(e:Error) { trace(e); }; } public static function getFunflowGamePage(_arg1:Object=null):String{ var _local2:URLVariables = FunflowSerializer.objectToFlashURLVariables(_arg1); _local2.game = gameName; _local2.ref = gameName; return (((gameURL + "?") + _local2.toString())); } public static function openSignLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_SIGN); }; } public static function openLoaderMovieLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_LOADER_MOVIE); }; } public static function openHighscoresLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_HIGHSCORES, (("game/" + gameName) + "/highscores")); }; } private static function voteSharedDataHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var evt:Event; var event = _arg1; try { servletLoader = URLLoader(event.target); vars = new URLVariables(servletLoader.data); if (vars.error != undefined){ evt = new VoteSharedDataFailedEvent(parseInt(vars.error)); } else { evt = new VoteSharedDataEvent(parseFloat(vars.newScore)); }; dispatcher.dispatchEvent(evt); } catch(e:Error) { trace(("Error reading data for Vote Shared Data: " + e)); dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_SERVER)); }; } public static function browseSharedData(_arg1:int=0, _arg2:int=10, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:String=null):void{ var index = _arg1; var limit = _arg2; var orderByScore = _arg3; var featured = _arg4; var creatorFbid = _arg5; var servletLoader:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.action = "browseSharedData"; reqvars.game = gameName; reqvars.index = index; reqvars.limit = limit; reqvars.orderByScore = orderByScore; if (featured){ reqvars.getFeatured = "1"; }; if (creatorFbid != null){ reqvars.creatorId = creatorFbid; }; var request:URLRequest = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, browseSharedDataHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, browseSharedDataFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, browseSharedDataFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load browse shared data url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); }; } public static function openRightClickLink():void{ openFunflowPage(LINK_TYPE_RIGHT_CLICK); } public static function openSharePage(_arg1:String, _arg2:Object=null, _arg3:String=null):void{ var _local4:URLVariables = FunflowSerializer.objectToFlashURLVariables(_arg2); _local4.description = _arg1; _local4.game = gameName; _local4.description = _arg1; if (_arg3 != null){ _local4.type = _arg3; }; navigateToURL(new URLRequest(((sharerURL + "?u=") + escape(((shareURL + "?") + _local4.toString())))), "_blank"); } private static function gameSavedHandler(_arg1:Event):void{ var servletLoader:URLLoader; var event = _arg1; try { servletLoader = URLLoader(event.target); trace(("loadCounter.data :" + servletLoader.data)); if (servletLoader.data == "ok"){ dispatcher.dispatchEvent(new Event(GAME_SAVED_EVENT)); } else { dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); }; } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); }; } private static function browseSharedDataFailedHandler(_arg1:Event):void{ trace(("Unable to browse shared data: " + _arg1)); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); } public static function getNumSharedDataObjects(_arg1:String=null):void{ var creatorFbid = _arg1; var servletLoader:URLLoader = new URLLoader(); var reqvars:URLVariables = new URLVariables(); reqvars.action = "getNumberOfSharedObjects"; reqvars.game = gameName; if (creatorFbid != null){ reqvars.creatorId = creatorFbid; }; var request:URLRequest = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, getNumSharedDataObjectsHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, getNumSharedDataObjectsFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, getNumSharedDataObjectsFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load browse shared data url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); }; } public static function submitAchievement(_arg1:String):void{ var achievement = _arg1; var hash:String = md5.encrypt(((((achievement + ":") + gameName) + ":") + SAK)); try { if (isHome){ ExternalInterface.call("submitAchievement", achievement, hash); }; } catch(e:Error) { trace(e); }; } private static function gameSaveFailedHandler(_arg1:Event):void{ trace(("Unable to save game: " + _arg1)); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); } } }//package com.midasplayer
Section 20
//FunflowUser (com.midasplayer.FunflowUser) package com.midasplayer { public class FunflowUser { public var diplomaLevel:int;// = 0 public var products:Array;// = null public var name:String;// = "" public var sessionKey:String;// = "" public var weeklyScore:Number;// = 0 public var score:Number;// = 0 public var level:int;// = 0 public var fbId:String;// = "" public var firstName:String;// = "" public var picture:String;// = "" public var gameState:Object;// = null } }//package com.midasplayer
Section 21
//GetNumSharedObjectsEvent (com.midasplayer.GetNumSharedObjectsEvent) package com.midasplayer { import flash.events.*; public class GetNumSharedObjectsEvent extends Event { public var numFeaturedObjects:int; public var numObjects:int; public var numCreatorObjects:int; public function GetNumSharedObjectsEvent(_arg1:int, _arg2:int, _arg3:int){ this.numObjects = _arg1; this.numFeaturedObjects = _arg2; this.numCreatorObjects = _arg3; super(FunflowAPI.GET_NUM_SHARED_OBJECTS_EVENT, false, false); } } }//package com.midasplayer
Section 22
//PaymentDoneEvent (com.midasplayer.PaymentDoneEvent) package com.midasplayer { import flash.events.*; public class PaymentDoneEvent extends Event { public var productName:String; public function PaymentDoneEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ this.productName = _arg1; super(FunflowAPI.PAYMENT_DONE_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 23
//SharedDataSavedEvent (com.midasplayer.SharedDataSavedEvent) package com.midasplayer { import flash.events.*; public class SharedDataSavedEvent extends Event { public var sharedDataId:String; public var sharedDataGameUrl:String; public function SharedDataSavedEvent(_arg1:String, _arg2:String, _arg3:Boolean=false, _arg4:Boolean=false){ this.sharedDataId = _arg1; this.sharedDataGameUrl = _arg2; super(FunflowAPI.SHARED_DATA_SAVED_EVENT, _arg3, _arg4); } } }//package com.midasplayer
Section 24
//VoteSharedDataEvent (com.midasplayer.VoteSharedDataEvent) package com.midasplayer { import flash.events.*; public class VoteSharedDataEvent extends Event { public var newScore:Number;// = 0 public function VoteSharedDataEvent(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false){ this.newScore = _arg1; super(FunflowAPI.VOTE_SHARED_DATA_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 25
//VoteSharedDataFailedEvent (com.midasplayer.VoteSharedDataFailedEvent) package com.midasplayer { import flash.events.*; public class VoteSharedDataFailedEvent extends Event { public var errorCode:int;// = 0 public var errorMessage:String;// = "" public static const ERROR_NO_ERROR:int = 0; public static const ERROR_MESSAGES:Array = ["", "Server error, please try again later.", "You have already voted.", "You must log to funflow to vote."]; public static const ERROR_DUPLICATE_VOTE:int = 2; public static const ERROR_SERVER:int = 1; public static const ERROR_NOT_LOGGED_IN:int = 3; public function VoteSharedDataFailedEvent(_arg1:int, _arg2:Boolean=false, _arg3:Boolean=false){ this.errorCode = _arg1; if (_arg1 < ERROR_MESSAGES.length){ this.errorMessage = ERROR_MESSAGES[_arg1]; } else { this.errorMessage = ERROR_MESSAGES[1]; }; super(FunflowAPI.VOTE_SHARED_DATA_FAILED_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 26
//HandSwitch_112 (Menu_fla.HandSwitch_112) package Menu_fla { import flash.display.*; public dynamic class HandSwitch_112 extends MovieClip { public var btn:SimpleButton; public function HandSwitch_112(){ addFrameScript(0, frame1); } function frame1(){ stop(); btn.useHandCursor = false; } } }//package Menu_fla
Section 27
//Numbers_98 (Menu_fla.Numbers_98) package Menu_fla { import flash.display.*; public dynamic class Numbers_98 extends MovieClip { public function Numbers_98(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Menu_fla
Section 28
//Preview_120 (Menu_fla.Preview_120) package Menu_fla { import flash.display.*; public dynamic class Preview_120 extends MovieClip { public function Preview_120(){ addFrameScript(24, frame25); } function frame25(){ stop(); } } }//package Menu_fla
Section 29
//SpringSwitch_109 (Menu_fla.SpringSwitch_109) package Menu_fla { import flash.display.*; public dynamic class SpringSwitch_109 extends MovieClip { public var btn:SimpleButton; public function SpringSwitch_109(){ addFrameScript(0, frame1); } function frame1(){ stop(); btn.useHandCursor = false; } } }//package Menu_fla
Section 30
//Stars_Big_117 (Menu_fla.Stars_Big_117) package Menu_fla { import flash.display.*; public dynamic class Stars_Big_117 extends MovieClip { public function Stars_Big_117(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame3(){ stop(); } function frame1(){ stop(); } function frame4(){ stop(); } function frame2(){ stop(); } } }//package Menu_fla
Section 31
//Stars_mini_64 (Menu_fla.Stars_mini_64) package Menu_fla { import flash.display.*; public dynamic class Stars_mini_64 extends MovieClip { public function Stars_mini_64(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Menu_fla
Section 32
//StickSwitch_106 (Menu_fla.StickSwitch_106) package Menu_fla { import flash.display.*; public dynamic class StickSwitch_106 extends MovieClip { public var btn:SimpleButton; public function StickSwitch_106(){ addFrameScript(0, frame1); } function frame1(){ stop(); btn.useHandCursor = false; } } }//package Menu_fla
Section 33
//SwitchMusic_57 (Menu_fla.SwitchMusic_57) package Menu_fla { import flash.display.*; public dynamic class SwitchMusic_57 extends MovieClip { public function SwitchMusic_57(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Menu_fla
Section 34
//SwitchSound_52 (Menu_fla.SwitchSound_52) package Menu_fla { import flash.display.*; public dynamic class SwitchSound_52 extends MovieClip { public function SwitchSound_52(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Menu_fla
Section 35
//b2CircleDef (parser.box2d.Collision.Shapes.b2CircleDef) package parser.box2d.Collision.Shapes { import parser.box2d.Common.Math.*; public class b2CircleDef extends b2ShapeDef { public var radius:Number; public var localPosition:b2Vec2; public function b2CircleDef(){ localPosition = new b2Vec2(0, 0); super(); type = b2Shape.e_circleShape; radius = 1; } } }//package parser.box2d.Collision.Shapes
Section 36
//b2CircleShape (parser.box2d.Collision.Shapes.b2CircleShape) package parser.box2d.Collision.Shapes { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; public class b2CircleShape extends b2Shape { public var m_localPosition:b2Vec2; public var m_radius:Number; public function b2CircleShape(_arg1:b2ShapeDef){ m_localPosition = new b2Vec2(); super(_arg1); var _local2:b2CircleDef = (_arg1 as b2CircleDef); m_type = e_circleShape; m_localPosition.SetV(_local2.localPosition); m_radius = _local2.radius; } override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local10:Number; var _local6:b2Mat22 = _arg1.R; var _local7:Number = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y))); var _local8:Number = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y))); var _local9:Number = (_arg4.p1.x - _local7); _local10 = (_arg4.p1.y - _local8); var _local11:Number = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius)); if (_local11 < 0){ return (false); }; var _local12:Number = (_arg4.p2.x - _arg4.p1.x); var _local13:Number = (_arg4.p2.y - _arg4.p1.y); var _local14:Number = ((_local9 * _local12) + (_local10 * _local13)); var _local15:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local16:Number = ((_local14 * _local14) - (_local15 * _local11)); if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){ return (false); }; var _local17:Number = -((_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); } public function GetLocalPosition():b2Vec2{ return (m_localPosition); } public function GetRadius():Number{ return (m_radius); } override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2Mat22; _local4 = _arg2.R; var _local5:Number = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local6:Number = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y))); _local4 = _arg3.R; var _local7:Number = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y))); var _local8:Number = (_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)); } 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 UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:Number = (m_localPosition.x - _arg1.x); var _local3:Number = (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 = _arg2.R; var _local4:Number = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_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)); } override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Mat22 = _arg1.R; var _local4:Number = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y))); var _local5:Number = (_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))); } } }//package parser.box2d.Collision.Shapes
Section 37
//b2FilterData (parser.box2d.Collision.Shapes.b2FilterData) package parser.box2d.Collision.Shapes { import parser.box2d.Common.Math.*; public class b2FilterData { public var maskBits:uint;// = 0xFFFF public var groupIndex:int;// = 0 public var categoryBits:uint;// = 1 public function Copy():b2FilterData{ var _local1:b2FilterData = new b2FilterData(); _local1.categoryBits = categoryBits; _local1.maskBits = maskBits; _local1.groupIndex = groupIndex; return (_local1); } } }//package parser.box2d.Collision.Shapes
Section 38
//b2MassData (parser.box2d.Collision.Shapes.b2MassData) package parser.box2d.Collision.Shapes { import parser.box2d.Common.Math.*; public class b2MassData { public var mass:Number;// = 0 public var center:b2Vec2; public var I:Number;// = 0 public function b2MassData(){ center = new b2Vec2(0, 0); super(); } } }//package parser.box2d.Collision.Shapes
Section 39
//b2PolygonDef (parser.box2d.Collision.Shapes.b2PolygonDef) package parser.box2d.Collision.Shapes { import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2PolygonDef extends b2ShapeDef { public var vertices:Array; public var vertexCount:int; private static var s_mat:b2Mat22 = new b2Mat22(); public function b2PolygonDef(){ vertices = new Array(b2Settings.b2_maxPolygonVertices); super(); type = b2Shape.e_polygonShape; vertexCount = 0; var _local1:int; 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 parser.box2d.Collision.Shapes
Section 40
//b2PolygonShape (parser.box2d.Collision.Shapes.b2PolygonShape) package parser.box2d.Collision.Shapes { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; public class b2PolygonShape extends b2Shape { public var m_coreVertices:Array; public var m_vertices:Array; private var s_supportVec:b2Vec2; public var m_centroid:b2Vec2; public var m_normals:Array; public var m_obb:b2OBB; 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 _local3: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; var _local2:b2PolygonDef = (_arg1 as b2PolygonDef); m_vertexCount = _local2.vertexCount; var _local4:int = _local3; var _local5:int = _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 ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{ var _local4:b2AABB = s_sweptAABB1; var _local5:b2AABB = 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 GetCoreVertices():Array{ return (m_coreVertices); } public function GetCentroid():b2Vec2{ return (m_centroid); } 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 TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:b2Segment, _arg5:Number):Boolean{ var _local8:Number; var _local9:Number; var _local10:b2Mat22; var _local11:b2Vec2; var _local20:Number; var _local21:Number; var _local6:Number = 0; var _local7:Number = _arg5; _local8 = (_arg4.p1.x - _arg1.position.x); _local9 = (_arg4.p1.y - _arg1.position.y); _local10 = _arg1.R; var _local12:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local13:Number = ((_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; var _local14:Number = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y)); var _local15:Number = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y)); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); var _local18 = -1; var _local19:int; 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); } override public function ComputeMass(_arg1:b2MassData):void{ 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; var _local2:Number = 0; var _local3:Number = 0; var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; var _local7:Number = 0; var _local8:Number = (1 / 3); var _local9:int; 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 GetNormals():Array{ return (m_normals); } public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{ var _local4:b2Vec2; var _local5:b2Mat22; var _local11:Number; _local5 = _arg1.R; var _local6:Number = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y)); var _local7:Number = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y)); var _local8:int; _local4 = m_coreVertices[0]; var _local9:Number = ((_local4.x * _local6) + (_local4.y * _local7)); var _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 ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{ var _local3:b2Mat22; var _local4:b2Vec2; var _local5:b2Mat22 = 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(); var _local6:b2Mat22 = _local5; _local4 = m_obb.extents; var _local7:Number = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y)); var _local8:Number = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y)); _local3 = _arg2.R; _local4 = m_obb.center; var _local9:Number = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y))); var _local10:Number = (_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)); } override public function UpdateSweepRadius(_arg1:b2Vec2):void{ var _local2:b2Vec2; var _local4:Number; var _local5:Number; m_sweepRadius = 0; var _local3:int; 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 TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ var _local3:b2Vec2; var _local10:Number; var _local4:b2Mat22 = _arg1.R; var _local5:Number = (_arg2.x - _arg1.position.x); var _local6:Number = (_arg2.y - _arg1.position.y); var _local7:Number = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y)); var _local8:Number = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y)); var _local9:int; 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 static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{ var _local3:b2Vec2; var _local7:Number; 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(); var _local4:Number = 0; var _local5:Number = 0; var _local6:Number = 0; _local7 = (1 / 3); var _local8:int; 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 _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; var _local5:Array = new Array((b2Settings.b2_maxPolygonVertices + 1)); _local4 = 0; while (_local4 < _arg3) { _local5[_local4] = _arg2[_local4]; _local4++; }; _local5[_arg3] = _local5[0]; var _local6:Number = 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 parser.box2d.Collision.Shapes
Section 41
//b2Shape (parser.box2d.Collision.Shapes.b2Shape) package parser.box2d.Collision.Shapes { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; public class b2Shape { public var m_next: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_isSensor:Boolean; public var m_restitution:Number; public var m_userData; 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 SetUserData(_arg1):void{ m_userData = _arg1; } 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{ if (m_proxyId == b2Pair.b2_nullProxy){ return; }; _arg1.DestroyProxy(m_proxyId); var _local3:b2AABB = s_resetAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _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{ if (m_proxyId == b2Pair.b2_nullProxy){ return (false); }; var _local4:b2AABB = 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 = s_proxyAABB; ComputeAABB(_local3, _arg2); var _local4:Boolean = _arg1.InRange(_local3); if (_local4){ m_proxyId = _arg1.CreateProxy(_local3, this); } else { m_proxyId = b2Pair.b2_nullProxy; }; } public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{ return (false); } 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 parser.box2d.Collision.Shapes
Section 42
//b2ShapeDef (parser.box2d.Collision.Shapes.b2ShapeDef) package parser.box2d.Collision.Shapes { import flash.display.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2ShapeDef { public var friction:Number;// = 0.2 public var isSensor:Boolean;// = false public var sprite:Sprite; public var density:Number;// = 0 public var restitution:Number;// = 0 public var userData;// = null public var filter:b2FilterData; public var type:int; public function b2ShapeDef(){ type = b2Shape.e_unknownShape; filter = new b2FilterData(); super(); } } }//package parser.box2d.Collision.Shapes
Section 43
//b2AABB (parser.box2d.Collision.b2AABB) package parser.box2d.Collision { import parser.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 = (upperBound.x - lowerBound.x); var _local2:Number = (upperBound.y - lowerBound.y); var _local3:Boolean = (((_local1 >= 0)) && ((_local2 >= 0))); _local3 = ((((_local3) && (lowerBound.IsValid()))) && (upperBound.IsValid())); return (_local3); } } }//package parser.box2d.Collision
Section 44
//b2Bound (parser.box2d.Collision.b2Bound) package parser.box2d.Collision { public class b2Bound { public var value:uint; public var proxyId:uint; public var stabbingCount:uint; public function Swap(_arg1:b2Bound):void{ var _local2:uint = value; var _local3:uint = proxyId; var _local4:uint = 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 parser.box2d.Collision
Section 45
//b2BoundValues (parser.box2d.Collision.b2BoundValues) package parser.box2d.Collision { public class b2BoundValues { public var lowerValues:Array; public var upperValues:Array; public function b2BoundValues(){ lowerValues = [0, 0]; upperValues = [0, 0]; super(); } } }//package parser.box2d.Collision
Section 46
//b2BroadPhase (parser.box2d.Collision.b2BroadPhase) package parser.box2d.Collision { import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2BroadPhase { public var m_bounds:Array; public var m_quantizationFactor:b2Vec2; public var m_worldAABB:b2AABB; 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 = 0xFFFF; public static const b2_invalid:uint = 0xFFFF; public static var s_validate:Boolean = false; public function b2BroadPhase(_arg1:b2AABB, _arg2:b2PairCallback){ var _local3:int; 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++; }; var _local4:Number = (_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 _local6:uint; var _local7:uint; var _local12:b2Proxy; var _local4:Array = new Array(); var _local5:Array = new Array(); ComputeBounds(_local4, _local5, _arg1); var _local8:Array = [_local6]; var _local9:Array = [_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); var _local10:int; var _local11:int; 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 = 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 _local10:b2Bound; var _local12:int; var _local13:int; var _local14:b2Proxy; var _local8:uint = BinarySearch(_arg5, _arg6, _arg3); var _local9:uint = BinarySearch(_arg5, _arg6, _arg4); var _local11:uint = _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 _local4:Array; var _local5:b2Bound; var _local6:b2Bound; var _local3:int; 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 = _arg3.lowerBound.x; var _local5:Number = _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); var _local6:Number = _arg3.upperBound.x; var _local7:Number = _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 _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; var _local5:uint = m_freeProxy; _local4 = m_proxyPool[_local5]; m_freeProxy = _local4.GetNext(); _local4.overlapCount = 0; _local4.userData = _arg2; var _local6:uint = (2 * m_proxyCount); var _local7:Array = new Array(); var _local8:Array = new Array(); ComputeBounds(_local7, _local8, _arg1); var _local9:int; 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++; var _local10:int; 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 _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; var _local4:b2Proxy = m_proxyPool[_arg1]; var _local5:int = (2 * m_proxyCount); var _local6:int; 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++; }; var _local7:int; 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 _local4:Array; var _local5:b2Bound; var _local3:int; 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 _local6:b2Bound; var _local7:uint; var _local8:uint; var _local9:uint; var _local10:b2Bound; var _local5:int; 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 = 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 _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; }; var _local12:uint = (2 * m_proxyCount); var _local13:b2Proxy = m_proxyPool[_arg1]; var _local14:b2BoundValues = new b2BoundValues(); ComputeBounds(_local14.lowerValues, _local14.upperValues, _arg2); var _local15:b2BoundValues = 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 _local6:int; var _local7:b2Bound; var _local4:int; var _local5:int = (_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 parser.box2d.Collision
Section 47
//b2BufferedPair (parser.box2d.Collision.b2BufferedPair) package parser.box2d.Collision { public class b2BufferedPair { public var proxyId1:uint; public var proxyId2:uint; } }//package parser.box2d.Collision
Section 48
//b2Collision (parser.box2d.Collision.b2Collision) package parser.box2d.Collision { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.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 _local11:b2Mat22; var _local12:b2Vec2; var _local25:Number; var _local6:int = _arg1.m_vertexCount; var _local7:Array = _arg1.m_vertices; var _local8:Array = _arg1.m_normals; var _local9:int = _arg4.m_vertexCount; var _local10:Array = _arg4.m_vertices; _local11 = _arg2.R; _local12 = _local8[_arg3]; var _local13:Number = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)); var _local14:Number = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)); _local11 = _arg5.R; var _local15:Number = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14)); var _local16:Number = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14)); var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; 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; var _local20:Number = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local21:Number = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local12 = _local10[_local17]; _local11 = _arg5.R; var _local22:Number = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y))); var _local23:Number = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y))); _local22 = (_local22 - _local20); _local23 = (_local23 - _local21); var _local24:Number = ((_local22 * _local13) + (_local23 * _local14)); return (_local24); } public static function b2TestOverlap(_arg1:b2AABB, _arg2:b2AABB):Boolean{ var _local3:b2Vec2 = _arg2.lowerBound; var _local4:b2Vec2 = _arg1.upperBound; var _local5:Number = (_local3.x - _local4.x); var _local6:Number = (_local3.y - _local4.y); _local3 = _arg1.lowerBound; _local4 = _arg2.upperBound; var _local7:Number = (_local3.x - _local4.x); var _local8:Number = (_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 _local12:b2Mat22; var _local13:b2Vec2; var _local20:ClipVertex; var _local23:Number; var _local7:int = _arg2.m_vertexCount; var _local8:Array = _arg2.m_normals; var _local9:int = _arg5.m_vertexCount; var _local10:Array = _arg5.m_vertices; var _local11:Array = _arg5.m_normals; _local12 = _arg3.R; _local13 = _local8[_arg4]; var _local14:Number = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)); var _local15:Number = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)); _local12 = _arg6.R; var _local16:Number = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15)); _local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15)); _local14 = _local16; var _local17:int; var _local18:Number = Number.MAX_VALUE; var _local19:int; while (_local19 < _local9) { _local13 = _local11[_local19]; _local23 = ((_local14 * _local13.x) + (_local15 * _local13.y)); if (_local23 < _local18){ _local18 = _local23; _local17 = _local19; }; _local19++; }; var _local21:int = _local17; var _local22:int = (((_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 _local13:b2PolygonShape; var _local14:b2PolygonShape; var _local17:int; var _local18:uint; var _local34:int; var _local37:b2Vec2; var _local38:Number; var _local39:b2ManifoldPoint; _arg1.pointCount = 0; var _local7:int; var _local8:Array = [_local7]; var _local9:Number = FindMaxSeparation(_local8, _arg2, _arg3, _arg4, _arg5); _local7 = _local8[0]; if (_local9 > 0){ return; }; var _local10:int; var _local11:Array = [_local10]; var _local12:Number = FindMaxSeparation(_local11, _arg4, _arg5, _arg2, _arg3); _local10 = _local11[0]; if (_local12 > 0){ return; }; var _local15:b2XForm = new b2XForm(); var _local16:b2XForm = new b2XForm(); var _local19:Number = 0.98; var _local20:Number = 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; }; var _local21:Array = [new ClipVertex(), new ClipVertex()]; FindIncidentEdge(_local21, _local13, _local15, _local17, _local14, _local16); var _local22:int = _local13.m_vertexCount; var _local23:Array = _local13.m_vertices; var _local24:b2Vec2 = _local23[_local17]; var _local25:b2Vec2 = _local24.Copy(); if ((_local17 + 1) < _local22){ _local24 = _local23[int((_local17 + 1))]; _local37 = _local24.Copy(); } else { _local24 = _local23[0]; _local37 = _local24.Copy(); }; var _local26:b2Vec2 = b2Math.SubtractVV(_local37, _local25); var _local27:b2Vec2 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25)); _local27.Normalize(); var _local28:b2Vec2 = b2Math.b2CrossVF(_local27, 1); _local25 = b2Math.b2MulX(_local15, _local25); _local37 = b2Math.b2MulX(_local15, _local37); var _local29:Number = b2Math.b2Dot(_local28, _local25); var _local30:Number = -(b2Math.b2Dot(_local27, _local25)); var _local31:Number = b2Math.b2Dot(_local27, _local37); var _local32:Array = [new ClipVertex(), new ClipVertex()]; var _local33:Array = [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(); var _local35:int; var _local36:int; 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 _local8:b2Vec2; var _local9:b2Mat22; var _local22:int; var _local23:Number; var _local24:int; var _local25:Number; var _local6:int = _arg2.m_vertexCount; var _local7:Array = _arg2.m_normals; _local9 = _arg5.R; _local8 = _arg4.m_centroid; var _local10:Number = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))); var _local11:Number = (_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)))); var _local12:Number = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y)); var _local13:Number = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y)); var _local14:int; var _local15:Number = -(Number.MAX_VALUE); var _local16:int; while (_local16 < _local6) { _local8 = _local7[_local16]; _local25 = ((_local8.x * _local12) + (_local8.y * _local13)); if (_local25 > _local15){ _local15 = _local25; _local14 = _local16; }; _local16++; }; var _local17:Number = EdgeSeparation(_arg2, _arg3, _local14, _arg4, _arg5); if (_local17 > 0){ return (_local17); }; var _local18:int = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1); var _local19:Number = EdgeSeparation(_arg2, _arg3, _local18, _arg4, _arg5); if (_local19 > 0){ return (_local19); }; var _local20:int = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0; var _local21:Number = 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 _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); var _local10:Number = (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 _local18:Number; var _local24:Number; var _local25:Number; _arg1.pointCount = 0; _local6 = _arg3.R; _local7 = _arg2.m_localPosition; var _local8:Number = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local9:Number = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); _local6 = _arg5.R; _local7 = _arg4.m_localPosition; var _local10:Number = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y))); var _local11:Number = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y))); var _local12:Number = (_local10 - _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = ((_local12 * _local12) + (_local13 * _local13)); var _local15:Number = _arg2.m_radius; var _local16:Number = _arg4.m_radius; var _local17:Number = (_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; var _local19:b2ManifoldPoint = _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)); var _local20:Number = (0.5 * (_local8 + _local10)); var _local21:Number = (0.5 * (_local9 + _local11)); var _local22:Number = (_local20 - _arg3.position.x); var _local23:Number = (_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 _local17:Number; var _local32:Number; var _local33:Number; var _local34:Number; _arg1.pointCount = 0; _local12 = _arg5.R; _local11 = _arg4.m_localPosition; var _local13:Number = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y))); var _local14:Number = (_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; var _local15:Number = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y)); var _local16:Number = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y)); var _local18:int; var _local19:Number = -(Number.MAX_VALUE); var _local20:Number = _arg4.m_radius; var _local21:int = _arg2.m_vertexCount; var _local22:Array = _arg2.m_vertices; var _local23:Array = _arg2.m_normals; var _local24:int; 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; }; var _local25:int = _local18; var _local26:int = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0; _local11 = _local22[_local25]; var _local27:b2Vec2 = _local22[_local26]; var _local28:Number = (_local27.x - _local11.x); var _local29:Number = (_local27.y - _local11.y); var _local30:Number = Math.sqrt(((_local28 * _local28) + (_local29 * _local29))); _local28 = (_local28 / _local30); _local29 = (_local29 / _local30); _local7 = (_local15 - _local11.x); _local8 = (_local16 - _local11.y); var _local31:Number = ((_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 = 0; }; }; _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 parser.box2d.Collision
Section 49
//b2ContactID (parser.box2d.Collision.b2ContactID) package parser.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 = new b2ContactID(); _local1.key = key; return (_local1); } 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); } public function get key():uint{ return (_key); } } }//package parser.box2d.Collision
Section 50
//b2ContactPoint (parser.box2d.Collision.b2ContactPoint) package parser.box2d.Collision { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; public class b2ContactPoint { public var friction:Number; 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 velocity:b2Vec2; public function b2ContactPoint(){ position = new b2Vec2(); velocity = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package parser.box2d.Collision
Section 51
//b2Distance (parser.box2d.Collision.b2Distance) package parser.box2d.Collision { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.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 _local6:b2Vec2; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local4:Number = (100 * Number.MIN_VALUE); var _local5:int; 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 _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; var _local8:Array = s_p1s; var _local9:Array = s_p2s; var _local10:Array = s_points; var _local11:int; _arg1.SetV(_arg3.GetFirstVertex(_arg4)); _arg2.SetV(_arg5.GetFirstVertex(_arg6)); var _local12:Number = 0; var _local13 = 20; var _local14:int; 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 - ((_local15 * _local19) + (_local16 * _local20))) <= (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 _local19:Number; var _local20:Number; _local7 = _arg4.R; _local8 = _arg3.m_localPosition; var _local9:Number = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local10:Number = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); _local7 = _arg6.R; _local8 = _arg5.m_localPosition; var _local11:Number = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y))); var _local12:Number = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y))); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:Number = ((_local13 * _local13) + (_local14 * _local14)); var _local16:Number = (_arg3.m_radius - b2Settings.b2_toiSlop); var _local17:Number = (_arg5.m_radius - b2Settings.b2_toiSlop); var _local18:Number = (_local16 + _local17); if (_local15 > (_local18 * _local18)){ _local19 = Math.sqrt(((_local13 * _local13) + (_local14 * _local14))); _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(((_local13 * _local13) + (_local14 * _local14))); _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 _local35: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]; var _local14:b2Vec2 = _arg4[2]; var _local15:Number = _local6.x; var _local16:Number = _local6.y; var _local17:Number = _local7.x; var _local18:Number = _local7.y; var _local19:Number = _local8.x; var _local20:Number = _local8.y; var _local21:Number = (_local17 - _local15); var _local22:Number = (_local18 - _local16); var _local23:Number = (_local19 - _local15); var _local24:Number = (_local20 - _local16); var _local25:Number = (_local19 - _local17); var _local26:Number = (_local20 - _local18); var _local27:Number = -(((_local15 * _local21) + (_local16 * _local22))); var _local28:Number = ((_local17 * _local21) + (_local18 * _local22)); var _local29:Number = -(((_local15 * _local23) + (_local16 * _local24))); var _local30:Number = ((_local19 * _local23) + (_local20 * _local24)); var _local31:Number = -(((_local17 * _local25) + (_local18 * _local26))); var _local32:Number = ((_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); }; var _local33:Number = ((_local21 * _local24) - (_local22 * _local23)); var _local34:Number = (_local33 * ((_local15 * _local18) - (_local16 * _local17))); var _local36:Number = (_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); }; var _local37:Number = (_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); }; var _local38:Number = ((_local36 + _local37) + _local34); _local38 = (1 / _local38); var _local39:Number = (_local36 * _local38); var _local40:Number = (_local37 * _local38); var _local41:Number = ((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 _local12:Number; var _local13:Number; var _local14:Number; var _local9:b2Point = 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))); var _local10:Number = DistanceGeneric(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity); var _local11:Number = (_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 = _arg3.m_type; var _local8:int = _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 _local9:b2Vec2; var _local10:b2Vec2; var _local11:b2Vec2; var _local17:Number; var _local6:b2Vec2 = _arg5[0]; var _local7:b2Vec2 = _arg5[1]; var _local8:b2Vec2 = _arg3[0]; _local9 = _arg3[1]; _local10 = _arg4[0]; _local11 = _arg4[1]; var _local12:Number = -(_local7.x); var _local13:Number = -(_local7.y); var _local14:Number = (_local6.x - _local7.x); var _local15:Number = (_local6.y - _local7.y); var _local16:Number = 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 parser.box2d.Collision
Section 52
//b2Manifold (parser.box2d.Collision.b2Manifold) package parser.box2d.Collision { import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2Manifold { public var pointCount:int;// = 0 public var normal:b2Vec2; public var points:Array; public function b2Manifold(){ points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ManifoldPoint(); _local1++; }; normal = new b2Vec2(); } public function Set(_arg1:b2Manifold):void{ pointCount = _arg1.pointCount; var _local2:int; 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; while (_local1 < b2Settings.b2_maxManifoldPoints) { (points[_local1] as b2ManifoldPoint).Reset(); _local1++; }; normal.SetZero(); pointCount = 0; } } }//package parser.box2d.Collision
Section 53
//b2ManifoldPoint (parser.box2d.Collision.b2ManifoldPoint) package parser.box2d.Collision { import parser.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 parser.box2d.Collision
Section 54
//b2OBB (parser.box2d.Collision.b2OBB) package parser.box2d.Collision { import parser.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 parser.box2d.Collision
Section 55
//b2Pair (parser.box2d.Collision.b2Pair) package parser.box2d.Collision { import parser.box2d.Common.*; public class b2Pair { public var proxyId1:uint; public var userData;// = null 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 = 0xFFFF; public static var e_pairBuffered:uint = 1; public static var b2_nullProxy:uint = 0xFFFF; public static var b2_tableCapacity:int = 4096; 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 parser.box2d.Collision
Section 56
//b2PairCallback (parser.box2d.Collision.b2PairCallback) package parser.box2d.Collision { public class b2PairCallback { public function PairRemoved(_arg1, _arg2, _arg3):void{ } public function PairAdded(_arg1, _arg2){ return (null); } } }//package parser.box2d.Collision
Section 57
//b2PairManager (parser.box2d.Collision.b2PairManager) package parser.box2d.Collision { import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2PairManager { public var m_pairCount:int; public var m_pairBuffer:Array; public var m_hashTable:Array; public var m_callback:b2PairCallback; public var m_pairs:Array; public var m_pairBufferCount:int; 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 = 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 _local4:uint; if (_arg1 > _arg2){ _local4 = _arg1; _arg1 = _arg2; _arg2 = _local4; }; var _local3:uint = (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 _local5:b2Pair; var _local6:b2Proxy; var _local7:b2Proxy; var _local3:int; var _local4:Array = 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 = 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 _local7:uint; var _local8:uint; var _local9:*; if (_arg1 > _arg2){ _local7 = _arg1; _arg1 = _arg2; _arg2 = _local7; }; var _local4:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local5:uint = m_hashTable[_local4]; var _local6:b2Pair; 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 = 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 _local6:uint; if (_arg1 > _arg2){ _local6 = _arg1; _arg1 = _arg2; _arg2 = _local6; }; var _local3:uint = (Hash(_arg1, _arg2) & b2Pair.b2_tableMask); var _local4 = FindHash(_arg1, _arg2, _local3); if (_local4 != null){ return (_local4); }; var _local5:uint = 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 = (((_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 parser.box2d.Collision
Section 58
//b2Point (parser.box2d.Collision.b2Point) package parser.box2d.Collision { import parser.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 parser.box2d.Collision
Section 59
//b2Proxy (parser.box2d.Collision.b2Proxy) package parser.box2d.Collision { public class b2Proxy { public var overlapCount:uint; public var userData;// = null public var lowerBounds:Array; public var upperBounds:Array; public var timeStamp:uint; public function b2Proxy(){ lowerBounds = [uint(0), uint(0)]; upperBounds = [uint(0), uint(0)]; 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 parser.box2d.Collision
Section 60
//b2Segment (parser.box2d.Collision.b2Segment) package parser.box2d.Collision { import parser.box2d.Common.Math.*; import parser.box2d.Common.*; 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 _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local5:b2Vec2 = _arg3.p1; var _local6:Number = (_arg3.p2.x - _local5.x); var _local7:Number = (_arg3.p2.y - _local5.y); var _local8:Number = (p2.x - p1.x); var _local9:Number = (p2.y - p1.y); var _local10:Number = _local9; var _local11:Number = -(_local8); var _local12:Number = (100 * Number.MIN_VALUE); var _local13:Number = -(((_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 = ((-(_local7) * _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 parser.box2d.Collision
Section 61
//b2TimeOfImpact (parser.box2d.Collision.b2TimeOfImpact) package parser.box2d.Collision { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.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 _local25:Number; var _local26:b2XForm; var _local27:b2XForm; var _local28:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local7:Number = _arg1.m_sweepRadius; var _local8:Number = _arg3.m_sweepRadius; var _local9:Number = _arg2.t0; var _local10:Number = (_arg2.c.x - _arg2.c0.x); var _local11:Number = (_arg2.c.y - _arg2.c0.y); var _local12:Number = (_arg4.c.x - _arg4.c0.x); var _local13:Number = (_arg4.c.y - _arg4.c0.y); var _local14:Number = (_arg2.a - _arg2.a0); var _local15:Number = (_arg4.a - _arg4.a0); var _local16:Number = 0; var _local17:b2Vec2 = s_p1; var _local18:b2Vec2 = s_p2; var _local19 = 20; var _local20:int; var _local21:Number = 0; var _local22:Number = 0; var _local23:Number = 0; var _local24:Number = 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 parser.box2d.Collision
Section 62
//ClipVertex (parser.box2d.Collision.ClipVertex) package parser.box2d.Collision { import parser.box2d.Common.Math.*; public class ClipVertex { public var id:b2ContactID; public var v:b2Vec2; public function ClipVertex(){ v = new b2Vec2(); id = new b2ContactID(); super(); } } }//package parser.box2d.Collision
Section 63
//Features (parser.box2d.Collision.Features) package parser.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 get incidentVertex():int{ return (_incidentVertex); } public function set flip(_arg1:int):void{ _flip = _arg1; _m_id._key = ((_m_id._key & 0xFFFFFF) | ((_flip << 24) & 4278190080)); } public function set incidentEdge(_arg1:int):void{ _incidentEdge = _arg1; _m_id._key = ((_m_id._key & 4294902015) | ((_incidentEdge << 8) & 0xFF00)); } } }//package parser.box2d.Collision
Section 64
//b2Mat22 (parser.box2d.Common.Math.b2Mat22) package parser.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 SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{ col1.SetV(_arg1); col2.SetV(_arg2); } public function Set(_arg1:Number):void{ var _local2:Number; _local2 = Math.cos(_arg1); var _local3:Number = Math.sin(_arg1); col1.x = _local2; col2.x = -(_local3); col1.y = _local3; col2.y = _local2; } 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 _local4:Number; var _local6:Number; _local2 = col1.x; var _local3:Number = col2.x; _local4 = col1.y; var _local5:Number = 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 = col1.x; var _local5:Number = col2.x; var _local6:Number = col1.y; var _local7:Number = col2.y; var _local8:Number = ((_local4 * _local7) - (_local5 * _local6)); _local8 = (1 / _local8); _arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3))); _arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2))); return (_arg1); } } }//package parser.box2d.Common.Math
Section 65
//b2Math (parser.box2d.Common.Math.b2Math) package parser.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 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x)); return (_local3); } public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = 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 = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (((_local3 * _local3) + (_local4 * _local4))); } public static function b2Swap(_arg1:Array, _arg2:Array):void{ var _local3:* = _arg1[0]; _arg1[0] = _arg2[0]; _arg2[0] = _local3; } public static function b2AbsM(_arg1:b2Mat22):b2Mat22{ var _local2:b2Mat22 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2)); return (_local2); } public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y)); return (_local2); } public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x)); return (_local3); } public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Mat22 = 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 = (_arg1.x - _arg2.x); var _local4:Number = (_arg1.y - _arg2.y); return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4)))); } public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{ var _local3:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1)); var _local4:b2Vec2 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2)); var _local5:b2Mat22 = new b2Mat22(0, _local3, _local4); return (_local5); } public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y)); return (_local3); } public static function b2IsPowerOfTwo(_arg1:uint):Boolean{ var _local2:Boolean = (((_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 = Math.random(); _local3 = (((_arg2 - _arg1) * _local3) + _arg1); return (_local3); } public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{ var _local3:b2Vec2 = 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 = 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 = 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 parser.box2d.Common.Math
Section 66
//b2Sweep (parser.box2d.Common.Math.b2Sweep) package parser.box2d.Common.Math { public class b2Sweep { public var localCenter:b2Vec2; public var a:Number; public var c:b2Vec2; public var a0:Number; public var c0:b2Vec2; 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 _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); }; var _local3:b2Mat22 = _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 parser.box2d.Common.Math
Section 67
//b2Vec2 (parser.box2d.Common.Math.b2Vec2) package parser.box2d.Common.Math { public class b2Vec2 { public var y:Number; public var x:Number; public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function Add(_arg1:b2Vec2):void{ x = (x + _arg1.x); y = (y + _arg1.y); } 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 MulM(_arg1:b2Mat22):void{ var _local2:Number = x; x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y)); y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y)); } public function SetZero():void{ x = 0; y = 0; } public function MinV(_arg1:b2Vec2):void{ x = ((x < _arg1.x)) ? x : _arg1.x; y = ((y < _arg1.y)) ? y : _arg1.y; } public function Normalize():Number{ var _local1:Number = Math.sqrt(((x * x) + (y * y))); if (_local1 < Number.MIN_VALUE){ return (0); }; var _local2:Number = (1 / _local1); x = (x * _local2); y = (y * _local2); return (_local1); } public function CrossVF(_arg1:Number):void{ var _local2:Number = x; x = (_arg1 * y); y = (-(_arg1) * _local2); } 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 CrossFV(_arg1:Number):void{ var _local2:Number = x; x = (-(_arg1) * y); y = (_arg1 * _local2); } public function Abs():void{ if (x < 0){ x = -(x); }; if (y < 0){ y = -(y); }; } public function Subtract(_arg1:b2Vec2):void{ x = (x - _arg1.x); y = (y - _arg1.y); } public function Copy():b2Vec2{ return (new b2Vec2(x, y)); } public function MulTM(_arg1:b2Mat22):void{ var _local2:Number = 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 static function Make(_arg1:Number, _arg2:Number):b2Vec2{ return (new b2Vec2(_arg1, _arg2)); } } }//package parser.box2d.Common.Math
Section 68
//b2XForm (parser.box2d.Common.Math.b2XForm) package parser.box2d.Common.Math { public class b2XForm { public var position:b2Vec2; public var R:b2Mat22; 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 parser.box2d.Common.Math
Section 69
//b2Color (parser.box2d.Common.b2Color) package parser.box2d.Common { import parser.box2d.Common.Math.*; public class b2Color { private var _r:uint;// = 0 private var _g:uint;// = 0 private var _b:uint;// = 0 public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){ _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 set b(_arg1:Number):void{ _b = uint((0xFF * b2Math.b2Clamp(_arg1, 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 g(_arg1:Number):void{ _g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1))); } } }//package parser.box2d.Common
Section 70
//b2Settings (parser.box2d.Common.b2Settings) package parser.box2d.Common { import parser.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 parser.box2d.Common
Section 71
//b2CircleContact (parser.box2d.Dynamics.Contacts.b2CircleContact) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; public class b2CircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){ m_manifolds = [new b2Manifold()]; m0 = new b2Manifold(); super(_arg1, _arg2); m_manifold = m_manifolds[0]; m_manifold.pointCount = 0; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local8:b2ManifoldPoint; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = 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); var _local7:b2ContactPoint = 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); }; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2CircleContact(_arg1, _arg2)); } } }//package parser.box2d.Dynamics.Contacts
Section 72
//b2Contact (parser.box2d.Dynamics.Contacts.b2Contact) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.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 IsSolid():Boolean{ return (((m_flags & e_nonSolidFlag) == 0)); } public function GetShape1():b2Shape{ return (m_shape1); } public function GetShape2():b2Shape{ return (m_shape2); } public function GetNext():b2Contact{ return (m_next); } public function GetManifoldCount():int{ return (m_manifoldCount); } public function GetManifolds():Array{ return (null); } public function Update(_arg1:b2ContactListener):void{ var _local2:int = m_manifoldCount; Evaluate(_arg1); var _local3:int = m_manifoldCount; var _local4:b2Body = m_shape1.m_body; var _local5:b2Body = 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 _local2:int; s_registers = new Array(b2Shape.e_shapeTypeCount); var _local1:int; 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{ if (_arg1.m_manifoldCount > 0){ _arg1.m_shape1.m_body.WakeUp(); _arg1.m_shape2.m_body.WakeUp(); }; var _local3:int = _arg1.m_shape1.m_type; var _local4:int = _arg1.m_shape2.m_type; var _local5:b2ContactRegister = s_registers[_local3][_local4]; var _local6:Function = _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 _local8:b2Contact; var _local9:int; var _local10:b2Manifold; if (s_initialized == false){ InitializeRegisters(); s_initialized = true; }; var _local4:int = _arg1.m_type; var _local5:int = _arg2.m_type; var _local6:b2ContactRegister = s_registers[_local4][_local5]; var _local7:Function = _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 parser.box2d.Dynamics.Contacts
Section 73
//b2ContactConstraint (parser.box2d.Dynamics.Contacts.b2ContactConstraint) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; public class b2ContactConstraint { public var points:Array; public var normal:b2Vec2; public var restitution:Number; public var body1:b2Body; public var manifold:b2Manifold; public var body2:b2Body; public var friction:Number; public var pointCount:int; public function b2ContactConstraint(){ normal = new b2Vec2(); super(); points = new Array(b2Settings.b2_maxManifoldPoints); var _local1:int; while (_local1 < b2Settings.b2_maxManifoldPoints) { points[_local1] = new b2ContactConstraintPoint(); _local1++; }; } } }//package parser.box2d.Dynamics.Contacts
Section 74
//b2ContactConstraintPoint (parser.box2d.Dynamics.Contacts.b2ContactConstraintPoint) package parser.box2d.Dynamics.Contacts { import parser.box2d.Common.Math.*; public class b2ContactConstraintPoint { public var r2:b2Vec2; public var separation:Number; public var positionImpulse:Number; public var normalImpulse:Number; public var tangentMass:Number; public var equalizedMass: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 parser.box2d.Dynamics.Contacts
Section 75
//b2ContactEdge (parser.box2d.Dynamics.Contacts.b2ContactEdge) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; public class b2ContactEdge { public var other:b2Body; public var prev:b2ContactEdge; public var contact:b2Contact; public var next:b2ContactEdge; } }//package parser.box2d.Dynamics.Contacts
Section 76
//b2ContactRegister (parser.box2d.Dynamics.Contacts.b2ContactRegister) package parser.box2d.Dynamics.Contacts { public class b2ContactRegister { public var primary:Boolean; public var createFcn:Function; public var destroyFcn:Function; } }//package parser.box2d.Dynamics.Contacts
Section 77
//b2ContactResult (parser.box2d.Dynamics.Contacts.b2ContactResult) package parser.box2d.Dynamics.Contacts { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; public class b2ContactResult { public var position:b2Vec2; public var shape1:b2Shape; public var shape2:b2Shape; public var normalImpulse:Number; public var normal:b2Vec2; public var tangentImpulse:Number; public var id:b2ContactID; public function b2ContactResult(){ position = new b2Vec2(); normal = new b2Vec2(); id = new b2ContactID(); super(); } } }//package parser.box2d.Dynamics.Contacts
Section 78
//b2ContactSolver (parser.box2d.Dynamics.Contacts.b2ContactSolver) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.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 _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++; }; var _local9:int; _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 _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; var _local5:int; 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 _local3:b2Mat22; var _local4:b2Vec2; 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; var _local2:Number = 0; var _local5:int; 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 _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; var _local19:int; 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 _local2:b2ContactConstraint; var _local3:b2Manifold; var _local4:int; var _local5:b2ManifoldPoint; var _local6:b2ContactConstraintPoint; var _local1:int; 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 parser.box2d.Dynamics.Contacts
Section 79
//b2NullContact (parser.box2d.Dynamics.Contacts.b2NullContact) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; public class b2NullContact extends b2Contact { override public function Evaluate(_arg1:b2ContactListener):void{ } override public function GetManifolds():Array{ return (null); } } }//package parser.box2d.Dynamics.Contacts
Section 80
//b2PolyAndCircleContact (parser.box2d.Dynamics.Contacts.b2PolyAndCircleContact) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; public class b2PolyAndCircleContact extends b2Contact { private var m_manifolds:Array; public var m_manifold:b2Manifold; private var m0:b2Manifold; private static const s_evalCP:b2ContactPoint = new b2ContactPoint(); public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){ 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; var _local3:b2ManifoldPoint = m_manifold.points[0]; _local3.normalImpulse = 0; _local3.tangentImpulse = 0; } override public function Evaluate(_arg1:b2ContactListener):void{ var _local2:int; var _local3:b2Vec2; var _local4:b2Vec2; var _local5:b2ManifoldPoint; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local6:b2Body = m_shape1.m_body; var _local7:b2Body = 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); var _local8:Array = [false, false]; var _local9:b2ContactPoint = 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++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolyAndCircleContact(_arg1, _arg2)); } } }//package parser.box2d.Dynamics.Contacts
Section 81
//b2PolygonContact (parser.box2d.Dynamics.Contacts.b2PolygonContact) package parser.box2d.Dynamics.Contacts { import parser.box2d.Dynamics.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; 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 Evaluate(_arg1:b2ContactListener):void{ var _local2:b2Vec2; var _local3:b2Vec2; var _local4:b2ManifoldPoint; var _local7:b2ContactPoint; var _local8:int; var _local10:b2ManifoldPoint; var _local11:Boolean; var _local12:uint; var _local13:int; var _local5:b2Body = m_shape1.m_body; var _local6:b2Body = 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); var _local9:Array = [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++; }; } override public function GetManifolds():Array{ return (m_manifolds); } public static function Destroy(_arg1:b2Contact, _arg2):void{ } public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{ return (new b2PolygonContact(_arg1, _arg2)); } } }//package parser.box2d.Dynamics.Contacts
Section 82
//b2DistanceJoint (parser.box2d.Dynamics.Joints.b2DistanceJoint) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2DistanceJoint extends b2Joint { public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_bias:Number; public var m_gamma:Number; public var m_u:b2Vec2; public var m_mass:Number; public var m_impulse:Number; public var m_dampingRatio:Number; public var m_frequencyHz: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 InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:Number; var _local4:b2Body; var _local5:b2Body; var _local6:Number; var _local8: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); var _local7:Number = (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); var _local9:Number = (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); var _local10:Number = 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(); }; var _local11:Number = ((_local6 * m_u.y) - (_local7 * m_u.x)); var _local12:Number = ((_local8 * m_u.y) - (_local9 * m_u.x)); var _local13:Number = (((_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 GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2(); _local1.SetV(m_u); _local1.Multiply((m_inv_dt * m_impulse)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local1:b2Mat22; if (m_frequencyHz > 0){ return (true); }; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local1 = _local2.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local6:Number = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5)); _local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5)); _local4 = _local6; _local1 = _local3.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local8:Number = (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; var _local9:Number = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4); var _local10:Number = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5); var _local11:Number = Math.sqrt(((_local9 * _local9) + (_local10 * _local10))); _local9 = (_local9 / _local11); _local10 = (_local10 / _local11); var _local12:Number = (_local11 - m_length); _local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local13:Number = (-(m_mass) * _local12); m_u.Set(_local9, _local10); var _local14:Number = (_local13 * m_u.x); var _local15:Number = (_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 SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Mat22; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; _local2 = _local3.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local7:Number = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6)); _local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6)); _local5 = _local7; _local2 = _local4.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = (_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local6)); var _local11:Number = (_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local5)); var _local12:Number = (_local4.m_linearVelocity.x + (-(_local4.m_angularVelocity) * _local9)); var _local13:Number = (_local4.m_linearVelocity.y + (_local4.m_angularVelocity * _local8)); var _local14:Number = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11))); var _local15:Number = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse))); m_impulse = (m_impulse + _local15); var _local16:Number = (_local15 * m_u.x); var _local17:Number = (_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 parser.box2d.Dynamics.Joints
Section 83
//b2DistanceJointDef (parser.box2d.Dynamics.Joints.b2DistanceJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; public class b2DistanceJointDef extends b2JointDef { public var localAnchor1:b2Vec2; public var length:Number; public var dampingRatio:Number; public var localAnchor2:b2Vec2; public var frequencyHz:Number; 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{ body1 = _arg1; body2 = _arg2; localAnchor1.SetV(body1.GetLocalPoint(_arg3)); localAnchor2.SetV(body2.GetLocalPoint(_arg4)); var _local5:Number = (_arg4.x - _arg3.x); var _local6:Number = (_arg4.y - _arg3.y); length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); frequencyHz = 0; dampingRatio = 0; } } }//package parser.box2d.Dynamics.Joints
Section 84
//b2GearJoint (parser.box2d.Dynamics.Joints.b2GearJoint) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2GearJoint extends b2Joint { public var m_ground2:b2Body; 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_revolute2:b2RevoluteJoint; public var m_force:Number; public var m_mass:Number; public var m_prismatic2:b2PrismaticJoint; public var m_ground1:b2Body; public var m_revolute1:b2RevoluteJoint; public var m_prismatic1:b2PrismaticJoint; public var m_constant:Number; public var m_J:b2Jacobian; public function b2GearJoint(_arg1:b2GearJointDef){ 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); var _local2:int = _arg1.joint1.m_type; var _local3:int = _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 InitVelocityConstraints(_arg1:b2TimeStep):void{ 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 _local15:Number; var _local2:b2Body = m_ground1; var _local3:b2Body = m_ground2; var _local4:b2Body = m_body1; var _local5:b2Body = m_body2; var _local14:Number = 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 = m_body2.m_xf.R; var _local2:Number = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x); var _local3:Number = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y); var _local4:Number = ((_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); } override public function GetReactionForce():b2Vec2{ var _local1:b2Vec2 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y)); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local4:Number; var _local5:Number; var _local1:Number = 0; var _local2:b2Body = m_body1; var _local3:b2Body = 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(); }; var _local6:Number = (m_constant - (_local4 + (m_ratio * _local5))); var _local7:Number = (-(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)); } public function GetRatio():Number{ return (m_ratio); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = m_J.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local5:Number = ((-(_arg1.inv_dt) * m_mass) * _local4); m_force = (m_force + _local5); var _local6:Number = (_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 parser.box2d.Dynamics.Joints
Section 85
//b2GearJointDef (parser.box2d.Dynamics.Joints.b2GearJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Common.Math.*; public class b2GearJointDef extends b2JointDef { public var joint1:b2Joint; public var joint2:b2Joint; public var ratio:Number; public function b2GearJointDef(){ type = b2Joint.e_gearJoint; joint1 = null; joint2 = null; ratio = 1; } } }//package parser.box2d.Dynamics.Joints
Section 86
//b2Jacobian (parser.box2d.Dynamics.Joints.b2Jacobian) package parser.box2d.Dynamics.Joints { import parser.box2d.Common.Math.*; public class b2Jacobian { public var linear1:b2Vec2; public var linear2:b2Vec2; public var angular1:Number; public var angular2: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 parser.box2d.Dynamics.Joints
Section 87
//b2Joint (parser.box2d.Dynamics.Joints.b2Joint) package parser.box2d.Dynamics.Joints { import flash.display.*; import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; 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 sprite:Sprite; 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_prismaticJoint:int = 2; public static const e_equalLimits:int = 3; public static const e_lineJoint:int = 7; public static const e_gearJoint:int = 6; public static const e_springJoint:int = 8; public static const e_atUpperLimit:int = 2; public static const e_atLowerLimit:int = 1; public static const e_revoluteJoint:int = 1; public static const e_inactiveLimit:int = 0; public static const e_pulleyJoint:int = 4; public static const e_unknownJoint:int = 0; public static const e_distanceJoint:int = 3; 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 GetBody2():b2Body{ return (m_body2); } public function GetAnchor1():b2Vec2{ return (null); } public function GetAnchor2():b2Vec2{ return (null); } public function GetNext():b2Joint{ return (m_next); } public function GetType():int{ return (m_type); } public function InitVelocityConstraints(_arg1:b2TimeStep):void{ } 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; 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; case e_springJoint: _local3 = new b2SpringJoint((_arg1 as b2SpringJointDef)); break; default: break; }; return (_local3); } } }//package parser.box2d.Dynamics.Joints
Section 88
//b2JointDef (parser.box2d.Dynamics.Joints.b2JointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; public class b2JointDef { public var body2:b2Body; public var type:int; public var userData; public var collideConnected:Boolean; public var body1:b2Body; public function b2JointDef(){ type = b2Joint.e_unknownJoint; userData = null; body1 = null; body2 = null; collideConnected = false; } } }//package parser.box2d.Dynamics.Joints
Section 89
//b2JointEdge (parser.box2d.Dynamics.Joints.b2JointEdge) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; public class b2JointEdge { public var other:b2Body; public var next:b2JointEdge; public var prev:b2JointEdge; public var joint:b2Joint; } }//package parser.box2d.Dynamics.Joints
Section 90
//b2MouseJoint (parser.box2d.Dynamics.Joints.b2MouseJoint) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2MouseJoint extends b2Joint { private var K1:b2Mat22; private var K:b2Mat22; public var m_beta:Number; public var m_mass:b2Mat22; private var K2:b2Mat22; public var m_target:b2Vec2; public var m_gamma:Number; public var m_impulse:b2Vec2; public var m_C:b2Vec2; public var m_localAnchor:b2Vec2; public var m_maxForce:Number; public function b2MouseJoint(_arg1:b2MouseJointDef){ var _local3: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); var _local2:Number = (m_target.x - m_body2.m_xf.position.x); _local3 = (m_target.y - m_body2.m_xf.position.y); var _local4:b2Mat22 = 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(); var _local5:Number = m_body2.m_mass; var _local6:Number = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz); var _local7:Number = (((2 * _local5) * _arg1.dampingRatio) * _local6); var _local8:Number = ((_arg1.timeStep * _local5) * (_local6 * _local6)); m_gamma = (1 / (_local7 + _local8)); m_beta = (_local8 / (_local7 + _local8)); } public function SetTarget(_arg1:b2Vec2):void{ if (m_body2.IsSleeping()){ m_body2.WakeUp(); }; m_target = _arg1; } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor)); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local7:Number; var _local8: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); var _local6:Number = ((_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); var _local9:Number = (_arg1.dt * m_impulse.x); var _local10:Number = (_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 GetAnchor1():b2Vec2{ return (m_target); } override public function GetReactionTorque():Number{ return (0); } override public function GetReactionForce():b2Vec2{ return (m_impulse); } override public function SolvePositionConstraints():Boolean{ return (true); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local3:b2Mat22; var _local4:Number; var _local5:Number; var _local2:b2Body = m_body2; _local3 = _local2.m_xf.R; var _local6:Number = (m_localAnchor.x - _local2.m_sweep.localCenter.x); var _local7:Number = (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; var _local8:Number = (_local2.m_linearVelocity.x + (-(_local2.m_angularVelocity) * _local7)); var _local9:Number = (_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)); var _local10:Number = (-(_arg1.inv_dt) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5))); var _local11:Number = (-(_arg1.inv_dt) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5))); var _local12:Number = m_impulse.x; var _local13:Number = m_impulse.y; m_impulse.x = (m_impulse.x + _local10); m_impulse.y = (m_impulse.y + _local11); var _local14:Number = m_impulse.Length(); if (_local14 > m_maxForce){ m_impulse.Multiply((m_maxForce / _local14)); }; _local10 = (m_impulse.x - _local12); _local11 = (m_impulse.y - _local13); var _local15:Number = (_arg1.dt * _local10); var _local16:Number = (_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 parser.box2d.Dynamics.Joints
Section 91
//b2MouseJointDef (parser.box2d.Dynamics.Joints.b2MouseJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Common.Math.*; public class b2MouseJointDef extends b2JointDef { public var timeStep:Number; public var target:b2Vec2; public var maxForce:Number; public var dampingRatio:Number; public var frequencyHz:Number; public function b2MouseJointDef(){ target = new b2Vec2(); super(); type = b2Joint.e_mouseJoint; maxForce = 0; frequencyHz = 5; dampingRatio = 0.7; timeStep = (1 / 60); } } }//package parser.box2d.Dynamics.Joints
Section 92
//b2PrismaticJoint (parser.box2d.Dynamics.Joints.b2PrismaticJoint) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2PrismaticJoint extends b2Joint { public var m_limitForce:Number; public var m_lowerTranslation:Number; public var m_localXAxis1:b2Vec2; public var m_refAngle:Number; public var m_torque:Number; public var m_motorForce:Number; public var m_enableLimit:Boolean; public var m_angularMass:Number; public var m_maxMotorForce:Number; public var m_localYAxis1:b2Vec2; public var m_force:Number; public var m_motorMass:Number; public var m_upperTranslation:Number; public var m_localAnchor1:b2Vec2; public var m_localAnchor2:b2Vec2; public var m_limitState:int; public var m_linearMass:Number; public var m_motorJacobian:b2Jacobian; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_enableMotor:Boolean; public var m_linearJacobian:b2Jacobian; 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 SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local8:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; var _local4:Number = _local2.m_invMass; var _local5:Number = _local3.m_invMass; var _local6:Number = _local2.m_invI; var _local7:Number = _local3.m_invI; var _local9:Number = m_linearJacobian.Compute(_local2.m_linearVelocity, _local2.m_angularVelocity, _local3.m_linearVelocity, _local3.m_angularVelocity); var _local10:Number = ((-(_arg1.inv_dt) * m_linearMass) * _local9); m_force = (m_force + _local10); var _local11:Number = (_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)); var _local12:Number = (_local3.m_angularVelocity - _local2.m_angularVelocity); var _local13:Number = ((-(_arg1.inv_dt) * m_angularMass) * _local12); m_torque = (m_torque + _local13); var _local14:Number = (_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)); }; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function GetUpperLimit():Number{ return (m_upperTranslation); } public function GetLowerLimit():Number{ return (m_lowerTranslation); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } public function GetJointTranslation():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:b2Vec2 = _local1.GetWorldPoint(m_localAnchor1); var _local5:b2Vec2 = _local2.GetWorldPoint(m_localAnchor2); var _local6:Number = (_local5.x - _local4.x); var _local7:Number = (_local5.y - _local4.y); var _local8:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local9:Number = ((_local8.x * _local6) + (_local8.y * _local7)); return (_local9); } public function GetMotorSpeed():Number{ return (m_motorSpeed); } override public function GetReactionForce():b2Vec2{ var _local1:b2Mat22 = m_body1.m_xf.R; var _local2:Number = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y))); var _local3:Number = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y))); var _local4:Number = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y))); var _local5:Number = (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 _local9:b2Mat22; var _local10:Number; var _local29:Number; var _local30:Number; var _local31:Number; var _local32:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = _local3.m_invMass; var _local6:Number = _local4.m_invMass; var _local7:Number = _local3.m_invI; var _local8:Number = _local4.m_invI; _local9 = _local3.m_xf.R; var _local11:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local12:Number = (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; var _local13:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local14:Number = (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; var _local15:Number = (_local3.m_sweep.c.x + _local11); var _local16:Number = (_local3.m_sweep.c.y + _local12); var _local17:Number = (_local4.m_sweep.c.x + _local13); var _local18:Number = (_local4.m_sweep.c.y + _local14); var _local19:Number = (_local17 - _local15); var _local20:Number = (_local18 - _local16); _local9 = _local3.m_xf.R; var _local21:Number = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y)); var _local22:Number = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y)); var _local23:Number = ((_local21 * _local19) + (_local22 * _local20)); _local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection); var _local24:Number = (-(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)); var _local25:Number = b2Math.b2Abs(_local23); var _local26:Number = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle); _local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection); var _local27:Number = (-(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(); var _local28:Number = 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 SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetJointSpeed():Number{ var _local3:b2Mat22; var _local1:b2Body = m_body1; var _local2:b2Body = m_body2; _local3 = _local1.m_xf.R; var _local4:Number = (m_localAnchor1.x - _local1.m_sweep.localCenter.x); var _local5:Number = (m_localAnchor1.y - _local1.m_sweep.localCenter.y); var _local6:Number = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)); _local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)); _local4 = _local6; _local3 = _local2.m_xf.R; var _local7:Number = (m_localAnchor2.x - _local2.m_sweep.localCenter.x); var _local8:Number = (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; var _local9:Number = (_local1.m_sweep.c.x + _local4); var _local10:Number = (_local1.m_sweep.c.y + _local5); var _local11:Number = (_local2.m_sweep.c.x + _local7); var _local12:Number = (_local2.m_sweep.c.y + _local8); var _local13:Number = (_local11 - _local9); var _local14:Number = (_local12 - _local10); var _local15:b2Vec2 = _local1.GetWorldVector(m_localXAxis1); var _local16:b2Vec2 = _local1.m_linearVelocity; var _local17:b2Vec2 = _local2.m_linearVelocity; var _local18:Number = _local1.m_angularVelocity; var _local19:Number = _local2.m_angularVelocity; var _local20:Number = (((_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); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5: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 _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (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; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _local3.m_invI; _local4 = _local2.m_xf.R; var _local14:Number = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y)); var _local15:Number = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y)); var _local16:Number = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x); var _local17:Number = ((_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 EnableLimit(_arg1:Boolean):void{ m_enableLimit = _arg1; } public function SetMaxMotorForce(_arg1:Number):void{ m_maxMotorForce = _arg1; } override public function GetReactionTorque():Number{ return (m_torque); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerTranslation = _arg1; m_upperTranslation = _arg2; } } }//package parser.box2d.Dynamics.Joints
Section 93
//b2PrismaticJointDef (parser.box2d.Dynamics.Joints.b2PrismaticJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; public class b2PrismaticJointDef extends b2JointDef { public var motorSpeed:Number; public var localAxis1:b2Vec2; public var referenceAngle:Number; public var upperTranslation:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var enableMotor:Boolean; public var maxMotorForce:Number; 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 parser.box2d.Dynamics.Joints
Section 94
//b2PulleyJoint (parser.box2d.Dynamics.Joints.b2PulleyJoint) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2PulleyJoint extends b2Joint { public var m_limitState1:int; public var m_limitState2:int; public var m_ground:b2Body; public var m_maxLength2:Number; public var m_maxLength1:Number; public var m_limitPositionImpulse1:Number; public var m_limitPositionImpulse2:Number; public var m_force:Number; public var m_constant:Number; public var m_positionImpulse: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_limitMass1:Number; public var m_limitMass2:Number; public var m_pulleyMass:Number; public var m_u1:b2Vec2; public var m_limitForce1:Number; public var m_limitForce2:Number; public var m_u2:b2Vec2; 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 = 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 = m_u2.Copy(); _local1.Multiply(m_force); return (_local1); } override public function SolvePositionConstraints():Boolean{ var _local3:b2Mat22; 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 _local1:b2Body = m_body1; var _local2:b2Body = m_body2; var _local4:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local5:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local6:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local7:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local23:Number = 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 _local4:b2Mat22; var _local23:Number; var _local24:Number; var _local25:Number; var _local26:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = (_local2.m_sweep.c.x + _local5); var _local11:Number = (_local2.m_sweep.c.y + _local6); var _local12:Number = (_local3.m_sweep.c.x + _local8); var _local13:Number = (_local3.m_sweep.c.y + _local9); var _local14:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local15:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local16:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local17:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); m_u1.Set((_local10 - _local14), (_local11 - _local15)); m_u2.Set((_local12 - _local16), (_local13 - _local17)); var _local18:Number = m_u1.Length(); var _local19:Number = 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(); }; var _local20:Number = ((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; }; var _local21:Number = ((_local5 * m_u1.y) - (_local6 * m_u1.x)); var _local22:Number = ((_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); } override public function SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; 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 _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local5:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local6:Number = (m_localAnchor1.y - _local2.m_sweep.localCenter.y); var _local7:Number = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6)); _local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6)); _local5 = _local7; _local4 = _local3.m_xf.R; var _local8:Number = (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 = m_body1.GetWorldPoint(m_localAnchor1); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor1.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor1.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetLength2():Number{ var _local1:b2Vec2 = m_body2.GetWorldPoint(m_localAnchor2); var _local2:Number = (m_ground.m_xf.position.x + m_groundAnchor2.x); var _local3:Number = (m_ground.m_xf.position.y + m_groundAnchor2.y); var _local4:Number = (_local1.x - _local2); var _local5:Number = (_local1.y - _local3); return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5)))); } public function GetGroundAnchor1():b2Vec2{ var _local1:b2Vec2 = m_ground.m_xf.position.Copy(); _local1.Add(m_groundAnchor1); return (_local1); } } }//package parser.box2d.Dynamics.Joints
Section 95
//b2PulleyJointDef (parser.box2d.Dynamics.Joints.b2PulleyJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; public class b2PulleyJointDef extends b2JointDef { public var maxLength1:Number; public var maxLength2:Number; public var length1:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var groundAnchor1:b2Vec2; public var groundAnchor2:b2Vec2; public var ratio:Number; public var length2:Number; 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{ body1 = _arg1; body2 = _arg2; groundAnchor1.SetV(_arg3); groundAnchor2.SetV(_arg4); localAnchor1 = body1.GetLocalPoint(_arg5); localAnchor2 = body2.GetLocalPoint(_arg6); var _local8:Number = (_arg5.x - _arg3.x); var _local9:Number = (_arg5.y - _arg3.y); length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9))); var _local10:Number = (_arg6.x - _arg4.x); var _local11:Number = (_arg6.y - _arg4.y); length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11))); ratio = _arg7; var _local12:Number = (length1 + (ratio * length2)); maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength)); maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio); } } }//package parser.box2d.Dynamics.Joints
Section 96
//b2RevoluteJoint (parser.box2d.Dynamics.Joints.b2RevoluteJoint) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; import parser.box2d.Common.*; public class b2RevoluteJoint extends b2Joint { public var m_limitForce:Number; public var m_pivotMass:b2Mat22; public var m_motorForce:Number; 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_enableMotor:Boolean; public var m_referenceAngle:Number; public var m_limitPositionImpulse:Number; public var m_motorSpeed:Number; public var m_upperAngle:Number; public var m_lowerAngle:Number; public var m_maxMotorTorque: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 SolveVelocityConstraints(_arg1:b2TimeStep):void{ var _local4:b2Mat22; var _local5:Number; var _local10:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local2:b2Body = m_body1; var _local3:b2Body = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (m_localAnchor1.x - _local2.m_sweep.localCenter.x); var _local7:Number = (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; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local11:Number = (((_local3.m_linearVelocity.x + (-(_local3.m_angularVelocity) * _local9)) - _local2.m_linearVelocity.x) - (-(_local2.m_angularVelocity) * _local7)); var _local12:Number = (((_local3.m_linearVelocity.y + (_local3.m_angularVelocity * _local8)) - _local2.m_linearVelocity.y) - (_local2.m_angularVelocity * _local6)); var _local13:Number = (-(_arg1.inv_dt) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12))); var _local14:Number = (-(_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); var _local15:Number = (_arg1.dt * _local13); var _local16:Number = (_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)); }; } override public function GetAnchor1():b2Vec2{ return (m_body1.GetWorldPoint(m_localAnchor1)); } override public function GetAnchor2():b2Vec2{ return (m_body2.GetWorldPoint(m_localAnchor2)); } public function GetUpperLimit():Number{ return (m_upperAngle); } public function GetLowerLimit():Number{ return (m_lowerAngle); } public function EnableMotor(_arg1:Boolean):void{ m_enableMotor = _arg1; } 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 _local6:b2Mat22; var _local25:Number; var _local26:Number; var _local3:b2Body = m_body1; var _local4:b2Body = m_body2; var _local5:Number = 0; _local6 = _local3.m_xf.R; var _local7:Number = (m_localAnchor1.x - _local3.m_sweep.localCenter.x); var _local8:Number = (m_localAnchor1.y - _local3.m_sweep.localCenter.y); var _local9:Number = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8)); _local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8)); _local7 = _local9; _local6 = _local4.m_xf.R; var _local10:Number = (m_localAnchor2.x - _local4.m_sweep.localCenter.x); var _local11:Number = (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; var _local12:Number = (_local3.m_sweep.c.x + _local7); var _local13:Number = (_local3.m_sweep.c.y + _local8); var _local14:Number = (_local4.m_sweep.c.x + _local10); var _local15:Number = (_local4.m_sweep.c.y + _local11); var _local16:Number = (_local14 - _local12); var _local17:Number = (_local15 - _local13); _local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17))); var _local18:Number = _local3.m_invMass; var _local19:Number = _local4.m_invMass; var _local20:Number = _local3.m_invI; var _local21:Number = _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)); var _local22:Number = tImpulse.x; var _local23:Number = 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(); var _local24:Number = 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 SetMotorSpeed(_arg1:Number):void{ m_motorSpeed = _arg1; } public function GetJointSpeed():Number{ return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity)); } 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)); } public function GetMotorTorque():Number{ return (m_motorForce); } override public function InitVelocityConstraints(_arg1:b2TimeStep):void{ var _local2:b2Body; var _local3:b2Body; var _local4:b2Mat22; var _local5:Number; var _local7:Number; var _local14:Number; _local2 = m_body1; _local3 = m_body2; _local4 = _local2.m_xf.R; var _local6:Number = (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; var _local8:Number = (m_localAnchor2.x - _local3.m_sweep.localCenter.x); var _local9:Number = (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; var _local10:Number = _local2.m_invMass; var _local11:Number = _local3.m_invMass; var _local12:Number = _local2.m_invI; var _local13:Number = _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; } override public function GetReactionTorque():Number{ return (m_limitForce); } public function IsLimitEnabled():Boolean{ return (m_enableLimit); } public function IsMotorEnabled():Boolean{ return (m_enableMotor); } public function SetLimits(_arg1:Number, _arg2:Number):void{ m_lowerAngle = _arg1; m_upperAngle = _arg2; } } }//package parser.box2d.Dynamics.Joints
Section 97
//b2RevoluteJointDef (parser.box2d.Dynamics.Joints.b2RevoluteJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; public class b2RevoluteJointDef extends b2JointDef { public var upperAngle:Number; public var enableMotor:Boolean; public var referenceAngle:Number; public var motorSpeed:Number; public var localAnchor1:b2Vec2; public var localAnchor2:b2Vec2; public var enableLimit:Boolean; public var lowerAngle:Number; public var maxMotorTorque:Number; 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 parser.box2d.Dynamics.Joints
Section 98
//b2SpringJoint (parser.box2d.Dynamics.Joints.b2SpringJoint) package parser.box2d.Dynamics.Joints { public class b2SpringJoint extends b2RevoluteJoint { public var springConstant:int; public var springDamping:Number; public function b2SpringJoint(_arg1:b2SpringJointDef){ springConstant = _arg1.springConstant; springDamping = _arg1.springDamping; super(_arg1); } public function updateSpring():void{ var _local1:Number = GetJointAngle(); var _local2:Number = GetJointSpeed(); var _local3:Number = (Math.abs((_local1 * springConstant)) + Math.abs((_local2 * springDamping))); SetMaxMotorTorque(_local3); SetMotorSpeed((-(_local1) * 100)); } } }//package parser.box2d.Dynamics.Joints
Section 99
//b2SpringJointDef (parser.box2d.Dynamics.Joints.b2SpringJointDef) package parser.box2d.Dynamics.Joints { import parser.box2d.Dynamics.*; import parser.box2d.Common.Math.*; public class b2SpringJointDef extends b2RevoluteJointDef { public var springConstant:int; public var springDamping:Number; public function b2SpringJointDef(){ type = b2Joint.e_springJoint; localAnchor1.Set(0, 0); localAnchor2.Set(0, 0); lowerAngle = 0; upperAngle = 0; enableLimit = false; maxMotorTorque = 0; motorSpeed = 0; referenceAngle = 0; enableMotor = true; springConstant = 0; springDamping = 0; } } }//package parser.box2d.Dynamics.Joints
Section 100
//b2Body (parser.box2d.Dynamics.b2Body) package parser.box2d.Dynamics { import flash.display.*; import parser.objects.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import parser.box2d.Common.*; import parser.box2d.Dynamics.Contacts.*; public class b2Body { public var m_xf:b2XForm; public var m_contactList:b2ContactEdge; public var m_angularVelocity:Number; public var m_invI:Number; public var id:uint; public var m_shapeCount:int; public var m_torque:Number; public var m_flags:uint; public var m_linearVelocity:b2Vec2; public var object:BasicObject; public var m_world:b2World; public var bodyName:String; public var alias:String; public var fixedSprite:Boolean; public var m_next:b2Body; public var m_mass:Number; public var m_shapeList:b2Shape; public var instance:InstanceObject; public var shape:Sprite; public var m_userData; public var m_force:b2Vec2; public var m_sweep:b2Sweep; public var m_invMass:Number; public var isDynamic:Boolean; public var sprite:Sprite; public var m_linearDamping:Number; public var m_type:int; public var m_angularDamping:Number; public var m_prev:b2Body; public var m_sleepTime:Number; 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){ 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); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = 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 SetLinearVelocity(_arg1:b2Vec2):void{ m_linearVelocity.SetV(_arg1); } public function IsSleeping():Boolean{ return (((m_flags & e_sleepFlag) == e_sleepFlag)); } public function SynchronizeTransform():void{ m_xf.R.Set(m_sweep.a); var _local1:b2Mat22 = m_xf.R; var _local2:b2Vec2 = 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 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 SetMassFromShapes():void{ var _local1:b2Shape; if (m_world.m_lock == true){ return; }; m_mass = 0; m_invMass = 0; m_I = 0; m_invI = 0; var _local2:Number = 0; var _local3:Number = 0; var _local4:b2MassData = 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); var _local5:b2Mat22 = m_xf.R; var _local6:b2Vec2 = 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; }; var _local7:int = 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 SetXForm(_arg1:b2Vec2, _arg2:Number=0):Boolean{ var _local3:b2Shape; 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); var _local4:b2Mat22 = m_xf.R; var _local5:b2Vec2 = 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); var _local6:Boolean; _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 AttachShape(_arg1:b2Shape):void{ _arg1.m_next = m_shapeList; m_shapeList = _arg1; m_shapeCount++; _arg1.m_body = this; _arg1.CreateProxy(m_world.m_broadPhase, m_xf); _arg1.UpdateSweepRadius(m_sweep.localCenter); } public function SetAngularVelocity(_arg1:Number):void{ m_angularVelocity = _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 GetLinearVelocityFromLocalPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = 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 SynchronizeShapes():Boolean{ var _local4:b2Shape; var _local1:b2XForm = s_xf1; _local1.R.Set(m_sweep.a0); var _local2:b2Mat22 = _local1.R; var _local3:b2Vec2 = 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))); var _local5:Boolean; _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 GetMass():Number{ return (m_mass); } public function GetAngle():Number{ return (m_sweep.a); } public function SetMass(_arg1:b2MassData):void{ var _local2:b2Shape; 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); var _local3:b2Mat22 = m_xf.R; var _local4:b2Vec2 = 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; }; var _local5:int = 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 GetNext():b2Body{ return (m_next); } public function GetWorldCenter():b2Vec2{ return (m_sweep.c); } public function GetUserData(){ return (m_userData); } public function SetUserData(_arg1):void{ m_userData = _arg1; } public function GetLocalVector(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulTMV(m_xf.R, _arg1)); } public function WakeUp():void{ m_flags = (m_flags & ~(e_sleepFlag)); m_sleepTime = 0; } public function GetLinearVelocityFromWorldPoint(_arg1:b2Vec2):b2Vec2{ return (new b2Vec2((m_linearVelocity.x + (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (m_linearVelocity.x - (m_angularVelocity * (_arg1.x - m_sweep.c.x))))); } public function IsFrozen():Boolean{ return (((m_flags & e_frozenFlag) == e_frozenFlag)); } public function GetPosition():b2Vec2{ return (m_xf.position); } public function GetLocalCenter():b2Vec2{ return (m_sweep.localCenter); } public function IsDynamic():Boolean{ return ((m_type == e_dynamicType)); } public function GetInertia():Number{ return (m_I); } public function GetJointList():b2JointEdge{ return (m_jointList); } public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{ return (b2Math.b2MulXT(m_xf, _arg1)); } 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 GetAngularVelocity():Number{ return (m_angularVelocity); } public function IsConnected(_arg1:b2Body):Boolean{ var _local2:b2JointEdge = m_jointList; while (_local2) { if (_local2.other == _arg1){ return ((_local2.joint.m_collideConnected == false)); }; _local2 = _local2.next; }; return (false); } 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{ if (m_world.m_lock == true){ return (null); }; var _local2:b2Shape = 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 DestroyShape(_arg1:b2Shape):void{ if (m_world.m_lock == true){ return; }; _arg1.DestroyProxy(m_world.m_broadPhase); var _local2:b2Shape = m_shapeList; var _local3:b2Shape; var _local4:Boolean; 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 IsBullet():Boolean{ return (((m_flags & e_bulletFlag) == e_bulletFlag)); } public function AllowSleeping(_arg1:Boolean):void{ if (_arg1){ m_flags = (m_flags | e_allowSleepFlag); } else { m_flags = (m_flags & ~(e_allowSleepFlag)); WakeUp(); }; } public function ApplyTorque(_arg1:Number):void{ if (IsSleeping()){ WakeUp(); }; m_torque = (m_torque + _arg1); } public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{ var _local2:b2Mat22 = m_xf.R; var _local3:b2Vec2 = 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 GetLinearVelocity():b2Vec2{ return (m_linearVelocity); } } }//package parser.box2d.Dynamics
Section 101
//b2BodyDef (parser.box2d.Dynamics.b2BodyDef) package parser.box2d.Dynamics { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import parser.box2d.Collision.*; import parser.box2d.Dynamics.Contacts.*; public class b2BodyDef { public var angularDamping:Number; public var angle:Number; public var isSleeping:Boolean; public var position:b2Vec2; public var isBullet:Boolean; public var allowSleep:Boolean; public var userData; public var fixedRotation:Boolean; 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 parser.box2d.Dynamics
Section 102
//b2BoundaryListener (parser.box2d.Dynamics.b2BoundaryListener) package parser.box2d.Dynamics { public class b2BoundaryListener { public function Violation(_arg1:b2Body):void{ } } }//package parser.box2d.Dynamics
Section 103
//b2ContactFilter (parser.box2d.Dynamics.b2ContactFilter) package parser.box2d.Dynamics { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; import parser.box2d.Dynamics.Contacts.*; public class b2ContactFilter { public static var b2_defaultFilter:b2ContactFilter = new (b2ContactFilter); ; public function ShouldCollide(_arg1:b2Shape, _arg2:b2Shape):Boolean{ var _local3:b2FilterData = _arg1.GetFilterData(); var _local4:b2FilterData = _arg2.GetFilterData(); if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){ return ((_local3.groupIndex > 0)); }; var _local5:Boolean = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0)))); return (_local5); } } }//package parser.box2d.Dynamics
Section 104
//b2ContactListener (parser.box2d.Dynamics.b2ContactListener) package parser.box2d.Dynamics { import parser.box2d.Collision.*; import parser.box2d.Dynamics.Contacts.*; public class b2ContactListener { public function Add(_arg1:b2ContactPoint):void{ } public function Remove(_arg1:b2ContactPoint):void{ } public function Persist(_arg1:b2ContactPoint):void{ } public function Result(_arg1:b2ContactResult):void{ } } }//package parser.box2d.Dynamics
Section 105
//b2ContactManager (parser.box2d.Dynamics.b2ContactManager) package parser.box2d.Dynamics { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; import parser.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 PairRemoved(_arg1, _arg2, _arg3):void{ if (_arg3 == null){ return; }; var _local4:b2Contact = (_arg3 as b2Contact); if (_local4 == m_nullContact){ return; }; Destroy(_local4); } public function Destroy(_arg1:b2Contact):void{ 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; var _local2:b2Shape = _arg1.m_shape1; var _local3:b2Shape = _arg1.m_shape2; var _local4:int = _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_shape1; _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; }; var _local5:b2Body = _local2.m_body; var _local6:b2Body = _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--; } override public function PairAdded(_arg1, _arg2){ var _local3:b2Shape = (_arg1 as b2Shape); var _local4:b2Shape = (_arg2 as b2Shape); var _local5:b2Body = _local3.m_body; var _local6:b2Body = _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); }; var _local7:b2Contact = 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); } public function Collide():void{ var _local2:b2Body; var _local3:b2Body; var _local1:b2Contact = 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 parser.box2d.Dynamics
Section 106
//b2DebugDraw (parser.box2d.Dynamics.b2DebugDraw) package parser.box2d.Dynamics { import flash.display.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; import parser.box2d.Dynamics.Contacts.*; public class b2DebugDraw { public var m_xformScale:Number;// = 1 public var m_fillAlpha:Number;// = 1 public var m_alpha:Number;// = 1 public var m_drawFlags:uint; public var m_lineThickness:Number;// = 1 public var m_drawScale:Number;// = 1 public var m_sprite:Sprite; 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_drawFlags = 0; } public function ClearFlags(_arg1:uint):void{ m_drawFlags = (m_drawFlags & ~(_arg1)); } 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 DrawSolidPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ 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); var _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 DrawPolygon(_arg1:Array, _arg2:int, _arg3:b2Color):void{ m_sprite.graphics.lineStyle(m_lineThickness, _arg3.color, m_alpha); m_sprite.graphics.moveTo((_arg1[0].x * m_drawScale), (_arg1[0].y * m_drawScale)); var _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)); } 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 GetFlags():uint{ return (m_drawFlags); } 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)); } } }//package parser.box2d.Dynamics
Section 107
//b2DestructionListener (parser.box2d.Dynamics.b2DestructionListener) package parser.box2d.Dynamics { import parser.box2d.Collision.Shapes.*; import parser.box2d.Dynamics.Joints.*; public class b2DestructionListener { public function SayGoodbyeShape(_arg1:b2Shape):void{ } public function SayGoodbyeJoint(_arg1:b2Joint):void{ } } }//package parser.box2d.Dynamics
Section 108
//b2Island (parser.box2d.Dynamics.b2Island) package parser.box2d.Dynamics { import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; import parser.box2d.Dynamics.Contacts.*; public class b2Island { public var m_listener:b2ContactListener; public var m_positionIterationCount:int; public var m_bodyCapacity:int; public var m_bodies:Array; public var m_joints: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 _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; }; var _local4:int; 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 AddContact(_arg1:b2Contact):void{ var _local2 = m_contactCount++; m_contacts[_local2] = _arg1; } public function Solve(_arg1:b2TimeStep, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{ var _local5:int; var _local6:b2Body; var _local7:b2Joint; 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++; }; var _local8:b2ContactSolver = 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 Clear():void{ m_bodyCount = 0; m_contactCount = 0; m_jointCount = 0; } public function SolveTOI(_arg1:b2TimeStep):void{ var _local2:int; var _local5:b2Body; var _local6:Boolean; var _local3:b2ContactSolver = 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++; }; var _local4:Number = 0.75; _local2 = 0; while (_local2 < _arg1.maxIterations) { _local6 = _local3.SolvePositionConstraints(_local4); if (_local6){ break; }; _local2++; }; Report(_local3.m_constraints); } } }//package parser.box2d.Dynamics
Section 109
//b2TimeStep (parser.box2d.Dynamics.b2TimeStep) package parser.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 parser.box2d.Dynamics
Section 110
//b2World (parser.box2d.Dynamics.b2World) package parser.box2d.Dynamics { import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; import parser.box2d.Dynamics.Contacts.*; 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){ 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); var _local4:b2BodyDef = new b2BodyDef(); m_groundBody = CreateBody(_local4); } public function DrawJoint(_arg1:b2Joint):void{ var _local11:b2PulleyJoint; var _local12:b2Vec2; var _local13:b2Vec2; var _local2:b2Body = _arg1.m_body1; var _local3:b2Body = _arg1.m_body2; var _local4:b2XForm = _local2.m_xf; var _local5:b2XForm = _local3.m_xf; var _local6:b2Vec2 = _local4.position; var _local7:b2Vec2 = _local5.position; var _local8:b2Vec2 = _arg1.GetAnchor1(); var _local9:b2Vec2 = _arg1.GetAnchor2(); var _local10:b2Color = 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 _local2:int; var _local3:b2Body; var _local4:b2Shape; var _local5:b2Joint; var _local6:b2BroadPhase; var _local11:b2XForm; 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(); var _local1:uint = m_debugDraw.GetFlags(); var _local7:b2Vec2 = new b2Vec2(); var _local8:b2Vec2 = new b2Vec2(); var _local9:b2Vec2 = new b2Vec2(); var _local10:b2Color = new b2Color(0, 0, 0); var _local12:b2AABB = new b2AABB(); var _local13:b2AABB = new b2AABB(); var _local14:Array = [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(0.5, 0.9, 0.5), _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 _local4:b2JointEdge; var _local5:b2Shape; if (m_lock == true){ return; }; var _local2:b2JointEdge = _arg1.m_jointList; while (_local2) { _local4 = _local2; _local2 = _local2.next; if (m_destructionListener){ m_destructionListener.SayGoodbyeJoint(_local4.joint); }; DestroyJoint(_local4.joint); }; var _local3:b2Shape = _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 _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; var _local5:b2Color = 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 _local9:int; var _local10:int; var _local11:b2Body; var _local12:b2ContactEdge; var _local13:b2JointEdge; var _local14:Boolean; m_positionIterationCount = 0; var _local3:b2Island = 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; }; var _local4:b2Contact = m_contactList; while (_local4) { _local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag)); _local4 = _local4.m_next; }; var _local5:b2Joint = m_jointList; while (_local5) { _local5.m_islandFlag = false; _local5 = _local5.m_next; }; var _local6:int = m_bodyCount; var _local7:Array = new Array(_local6); var _local8:b2Body = 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 = new Array(_arg3); var _local5:int = m_broadPhase.QueryAABB(_arg1, _local4, _arg3); var _local6:int; 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 _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; var _local8:b2Island = new b2Island(m_bodyCount, b2Settings.b2_maxTOIContactsPerIsland, 0, m_stackAllocator, m_contactListener); var _local9:int = m_bodyCount; var _local10:Array = 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 GetBodyList():b2Body{ return (m_bodyList); } public function GetPairCount():int{ return (m_broadPhase.m_pairManager.m_pairCount); } public function Validate():void{ m_broadPhase.Validate(); } 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 _local3:b2Body; var _local4:b2Shape; var _local2:b2Joint = 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 _local5:b2Body; var _local6:b2Shape; var _local2:Boolean = _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; }; var _local3:b2Body = _arg1.m_body1; var _local4:b2Body = _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{ if (m_lock == true){ return (null); }; var _local2:b2Body = 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{ m_lock = true; var _local3:b2TimeStep = 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 parser.box2d.Dynamics
Section 111
//Layer (parser.display.Layer) package parser.display { import flash.display.*; import parser.objects.*; import parser.utils.*; public class Layer extends Sprite { public var spriteList:BasicObject; public var jointList:BasicObject; public var instanceList:BasicObject; public var bodyList:BasicObject; public var layerName:String; public function getJointsByName(_arg1:String):Array{ return (getByNameAll(jointList, _arg1)); } public function getObjectsByName(_arg1:String):Array{ return (getByNameAll(bodyList, _arg1)); } private function getByNameAll(_arg1:BasicObject, _arg2:String):Array{ var _local3:Array = []; while (_arg1) { if (_arg1.objectName == _arg2){ _local3.push(_arg1); }; _arg1 = _arg1.next; }; return (_local3); } public function addObject(_arg1:BasicObject):void{ var _local2:BasicObject = getList(_arg1.type); if (_local2){ _arg1.next = _local2; _local2.prev = _arg1; }; setList(_arg1); _arg1.layer = this; } public function getAllInstances():Array{ return (getAll(instanceList)); } private function getList(_arg1:String):BasicObject{ switch (_arg1){ case BasicObject.BODY: return (bodyList); case BasicObject.SPRITE: return (spriteList); case BasicObject.INSTANCE: return (instanceList); case BasicObject.JOINT: return (jointList); }; } public function getInstancesByType(_arg1:String):Array{ var _local2:Array = []; var _local3:InstanceObject = instanceList; while (_local3) { if (_local3.instanceName == _arg1){ _local2.push(_local3); }; _local3 = _local3.next; }; return (_local2); } public function removeObject(_arg1:BasicObject):void{ var _local2:BasicObject = getList(_arg1.type); if (_local2){ if (_arg1.prev){ _arg1.prev.next = _arg1.next; }; if (_arg1.next){ _arg1.next.prev = _arg1.prev; }; if (_local2 == _arg1){ setList(_arg1.next); }; _arg1.next = null; _arg1.prev = null; }; } private function setList(_arg1:BasicObject):void{ switch (_arg1.type){ case BasicObject.BODY: bodyList = _arg1; return; case BasicObject.SPRITE: spriteList = _arg1; return; case BasicObject.INSTANCE: instanceList = _arg1; return; case BasicObject.JOINT: jointList = _arg1; return; }; } public function getAllObjects():Array{ return (getAll(bodyList)); } public function getInstancesByName(_arg1:String):Array{ return (getByNameAll(instanceList, _arg1)); } private function getAll(_arg1:BasicObject):Array{ var _local2:Array = []; while (_arg1) { _local2.push(_arg1); _arg1 = _arg1.next; }; return (_local2); } public function createInstance(_arg1:int, _arg2:int, _arg3:String):InstanceObject{ var _local4:XML = new XML((((("<instance name=\"" + ??esc_xattr ) + "\">\r\n\t\t\t\t<basic type=\"instance\" name=\"instance\" alias=\"ci14\"/>;\r\n\t\t\t\t") + (((("<position x=\"" + ??esc_xattr ) + "\" y=\"") + ??esc_xattr ) + "\" angle=\"0\"/>")) + "\r\n\t\t\t</instance>")); return (Importer.parseInstance(_local4, this)); } public function getAllSprites():Array{ return (getAll(spriteList)); } public function getAllJoints():Array{ return (getAll(jointList)); } public function getSpritesByName(_arg1:String):Array{ return (getByNameAll(spriteList, _arg1)); } public function removeAll():void{ var _local1:BasicObject; var _local2:Array = getAll(bodyList); var _local3:Array = getAll(spriteList); var _local4:Array = getAll(instanceList); var _local5:Array = getAll(jointList); for each (_local1 in _local2) { _local1.destroy(); }; for each (_local1 in _local3) { _local1.destroy(); }; for each (_local1 in _local4) { _local1.destroy(); }; for each (_local1 in _local5) { _local1.destroy(); }; while (numChildren != 0) { removeChildAt(0); }; if (parent){ parent.removeChild(this); }; } } }//package parser.display
Section 112
//LayerManager (parser.display.LayerManager) package parser.display { import flash.display.*; public class LayerManager extends Sprite { private var layersNames:Object; private var layersArray:Array; public function LayerManager(){ layersArray = []; layersNames = {}; super(); } public function getLayerByIndex(_arg1:int):Layer{ if (_arg1 < layersArray.length){ return (layersArray[_arg1]); }; return (null); } public function getSpritesByName(_arg1:String):Array{ var _local3:Layer; var _local2:Array = []; for each (_local3 in layersArray) { _local2 = _local2.concat(_local3.getSpritesByName(_arg1)); }; return (_local2); } public function getAllSprites():Array{ var _local2:Layer; var _local1:Array = []; for each (_local2 in layersArray) { _local1 = _local1.concat(_local2.getAllSprites()); }; return (_local1); } public function removeAll():void{ var _local1:Layer; for each (_local1 in layersArray) { _local1.removeAll(); }; layersArray = []; layersNames = {}; } public function getObjectsByName(_arg1:String):Array{ var _local3:Layer; var _local2:Array = []; for each (_local3 in layersArray) { _local2 = _local2.concat(_local3.getObjectsByName(_arg1)); }; return (_local2); } public function getJointsByName(_arg1:String):Array{ var _local3:Layer; var _local2:Array = []; for each (_local3 in layersArray) { _local2 = _local2.concat(_local3.getJointsByName(_arg1)); }; return (_local2); } public function getAllObjects():Array{ var _local2:Layer; var _local1:Array = []; for each (_local2 in layersArray) { _local1 = _local1.concat(_local2.getAllObjects()); }; return (_local1); } public function getInstancesByName(_arg1:String):Array{ var _local3:Layer; var _local2:Array = []; for each (_local3 in layersArray) { _local2 = _local2.concat(_local3.getInstancesByName(_arg1)); }; return (_local2); } public function setPosition(_arg1:int, _arg2:int):void{ x = _arg1; y = _arg2; } public function getAllLayers():Array{ return (new Array().concat(layersArray)); } public function addLayer(_arg1:Layer):void{ addChild(_arg1); layersArray.push(_arg1); layersNames[_arg1.layerName] = _arg1; } public function getAllJoints():Array{ var _local2:Layer; var _local1:Array = []; for each (_local2 in layersArray) { _local1 = _local1.concat(_local2.getAllJoints()); }; return (_local1); } public function getInstancesByType(_arg1:String):Array{ var _local3:Layer; var _local2:Array = []; for each (_local3 in layersArray) { _local2 = _local2.concat(_local3.getInstancesByType(_arg1)); }; return (_local2); } public function getAllInstances():Array{ var _local2:Layer; var _local1:Array = []; for each (_local2 in layersArray) { _local1 = _local1.concat(_local2.getAllInstances()); }; return (_local1); } public function getLayerByName(_arg1:String):Layer{ if (layersNames.hasOwnProperty(_arg1)){ return (layersNames[_arg1]); }; return (null); } } }//package parser.display
Section 113
//LibraryEvent (parser.loaders.LibraryEvent) package parser.loaders { import flash.events.*; import flash.display.*; import flash.system.*; public class LibraryEvent extends Event { public var loaderInfo:LoaderInfo; public var domain:ApplicationDomain; public var fileName:String; public static const LIBRARY_IS_LOADED:String = "libraryIsLoaded"; public static const INSTANCES_IS_LOADED:String = "instancesIsLoaded"; public static const ID_SETTINGS_IS_LOADED:String = "idSettingsIsLoaded"; public static const SWF_IS_LOADED:String = "swfIsLoaded"; public static const PRESETS_IS_LOADED:String = "presetsIsLoaded"; public function LibraryEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package parser.loaders
Section 114
//SWFLoader (parser.loaders.SWFLoader) package parser.loaders { import flash.events.*; import flash.display.*; import flash.net.*; import parser.utils.*; public class SWFLoader extends EventDispatcher { public var fileCounter:int;// = 0 private var importURL:String; public var domains:Object; private var loader:Loader; public var filesLoaded:int;// = 0 public function SWFLoader(){ domains = {}; super(); } public function complete(_arg1:Event):void{ var _local2:LibraryEvent = new LibraryEvent(LibraryEvent.SWF_IS_LOADED); _local2.domain = loader.contentLoaderInfo.applicationDomain; _local2.fileName = importURL; domains[_local2.fileName] = _local2.domain; dispatchEvent(_local2); filesLoaded++; if (filesLoaded == fileCounter){ dispatchEvent(new LibraryEvent(LibraryEvent.LIBRARY_IS_LOADED)); }; } public function loadFromURL(_arg1:URLRequest, _arg2:String):void{ fileCounter++; importURL = _arg2; loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(_arg1); } } }//package parser.loaders
Section 115
//Geom (parser.math.Geom) package parser.math { import flash.geom.*; public class Geom { public static function getBisectrix(_arg1:Vertex, _arg2:Vertex, _arg3:Vertex):Vertex{ var _local4:Point = Point.interpolate(getMinPoint(_arg1, _arg2), getMinPoint(_arg3, _arg2), 0.5); var _local5:Number = (_local4.x - ((_local4.x - _arg2.x) * 2)); var _local6:Number = (_local4.y - ((_local4.y - _arg2.y) * 2)); return (new Vertex(_local5, _local6, 9)); } public static function rectCross(_arg1:Rectangle, _arg2:Rectangle):Boolean{ var _local3 = (Math.min(_arg1.right, _arg2.right) >= Math.max(_arg1.left, _arg2.left)); var _local4 = (Math.max(_arg1.top, _arg2.top) <= Math.min(_arg1.bottom, _arg2.bottom)); if (((_local3) && (_local4))){ return (true); }; return (false); } public static function sideLength(_arg1, _arg2):Number{ return (Math.sqrt((((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y))))); } public static function quadLength(_arg1:Vertex, _arg2:Vertex):Number{ return ((((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y)))); } public static function vectorMul(_arg1:Vertex, _arg2:Vertex, _arg3:Vertex, _arg4:int=1):Number{ return (((((_arg2.x - _arg1.x) * (_arg3.y - _arg2.y)) - ((_arg2.y - _arg1.y) * (_arg3.x - _arg2.x))) * _arg4)); } public static function roundTo(_arg1:Number, _arg2:Number):Number{ var _local3 = 1; var _local4:int; while (_local4 < _arg2) { _local3 = (_local3 * 10); _local4++; }; return ((Math.round((_arg1 * _local3)) / _local3)); } public static function solveArea(_arg1:Vertex, _arg2:Vertex, _arg3:Vertex):Number{ var _local4:Number = sideLength(_arg1, _arg2); var _local5:Number = sideLength(_arg3, _arg2); var _local6:Number = sideLength(_arg1, _arg3); var _local7:Number = (((_local4 + _local5) + _local6) / 2); var _local8:Number = Math.sqrt((((_local7 * (_local7 - _local4)) * (_local7 - _local5)) * (_local7 - _local6))); return (_local8); } public static function segmentCross(_arg1:Vertex, _arg2:Vertex, _arg3:Vertex, _arg4:Vertex):Boolean{ var _local7:Boolean; var _local8:Boolean; var _local5:Rectangle = getRect(_arg1, _arg2); var _local6:Rectangle = getRect(_arg3, _arg4); if (Geom.rectCross(_local5, _local6)){ _local7 = ((vectorMul(_arg3, _arg1, _arg2, 1) * vectorMul(_arg4, _arg1, _arg2, 1)) <= 0); _local8 = ((vectorMul(_arg1, _arg3, _arg4, 1) * vectorMul(_arg2, _arg3, _arg4, 1)) <= 0); if (((_local7) && (_local8))){ return (true); }; return (false); //unresolved jump }; return (false); } public static function scalMul(_arg1, _arg2, _arg3):Number{ return ((((_arg1.x - _arg2.x) * (_arg3.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg3.y - _arg2.y)))); } public static function getRect(_arg1:Vertex, _arg2:Vertex):Rectangle{ var _local3:Number = Math.min(_arg1.x, _arg2.x); var _local4:Number = Math.min(_arg1.y, _arg2.y); var _local5:Number = Math.abs((_arg1.x - _arg2.x)); var _local6:Number = Math.abs((_arg1.y - _arg2.y)); return (new Rectangle(_local3, _local4, _local5, _local6)); } public static function getMinPoint(_arg1:Vertex, _arg2:Vertex):Point{ var _local3:Number = (100 / sideLength(_arg1, _arg2)); var _local4:Number = (_arg2.x + ((_arg1.x - _arg2.x) * _local3)); var _local5:Number = (_arg2.y + ((_arg1.y - _arg2.y) * _local3)); return (new Point(_local4, _local5)); } public static function getTwoPointsAngle(_arg1, _arg2):Number{ var _local3:Number = ((Math.atan(((_arg2.y - _arg1.y) / (_arg2.x - _arg1.x))) * 180) / Math.PI); if (_arg2.x < _arg1.x){ if (_arg2.y > _arg1.y){ _local3 = (_local3 + 180); }; if (_arg2.y <= _arg1.y){ _local3 = (_local3 - 180); }; }; return (_local3); } public static function ptsInTriangle(_arg1:Vertex, _arg2:Vertex, _arg3:Vertex, _arg4:Array):Boolean{ var _local5:Number; var _local6:Number; var _local7:Vertex; var _local8:int; while (_local8 < _arg4.length) { _local7 = _arg4[_local8]; if ((((((_local7 == _arg1)) || ((_local7 == _arg2)))) || ((_local7 == _arg3)))){ } else { _local5 = solveArea(_arg1, _arg2, _arg3); _local6 = ((solveArea(_local7, _arg2, _arg3) + solveArea(_arg1, _local7, _arg3)) + solveArea(_arg1, _arg2, _local7)); if (Math.abs((_local5 - _local6)) < 5){ return (true); }; }; _local8++; }; return (false); } public static function getAngle(_arg1, _arg2, _arg3):Number{ var _local4:Number = scalMul(_arg1, _arg2, _arg3); var _local5:Number = ((_local4 / sideLength(_arg1, _arg2)) / sideLength(_arg3, _arg2)); return (((Math.acos(_local5) * 180) / Math.PI)); } public static function rotateVertex(_arg1:Vertex, _arg2:Number):Vertex{ _arg2 = ((-(_arg2) * Math.PI) / 180); var _local3:Vertex = new Vertex(); _local3.x = ((_arg1.x * Math.cos(_arg2)) + (_arg1.y * Math.sin(_arg2))); _local3.y = ((_arg1.x * -(Math.sin(_arg2))) + (_arg1.y * Math.cos(_arg2))); return (_local3); } } }//package parser.math
Section 116
//Vertex (parser.math.Vertex) package parser.math { import flash.geom.*; public class Vertex { public var number:int; public var x:Number; public var y:Number; public var diagonals:Array; public function Vertex(_arg1:Number=0, _arg2:Number=0, _arg3:int=0){ x = _arg1; y = _arg2; this.number = _arg3; } public function resetDiagonals(_arg1:int):void{ diagonals = []; var _local2:int; while (_local2 < _arg1) { diagonals.push(false); _local2++; }; } } }//package parser.math
Section 117
//BasicObject (parser.objects.BasicObject) package parser.objects { import flash.events.*; import flash.display.*; import parser.display.*; public class BasicObject extends EventDispatcher { public var sprite:Sprite; public var objectName:String; public var prev:BasicObject; public var layer:Layer; public var next:BasicObject; public var extensions:Object; public var type:String; public static const BODY:String = "body"; public static const SPRITE:String = "sprite"; public static const SPRITE_GROUP:String = "spriteGroup"; public static const INSTANCE:String = "instance"; public static const JOINT:String = "joint"; public static const BODY_GROUP:String = "bodyGroup"; public function BasicObject(){ extensions = {}; } public function destroy():void{ } public function getVar(_arg1:String){ var _local2:String; if (extensions.hasOwnProperty(_arg1)){ _local2 = extensions[_arg1]; if (_local2 == "true"){ return (true); }; if (_local2 == "false"){ return (false); }; if (isNaN(_local2)){ return (_local2); }; return (parseFloat(_local2)); //unresolved jump }; return (null); } public function removeLinks():void{ if (next){ next.prev = prev; }; if (prev){ prev.next = next; }; next = null; prev = null; } } }//package parser.objects
Section 118
//BodyObject (parser.objects.BodyObject) package parser.objects { import parser.box2d.Dynamics.*; public class BodyObject extends BasicObject { public var body:b2Body; public function BodyObject(){ type = BODY; } } }//package parser.objects
Section 119
//InstanceObject (parser.objects.InstanceObject) package parser.objects { import parser.display.*; public class InstanceObject extends BasicObject { public var instanceName:String; public var content:Layer; public static var contentList:Object; public function InstanceObject(){ type = INSTANCE; } } }//package parser.objects
Section 120
//JointObject (parser.objects.JointObject) package parser.objects { import parser.box2d.Dynamics.Joints.*; public class JointObject extends BasicObject { public var joint:b2Joint; public static var LINK:String = "Link"; public static var GEAR:String = "Gear"; public static var TSPRING:String = "TSpring"; public static var SPRING:String = "Spring"; public static var BEAM:String = "Beam"; public static var RAIL:String = "Rail"; public static var PIN:String = "Pin"; public static var GAP:String = "Gap"; public static var PULLEY:String = "Pulley"; public static var MOTOR:String = "Motor"; public function JointObject(){ type = JOINT; } } }//package parser.objects
Section 121
//SpriteObject (parser.objects.SpriteObject) package parser.objects { import flash.display.*; import parser.display.*; public class SpriteObject extends BasicObject { public function SpriteObject(){ type = SPRITE; } } }//package parser.objects
Section 122
//Render (parser.render.Render) package parser.render { import flash.display.*; import flash.geom.*; public class Render { public static function spriteRender(_arg1:Sprite, _arg2:Boolean=false, _arg3:Boolean=false):Sprite{ var _local4:Sprite = new Sprite(); _local4.addChild(_arg1); var _local5:Rectangle = _arg1.getBounds(_local4); _local4.removeChild(_arg1); var _local6:BitmapData = new BitmapData(_arg1.width, _arg1.height, _arg3, 0); var _local7:Matrix = new Matrix(); var _local8:Sprite = new Sprite(); _local7.scale(_arg1.scaleX, _arg1.scaleY); _local7.translate(-(_local5.x), -(_local5.y)); _local6.draw(_arg1, _local7, null, null, null, true); _local7 = new Matrix(); _local7.translate(_local5.x, _local5.y); _local8.graphics.beginBitmapFill(_local6, _local7, false, _arg2); _local8.graphics.drawRect(_local5.x, _local5.y, _local5.width, _local5.height); _local8.graphics.endFill(); return (_local8); } public static function renderDisplay(_arg1:Sprite):BitmapData{ var _local2:BitmapData = new BitmapData(640, 480, false, 10346491); _local2.draw(_arg1); return (_local2); } } }//package parser.render
Section 123
//Importer (parser.utils.Importer) package parser.utils { import flash.display.*; import parser.display.*; import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import parser.math.*; import flash.geom.*; import parser.*; import flash.system.*; import parser.render.*; import flash.utils.*; public class Importer { public static const ENGINE:String = "Engine"; public static const PI:Number = 0.0174532925199433; public static const SCALE:int = 30; public static const SPRITES:String = "Sprites"; public static const STANDARD:String = "Standard"; public static var domain:ApplicationDomain; public static var bodies:Object; public static var renderType:String; public static var main:Simulator; private static function bool(_arg1:String):Boolean{ if (_arg1 == "true"){ return (true); }; return (false); } public static function parseObject(_arg1:XML):BodyObject{ var _local3:b2BodyDef; var _local4:b2Body; var _local6:Sprite; var _local8:b2ShapeDef; var _local9:BodyObject; var _local2:Boolean = ((_arg1.name().toString())=="bodyGroup") ? true : false; _local3 = new b2BodyDef(); _local3.position.Set((_arg1.position.@x / SCALE), (_arg1.position.@y / SCALE)); _local3.angle = (_arg1.position.@angle * PI); _local3.allowSleep = bool(_arg1.boolean.@sleep); _local3.isBullet = bool(_arg1.boolean.@bullet); _local3.fixedRotation = bool(_arg1.boolean.@fixed); _local3.linearDamping = _arg1.physic.linearDamping; _local3.angularDamping = _arg1.physic.angularDamping; _local4 = main.world.world.CreateBody(_local3); _local4.fixedSprite = bool(_arg1.boolean.@fixedSprite); _local4.bodyName = _arg1.basic.@name; _local4.alias = _arg1.basic.@alias; _local4.id = parseInt(_arg1.basic.@id, 16); if (!bool(_arg1.boolean.@static)){ _local4.isDynamic = true; }; bodies[_local4.alias] = _local4; _local4.sprite = new Sprite(); _local4.sprite.x = parseFloat(_arg1.position.@x); _local4.sprite.y = parseFloat(_arg1.position.@y); _local4.sprite.mouseChildren = false; _local4.sprite.mouseEnabled = false; _local4.sprite.rotation = parseFloat(_arg1.position.@angle); var _local5:XML = _arg1.child("sprite")[0]; if (((_local5) && (!((renderType == ENGINE))))){ _local6 = parseSprite(_local5).sprite; _local4.sprite.addChild(_local6); }; var _local7:Array = getBodyShapes(_arg1, _local2); for each (_local8 in _local7) { _local4.CreateShape(_local8); if (_local8.sprite){ _local4.sprite.addChild(_local8.sprite); }; }; _local4.SetMassFromShapes(); _local9 = new BodyObject(); _local9.body = _local4; _local9.sprite = _local4.sprite; _local9.objectName = _local4.bodyName; _local4.object = _local9; parseExtensiont(_local9, _arg1); return (_local9); } public static function parseJoint(_arg1:XML):JointObject{ var _local2:b2JointDef; var _local5:Sprite; var _local6:Sprite; var _local7:Sprite; var _local8:Point; var _local12:b2Vec2; var _local13:b2Joint; var _local3:b2Body = bodies[_arg1.bodies.@body1]; var _local4:b2Body = bodies[_arg1.bodies.@body2]; var _local9:b2Vec2 = new b2Vec2((_arg1.anchors.@body1_x / SCALE), (_arg1.anchors.@body1_y / SCALE)); var _local10:b2Vec2 = new b2Vec2((_arg1.anchors.@body2_x / SCALE), (_arg1.anchors.@body2_y / SCALE)); switch (_arg1.basic.@type.toString()){ case JointObject.PIN: _local2 = new b2RevoluteJointDef(); _local2.Initialize(_local3, _local4, _local9); _local2.enableLimit = bool(_arg1.limits.@enabled); _local2.upperAngle = (_arg1.limits.@upper * PI); _local2.lowerAngle = (_arg1.limits.@lower * PI); _local6 = new PinSprite(); break; case JointObject.MOTOR: _local2 = new b2RevoluteJointDef(); _local2.Initialize(_local3, _local4, _local9); _local2.enableMotor = true; _local2.motorSpeed = -(_arg1.special.@speed); _local2.maxMotorTorque = _arg1.special.@torque; _local6 = new MotorSprite(); break; case JointObject.TSPRING: _local2 = new b2SpringJointDef(); _local2.Initialize(_local3, _local4, _local9); _local2.springConstant = _arg1.special.@stiffness; _local2.springDamping = _arg1.special.@damping; _local6 = new TSpringSprite(); break; case JointObject.RAIL: _local12 = new b2Vec2(); _local12.x = _arg1.special.@axisX; _local12.y = _arg1.special.@axisY; _local2 = new b2PrismaticJointDef(); _local2.Initialize(_local3, _local4, _local9, _local12); _local2.enableLimit = bool(_arg1.limits.@enabled); _local2.upperTranslation = (_arg1.limits.@upper / SCALE); _local2.lowerTranslation = (_arg1.limits.@lower / SCALE); _local6 = new RailSprite(); break; case JointObject.LINK: _local2 = new b2DistanceJointDef(); _local2.Initialize(_local3, _local4, _local9, _local10); _local2.length = Geom.sideLength(_local9, _local10); _local6 = new CirclePoint(); _local7 = new CirclePoint(); break; case JointObject.SPRING: _local2 = new b2DistanceJointDef(); _local2.Initialize(_local3, _local4, _local9, _local10); _local2.length = Geom.sideLength(_local9, _local10); _local2.dampingRatio = 0.05; _local2.frequencyHz = 0.7; _local6 = new CirclePoint(); _local7 = new CirclePoint(); break; }; if (_local2){ _local2.collideConnected = bool(_arg1.boolean.@collide); _local13 = main.world.world.CreateJoint(_local2); }; if (renderType == STANDARD){ if (((_local3.sprite) && (_local6))){ _local5 = _local3.sprite; _local8 = new Point(_arg1.anchors.@body1_x, _arg1.anchors.@body1_y); _local8 = main.localToGlobal(_local8); _local8 = _local5.globalToLocal(_local8); _local6.x = _local8.x; _local6.y = _local8.y; _local5.addChild(_local6); }; if (((_local4.sprite) && (_local7))){ _local5 = _local4.sprite; _local8 = new Point(_arg1.anchors.@body2_x, _arg1.anchors.@body2_y); _local8 = main.localToGlobal(_local8); _local8 = _local5.globalToLocal(_local8); _local7.x = _local8.x; _local7.y = _local8.y; _local5.addChild(_local7); }; _local13.sprite = new Sprite(); }; var _local11:JointObject = new JointObject(); _local11.joint = _local13; _local11.sprite = _local13.sprite; parseExtensiont(_local11, _arg1); return (_local11); } public static function parseSprite(_arg1:XML, _arg2:Boolean=true):SpriteObject{ var _local3:Sprite; var _local9:Sprite; var _local10:XML; var _local11:Class; var _local12:ApplicationDomain; var _local13:Boolean; var _local14:Boolean; if (renderType == ENGINE){ return (new SpriteObject()); }; var _local4:Boolean = ((_arg1.name().toString())=="spriteGroup") ? true : false; if (_local4){ _local3 = new Sprite(); for each (_local10 in _arg1.sprites.elements()) { _local9 = parseSprite(_local10, false).sprite; _local3.addChild(_local9); }; } else { if (domain.hasDefinition(_arg1.location.@image)){ _local11 = (domain.getDefinition(_arg1.location.@image) as Class); } else { _local12 = main.swfLoader.domains[_arg1.location.@file]; _local11 = (_local12.getDefinition(_arg1.location.@image) as Class); }; _local3 = new (_local11); _local3.width = _arg1.dimension.@width; _local3.height = _arg1.dimension.@height; }; if (bool(_arg1.boolean.@hFlip)){ _local3.scaleY = -(_local3.scaleY); }; if (bool(_arg1.boolean.@vFlip)){ _local3.scaleX = -(_local3.scaleX); }; if (((_arg2) && (bool(_arg1.boolean.@render)))){ _local13 = bool(_arg1.boolean.@smoothing); _local14 = bool(_arg1.boolean.@alpha); _local3 = Render.spriteRender(_local3, _local13, _local14); }; var _local5:Rectangle = _local3.getRect(_local3); var _local6:Point = new Point(); _local6.x = ((_arg1.position.@centerX * _local5.width) + _local5.x); _local6.y = ((_arg1.position.@centerY * _local5.height) + _local5.y); _local3.x = (_local3.x + (parseFloat(_arg1.position.@x) - _local6.x)); _local3.y = (_local3.y + (parseFloat(_arg1.position.@y) - _local6.y)); _local3.rotation = _arg1.position.@angle; var _local7:Point = _local3.transform.matrix.deltaTransformPoint(_local6); _local3.x = (_local3.x + (_local6.x - _local7.x)); _local3.y = (_local3.y + (_local6.y - _local7.y)); var _local8:SpriteObject = new SpriteObject(); _local8.sprite = _local3; _local8.objectName = _arg1.basic.@name; parseExtensiont(_local8, _arg1); return (_local8); } public static function parseInstance(_arg1:XML, _arg2:Sprite):InstanceObject{ var _local7:XML; var _local8:BasicObject; var _local10:XML; var _local11:XML; var _local12:XML; var _local3:Object = InstanceObject.contentList[_arg1.@name]; var _local4:Sprite = new Sprite(); _local4.x = _arg1.position.@x; _local4.y = _arg1.position.@y; _local4.rotation = _arg1.position.@angle; _arg2.addChild(_local4); var _local5:Point = new Point(); var _local6:Layer = new Layer(); _local6.layerName = "Content"; var _local9:InstanceObject = new InstanceObject(); _local9.content = _local6; _local9.instanceName = _arg1.@name; _local9.objectName = _arg1.basic.@name; for each (_local10 in _local3.objects) { _local7 = _local10.copy(); _local5 = new Point(_local7.position.@x, _local7.position.@y); _local5 = _local4.localToGlobal(_local5); _local5 = _arg2.globalToLocal(_local5); _local7.position.@x = _local5.x; _local7.position.@y = _local5.y; _local7.position.@angle = (parseInt(_local7.position.@angle) + parseInt(_arg1.position.@angle)); switch (_local7.name().toString()){ case BasicObject.INSTANCE: _local8 = parseInstance(_local7, _arg2); break; case BasicObject.BODY: case BasicObject.BODY_GROUP: _local8 = parseObject(_local7); _local8.body.instance = _local9; bodies[_arg1.basic.@alias] = _local8.body; break; case BasicObject.SPRITE: case BasicObject.SPRITE_GROUP: _local8 = parseSprite(_local7); break; }; if (_local8.sprite){ _local8.sprite.rotation = _local7.position.@angle; _arg2.addChild(_local8.sprite); }; _local6.addObject(_local8); }; for each (_local12 in _local3.joints) { _local11 = _local12.copy(); _local5 = new Point(_local11.anchors.@body1_x, _local11.anchors.@body1_y); _local5 = _local4.localToGlobal(_local5); _local5 = _arg2.globalToLocal(_local5); _local11.anchors.@body1_x = _local5.x; _local11.anchors.@body1_y = _local5.y; if (_local11.anchors.@body2_x.toString() != ""){ _local5 = new Point(_local11.anchors.@body2_x, _local11.anchors.@body2_y); _local5 = _local4.localToGlobal(_local5); _local5 = _arg2.globalToLocal(_local5); _local11.anchors.@body2_x = _local5.x; _local11.anchors.@body2_y = _local5.y; }; _local8 = parseJoint(_local11); _local6.addObject(_local8); if (_local8.sprite){ _arg2.addChild(_local8.sprite); }; }; _arg2.removeChild(_local4); parseExtensiont(_local9, _arg1); return (_local9); } private static function getShape(_arg1:XML, _arg2:Boolean=false):Array{ var _local4:b2ShapeDef; var _local6:Sprite; var _local7:XML; var _local3:Array = []; var _local5:XML = _arg1.child("sprite")[0]; switch (_arg1.basic.@type.toString()){ case "Circle": _local3 = ShapeDrawing.circleBody(_arg1, _arg2); _local4 = _local3[0]; _local4.sprite = new Sprite(); if (((((_arg2) && (_local5))) && (!((renderType == ENGINE))))){ _local6 = parseSprite(_local5).sprite; _local4.sprite.addChild(_local6); }; if (renderType == STANDARD){ ShapeDrawing.circleSprite(_arg1, _local4, _arg2); }; break; case "Rectangle": case "Polygon": _local3 = ShapeDrawing.polygonBody(_arg1, _arg2); _local4 = _local3[0]; _local4.sprite = new Sprite(); if (((((_arg2) && (_local5))) && (!((renderType == ENGINE))))){ _local6 = parseSprite(_local5).sprite; _local4.sprite.addChild(_local6); }; if (renderType == STANDARD){ ShapeDrawing.polygonSprite(_arg1, _local4, _arg2); }; break; }; for each (_local4 in _local3) { if (!bool(_arg1.boolean.@static)){ _local4.density = _arg1.physic.@density; }; _local4.friction = _arg1.physic.@friction; _local4.restitution = _arg1.physic.@restitution; _local4.filter.categoryBits = parseInt(("0x" + _arg1.mask.@categoryBits), 16); _local4.filter.maskBits = parseInt(("0x" + _arg1.mask.@maskBits), 16); _local4.filter.groupIndex = _arg1.mask.@groupIndex; _local4.isSensor = bool(_arg1.boolean.@sensor); }; return (_local3); } private static function parseExtensiont(_arg1:BasicObject, _arg2:XML):void{ var _local3:String; var _local4:String; var _local5:XML; if (_arg2.child("extensions").length() > 0){ for each (_local5 in _arg2.extensions.elements()) { _local3 = _local5.@name; _local4 = _local5.@value; _arg1.extensions[_local3] = _local4; }; }; } private static function getBodyShapes(_arg1:XML, _arg2:Boolean):Array{ var _local4:XML; var _local3:Array = []; if (_arg2){ for each (_local4 in _arg1.shapes.elements()) { _local3 = _local3.concat(getShape(_local4, true)); }; } else { _local3 = getShape(_arg1); }; return (_local3); } public static function parseInstanceContent(_arg1:XML):void{ var _local2:Array; var _local3:XML; var _local4:Array; var _local5:XML; var _local6:Array; var _local7:XML; var _local8:Object; var _local9:XML; InstanceObject.contentList = {}; for each (_local9 in _arg1.elements()) { _local4 = []; _local2 = []; _local6 = []; for each (_local5 in _local9.objects.elements()) { _local4.push(_local5); }; for each (_local3 in _local9.joints.elements()) { _local2.push(_local3); }; for each (_local7 in _local9.extensions.elements()) { _local6.push(_local7); }; _local8 = {name:_local9.@name, objects:_local4, joints:_local2, extensions:_local6}; InstanceObject.contentList[_local8.name] = _local8; }; } } }//package parser.utils
Section 124
//PhysicWorld (parser.utils.PhysicWorld) package parser.utils { import flash.events.*; import flash.display.*; import parser.box2d.Dynamics.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import flash.geom.*; import parser.box2d.Collision.*; import parser.box2d.Common.*; import parser.*; public class PhysicWorld extends Sprite { private var simulator:Sprite; public var cameraSize:Point; public var gravity:Number; public var world:b2World; public var options:Object; public var mouseJoint:b2MouseJoint; public var xPhys:Number; public var yPhys:Number; public var iterations:int; public var debugSprite:Sprite; public var timeStep:Number; public static const physScale:Number = 30; public static const PI:Number = 57.2957795130823; public function PhysicWorld(_arg1:Object):void{ this.options = _arg1; var _local2:b2AABB = new b2AABB(); var _local3:b2Vec2 = new b2Vec2(0, _arg1.gravity); iterations = _arg1.iterations; timeStep = (1 / _arg1.timestep); cameraSize = _arg1.cameraSize; _local2.lowerBound.Set((_arg1.lowerBound.x / physScale), (_arg1.lowerBound.y / physScale)); _local2.upperBound.Set((_arg1.upperBound.x / physScale), (_arg1.upperBound.y / physScale)); world = new b2World(_local2, _local3, _arg1.doSleep); addEventListener(Event.ADDED_TO_STAGE, init); } public function updatePhysXY(_arg1:Event):void{ var _local2:b2Vec2; xPhys = (mouseX / physScale); yPhys = (mouseY / physScale); if (mouseJoint){ _local2 = new b2Vec2(xPhys, yPhys); mouseJoint.SetTarget(_local2); }; } public function destroy():void{ var _local1:b2Body = world.m_bodyList; while (_local1) { world.DestroyBody(_local1); _local1 = world.m_bodyList; }; simulator.removeEventListener(MouseEvent.MOUSE_DOWN, mousePress); simulator.removeEventListener(MouseEvent.MOUSE_UP, mouseRelease); simulator.removeEventListener(Event.ENTER_FRAME, updatePhysXY); } public function debugDrawing():void{ debugSprite = new Sprite(); var _local1:b2DebugDraw = new b2DebugDraw(); _local1.m_sprite = debugSprite; _local1.m_drawScale = 30; _local1.m_fillAlpha = 0.5; _local1.m_lineThickness = 0; _local1.m_drawFlags = (b2DebugDraw.e_shapeBit | b2DebugDraw.e_jointBit); world.SetDebugDraw(_local1); addChild(debugSprite); } public function init(_arg1:Event):void{ simulator = parent; if (options.debugDraw){ debugDrawing(); }; if (options.debugMouse){ debugMouse(); }; removeEventListener(Event.ADDED_TO_STAGE, init); } public function debugMouse():void{ simulator.addEventListener(MouseEvent.MOUSE_DOWN, mousePress); simulator.addEventListener(MouseEvent.MOUSE_UP, mouseRelease); simulator.addEventListener(Event.ENTER_FRAME, updatePhysXY); } public function mouseRelease(_arg1:MouseEvent):void{ if (mouseJoint){ world.DestroyJoint(mouseJoint); mouseJoint = null; }; } public function mousePress(_arg1:MouseEvent):void{ var _local2:b2Body; var _local3:b2MouseJointDef; if (!mouseJoint){ _local2 = getBodyAtMouse(); if (_local2){ _local3 = new b2MouseJointDef(); _local3.body1 = world.GetGroundBody(); _local3.body2 = _local2; _local3.target.Set(xPhys, yPhys); _local3.maxForce = (300 * _local2.GetMass()); _local3.timeStep = timeStep; mouseJoint = (world.CreateJoint(_local3) as b2MouseJoint); _local2.WakeUp(); }; }; } public function setPosition(_arg1:int, _arg2:int):void{ x = _arg1; y = _arg2; } public function getBodyAtMouse(_arg1:Boolean=false):b2Body{ var _local9:b2Shape; var _local10:Boolean; var _local2:b2AABB = new b2AABB(); _local2.lowerBound.Set((xPhys - 0.001), (yPhys - 0.001)); _local2.upperBound.Set((xPhys + 0.001), (yPhys + 0.001)); var _local3:b2Vec2 = new b2Vec2(); _local3.Set(xPhys, yPhys); var _local4 = 10; var _local5:b2Body; var _local6:Array = new Array(); var _local7:int = world.Query(_local2, _local6, _local4); var _local8:int; while (_local8 < _local7) { if ((((_local6[_local8].GetBody().IsStatic() == false)) || (_arg1))){ _local9 = (_local6[_local8] as b2Shape); _local10 = (_local6[_local8] as b2Shape).TestPoint(_local9.GetBody().GetXForm(), _local3); if (_local10){ _local5 = _local9.GetBody(); break; }; }; _local8++; }; return (_local5); } public function worldStep():void{ var _local2:Number; var _local3:b2Vec2; var _local4:Sprite; var _local6:b2Vec2; var _local7:b2Vec2; var _local8:Graphics; world.Step(timeStep, iterations); var _local1:b2Body = world.m_bodyList; while (_local1) { if (_local1.isDynamic){ _local2 = (_local1.GetAngle() * PI); _local3 = _local1.GetPosition(); _local4 = _local1.sprite; if (_local4){ _local4.x = (_local3.x * physScale); _local4.y = (_local3.y * physScale); if (!_local1.fixedSprite){ _local4.rotation = _local2; }; }; }; _local1 = _local1.m_next; }; var _local5:b2Joint = world.m_jointList; while (_local5) { _local6 = _local5.GetAnchor1(); _local7 = _local5.GetAnchor2(); if ((_local5 is b2SpringJoint)){ _local5.updateSpring(); }; if (_local5.sprite){ _local8 = _local5.sprite.graphics; _local8.clear(); _local8.lineStyle(2, Styles.jointColor); _local8.moveTo((_local6.x * 30), (_local6.y * 30)); _local8.lineTo((_local7.x * 30), (_local7.y * 30)); }; _local5 = _local5.m_next; }; } } }//package parser.utils
Section 125
//PolySlicer (parser.utils.PolySlicer) package parser.utils { import parser.math.*; public class PolySlicer { public static var parts:Array; public static var pts:Array; public static function twoPolyParts(_arg1:Array, _arg2:int, _arg3:int):void{ var _local4:Array = [[], []]; var _local5:int; var _local6:int; while (_local6 < _arg1.length) { _local4[_local5].push(_arg1[_local6]); if ((((_arg1[_local6].number == _arg2)) || ((_arg1[_local6].number == _arg3)))){ if (_local5 == 0){ _local5 = 1; } else { _local5 = 0; }; _local4[_local5].push(_arg1[_local6]); }; _local6++; }; slicePolygon(_local4[0]); slicePolygon(_local4[1]); } public static function triangulation():void{ var _local1:Vertex; var _local2:Vertex; var _local3:Vertex; var _local4:Array = []; var _local5:int; while (_local5 < pts.length) { pts[_local5].resetDiagonals(pts.length); _local4.push(pts[_local5]); _local5++; }; while (_local4.length > 3) { _local5 = 0; while (_local5 < _local4.length) { _local1 = _local4[(((_local4.length + _local5) - 1) % _local4.length)]; _local2 = _local4[_local5]; _local3 = _local4[((_local5 + 1) % _local4.length)]; if ((((Geom.vectorMul(_local1, _local2, _local3) > 0)) && (!(Geom.ptsInTriangle(_local1, _local2, _local3, _local4))))){ _local1.diagonals[_local3.number] = true; _local3.diagonals[_local1.number] = true; _local4.splice(_local5, 1); break; }; _local5++; }; }; } public static function reversePolygon(_arg1:Array):Array{ var _local4:Vertex; var _local2:int = _arg1.length; var _local3:Array = []; var _local5:int; while (_local5 < _local2) { _local3.push(_arg1.pop()); _local5++; }; _local5 = 0; while (_local5 < _local2) { _local4 = _local3[_local5]; _local4.number = _local5; _local4.resetDiagonals(_local2); _local5++; }; return (_local3); } public static function findCut(_arg1:Array, _arg2:Vertex, _arg3:Vertex):Vertex{ var _local4:Number; var _local5:Number = 180; var _local6:Vertex; var _local7:int; while (_local7 < pts.length) { if (_arg2.diagonals[_local7] == true){ _local4 = Geom.getAngle(pts[_local7], _arg2, _arg3); if (_local4 < _local5){ _local5 = _local4; _local6 = pts[_local7]; }; }; _local7++; }; return (_local6); } public static function slicePolygon(_arg1:Array):void{ var _local2:Vertex; var _local3:Vertex; var _local4:Vertex; var _local5:Vertex; var _local6:Vertex; var _local7:int = _arg1.length; var _local8:int; while (_local8 < _local7) { _local2 = _arg1[(((_local7 + _local8) - 1) % _local7)]; _local3 = _arg1[_local8]; _local4 = _arg1[((_local8 + 1) % _local7)]; if (Geom.vectorMul(_local2, _local3, _local4) < 0){ _local5 = Geom.getBisectrix(_local2, _local3, _local4); _local6 = findCut(_arg1, _local3, _local5); if (_local6 != null){ _local3.diagonals[_local6.number] = false; _local6.diagonals[_local3.number] = false; twoPolyParts(_arg1, _local3.number, _local6.number); return; }; }; _local8++; }; parts.push(_arg1); } public static function getOrient(_arg1:Array):Boolean{ var _local5:int; var _local2:Number = Number.MIN_VALUE; var _local3:Number = Number.MIN_VALUE; var _local4:int = _arg1.length; var _local6:int; while (_local6 < _local4) { if (_arg1[_local6].y >= _local2){ _local2 = _arg1[_local6].y; }; _local6++; }; _local6 = 0; while (_local6 < _local4) { if ((((_arg1[_local6].y == _local2)) && ((_arg1[_local6].x > _local3)))){ _local3 = _arg1[_local6].x; _local5 = _local6; }; _local6++; }; var _local7:Vertex = _arg1[(((_local4 + _local5) - 1) % _local4)]; var _local8:Vertex = _arg1[_local5]; var _local9:Vertex = _arg1[((_local5 + 1) % _local4)]; if (Geom.vectorMul(_local7, _local8, _local9) > 0){ return (true); }; return (false); } public static function getPolyParts(_arg1:Array):Array{ parts = []; pts = _arg1; if (!getOrient(pts)){ pts = reversePolygon(pts); }; triangulation(); slicePolygon(pts); return (parts); } } }//package parser.utils
Section 126
//ShapeDrawing (parser.utils.ShapeDrawing) package parser.utils { import flash.display.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import parser.math.*; import flash.geom.*; import parser.*; public class ShapeDrawing { public static const physScale:int = 30; private static function drawCenter(_arg1:Graphics, _arg2:uint):void{ var _local3:int = (Styles.centerSize / 2); _arg1.lineStyle(1, _arg2); _arg1.moveTo(0, -(_local3)); _arg1.lineTo(0, _local3); _arg1.moveTo(-(_local3), 0); _arg1.lineTo(_local3, 0); } public static function circleBody(_arg1:XML, _arg2:Boolean):Array{ var _local3:Number = _arg1.special.@radius; var _local4:int = (_local3 - ((_local3 * 2) * _arg1.position.@centerX)); var _local5:int = (_local3 - ((_local3 * 2) * _arg1.position.@centerY)); if (_arg2){ _local4 = (parseInt(_arg1.position.@x) + _local4); _local5 = (parseInt(_arg1.position.@y) + _local5); }; var _local6:b2ShapeDef = new b2CircleDef(); _local6.radius = (_local3 / physScale); _local6.localPosition = new b2Vec2((_local4 / physScale), (_local5 / physScale)); return ([_local6]); } public static function circleSprite(_arg1:XML, _arg2:b2ShapeDef, _arg3:Boolean):void{ var _local4:Graphics = _arg2.sprite.graphics; var _local5:uint = parseInt(_arg1.basic.@color, 16); var _local6:Number = _arg1.special.@radius; var _local7:Number = (_arg1.special.@radius - ((_local6 * 2) * _arg1.position.@centerX)); var _local8:Number = (_local6 - ((_local6 * 2) * _arg1.position.@centerY)); _local4.clear(); _local4.beginFill(_local5, Styles.bodyAlpha); _local4.lineStyle(1, _local5, 1, false, "none"); _local4.drawCircle(_local7, _local8, _local6); _local4.endFill(); if (_arg3){ _arg2.sprite.x = _arg1.position.@x; _arg2.sprite.y = _arg1.position.@y; _arg2.sprite.rotation = _arg1.position.@angle; }; drawCenter(_local4, _local5); } public static function polygonBody(_arg1:XML, _arg2:Boolean):Array{ var _local5:Vertex; var _local7:XML; var _local8:Array; var _local9:b2PolygonDef; var _local10:Array; var _local11:int; var _local3:Array = []; var _local4:Array = []; var _local6:int; for each (_local7 in _arg1.points.elements()) { _local5 = new Vertex(_local7.@x, _local7.@y, _local6); if (_arg2){ var _temp1 = Geom.rotateVertex(_local5, _arg1.position.@angle); _local5 = Geom.rotateVertex(_local5, _arg1.position.@angle); _temp1.x = (_local5.x + parseInt(_arg1.position.@x)); _local5.y = (_local5.y + parseInt(_arg1.position.@y)); }; _local4.push(_local5); _local6++; }; _local8 = PolySlicer.getPolyParts(_local4); for each (_local10 in _local8) { _local9 = new b2PolygonDef(); _local9.vertexCount = _local10.length; _local11 = 0; while (_local11 < _local10.length) { _local5 = _local10[_local11]; _local9.vertices[_local11].Set((_local5.x / physScale), (_local5.y / physScale)); _local11++; }; _local3.push(_local9); }; return (_local3); } public static function polygonSprite(_arg1:XML, _arg2:b2ShapeDef, _arg3:Boolean):void{ var _local7:XML; var _local8:Point; var _local4:Array = []; var _local5:Graphics = _arg2.sprite.graphics; var _local6:uint = parseInt(_arg1.basic.@color, 16); _local5.clear(); _local5.beginFill(_local6, Styles.bodyAlpha); _local5.lineStyle(1, _local6, 1, false, "none"); for each (_local7 in _arg1.points.elements()) { _local4.push(new Point(_local7.@x, _local7.@y)); }; _local5.moveTo(_local4[0].x, _local4[0].y); for each (_local8 in _local4) { _local5.lineTo(_local8.x, _local8.y); }; _local5.endFill(); if (_arg3){ _arg2.sprite.x = _arg1.position.@x; _arg2.sprite.y = _arg1.position.@y; _arg2.sprite.rotation = _arg1.position.@angle; }; drawCenter(_local5, _local6); } } }//package parser.utils
Section 127
//Simulator (parser.Simulator) package parser { import flash.events.*; import flash.display.*; import parser.loaders.*; import parser.display.*; import parser.box2d.Dynamics.*; import parser.objects.*; import flash.net.*; import parser.math.*; import flash.geom.*; import parser.utils.*; import flash.system.*; import parser.render.*; public class Simulator extends Sprite { public var layers:LayerManager; private var cameraSize:Point; public var showBorder:Boolean; private var debugDrawing:Boolean; public var debugMouse:Boolean; public var world:PhysicWorld; private var border:Sprite; public var domains:Array; public var swfLoader:SWFLoader; private var renderType:String; public var doc:XML; public static const ENGINE:String = "Engine"; public static const STANDARD:String = "Standard"; public static const SPRITES:String = "Sprites"; public function Simulator(){ init(); } public function refreshSize(_arg1:Event=null):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:DisplayObject; if (parent){ _local6 = parent.scrollPanel; _local2 = _local6.width; _local3 = _local6.height; _local4 = ((_local2 - cameraSize.x) / 2); _local5 = ((_local3 - cameraSize.y) / 2); x = (_local6.x + _local4); y = (_local6.y + _local5); } else { _local2 = (cameraSize.x * 2); _local3 = (cameraSize.y * 2); _local4 = ((_local2 - cameraSize.x) / 2); _local5 = ((_local3 - cameraSize.y) / 2); }; if (contains(border)){ border.graphics.clear(); border.graphics.beginFill(0); border.graphics.drawRect(-(_local4), -(_local5), _local2, _local3); border.graphics.drawRect(0, 0, cameraSize.x, cameraSize.y); border.graphics.endFill(); }; } public function stopProgress():void{ removeEventListener(Event.ENTER_FRAME, progress); } public function init():void{ Importer.main = this; Importer.bodies = {}; Importer.domain = ApplicationDomain.currentDomain; cameraSize = new Point(); border = new Sprite(); layers = new LayerManager(); swfLoader = new SWFLoader(); addChild(layers); } public function untilDestroy():void{ } private function parseLayers(_arg1:XML):Layer{ var _local2:Layer; var _local3:BasicObject; var _local4:XML; var _local5:XML; var _local6:XML; for each (_local4 in _arg1.layers.elements()) { _local2 = new Layer(); _local2.layerName = _local4.basic.@name; layers.addLayer(_local2); for each (_local5 in _local4.bodies.elements()) { switch (_local5.name().toString()){ case BasicObject.BODY: case BasicObject.BODY_GROUP: _local3 = Importer.parseObject(_local5); break; case BasicObject.SPRITE: case BasicObject.SPRITE_GROUP: _local3 = Importer.parseSprite(_local5); break; case BasicObject.INSTANCE: _local3 = Importer.parseInstance(_local5, _local2); break; }; if (_local3.sprite){ _local3.sprite.x = Math.round(_local3.sprite.x); _local3.sprite.y = Math.round(_local3.sprite.y); _local2.addChild(_local3.sprite); }; _local2.addObject(_local3); }; for each (_local6 in _local4.joints.elements()) { _local3 = Importer.parseJoint(_local6); _local2.addObject(_local3); if (_local3.sprite){ _local2.addChild(_local3.sprite); }; }; }; return (_local2); } public function prepareUntilStart():void{ } public function start(_arg1:XML, _arg2:XML=null):void{ if (showBorder){ addChild(border); }; if (_arg2){ Importer.parseInstanceContent(_arg2.instances[0]); }; doc = _arg1; parseDocument(); } public function progress(_arg1:Event):void{ world.worldStep(); } private function parseDocument(_arg1:LibraryEvent=null):void{ buildPhysicWorld(); parseLayers(doc); refreshSize(); prepareUntilStart(); } private function bool(_arg1:String):Boolean{ if (_arg1 == "true"){ return (true); }; return (false); } public function setRenderType(_arg1:String):void{ switch (_arg1){ case SPRITES: default: renderType = SPRITES; break; case STANDARD: renderType = STANDARD; break; case ENGINE: renderType = ENGINE; break; }; Importer.renderType = renderType; } public function startProgress():void{ addEventListener(Event.ENTER_FRAME, progress); } public function startFromEditor(_arg1:XML, _arg2:XML=null, _arg3:Object=null):void{ doc = _arg1; swfLoader.domains = _arg3; if (showBorder){ addChild(border); }; if (_arg2){ Importer.parseInstanceContent(_arg2); }; if (_arg3){ parseDocument(); } else { loadLibrary(); }; } public function destroy():void{ var _local1:b2Body; stopProgress(); untilDestroy(); if (world){ _local1 = world.world.m_bodyList; while (world.numChildren > 1) { world.removeChildAt(0); }; while (_local1) { world.world.DestroyBody(_local1); _local1 = _local1.m_next; }; world.destroy(); world = null; }; layers.removeAll(); Importer.bodies = {}; } private function loadLibrary():void{ var _local1:URLRequest; var _local2:XML; for each (_local2 in doc.library.elements()) { _local1 = new URLRequest(((doc.project.@path + "\\") + _local2.@name)); swfLoader.loadFromURL(_local1, _local2.@name); }; if (swfLoader.fileCounter != 0){ swfLoader.addEventListener(LibraryEvent.LIBRARY_IS_LOADED, parseDocument); } else { parseDocument(); }; } public function getBodies():Object{ return (Importer.bodies); } private function buildPhysicWorld():void{ var _local1:Point = new Point(); var _local2:Point = new Point(); _local1.x = (-((doc.bounds.@worldWh - doc.bounds.@cameraWh)) / 2); _local1.y = (-((doc.bounds.@worldHt - doc.bounds.@cameraHt)) / 2); _local2.x = (doc.bounds.@cameraWh + Math.abs(_local1.x)); _local2.y = (doc.bounds.@cameraHt + Math.abs(_local1.y)); cameraSize.x = doc.bounds.@cameraWh; cameraSize.y = doc.bounds.@cameraHt; if (renderType == ENGINE){ debugDrawing = true; }; var _local3:Object = {gravity:doc.options.@gravity, timestep:doc.options.@timestep, iterations:doc.options.@iterations, lowerBound:_local1, upperBound:_local2, cameraSize:cameraSize, debugMouse:debugMouse, debugDraw:debugDrawing, doSleep:true}; world = new PhysicWorld(_local3); addChild(world); Importer.bodies.ground = world.world.GetGroundBody(); } } }//package parser
Section 128
//Styles (parser.Styles) package parser { public class Styles { public static const instanceColor:uint = 6750105; public static const groupCenterColor:uint = 0xFF0000; public static const staticBodyColor:uint = 8381823; public static const backgroundColor:uint = 0x666666; public static const scaleBorder:uint = 43263; public static const bodyAlpha:Number = 0.3; public static const workspaceColor:uint = 0x999999; public static const dynamicBodyColor:uint = 0xFFFFFF; public static const drawingColor:uint = 0xFFFFFF; public static const scaleBorderAlpha:Number = 0.7; public static const scaleRectSize:int = 8; public static const helpColor:uint = 16777164; public static const scaleRectColor:uint = 0xFFCC00; public static const centerSize:int = 8; public static const jointColor:uint = 16777156; public static const bridgePreview:uint = 0xFFCC00; } }//package parser
Section 129
//PreloadBar_7 (Preloader_fla.PreloadBar_7) package Preloader_fla { import flash.display.*; public dynamic class PreloadBar_7 extends MovieClip { public function PreloadBar_7(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Preloader_fla
Section 130
//Gear (script.constants.Gear) package script.constants { public class Gear { public static const WHEEL:String = "Wheel"; public static const SPOKE_V:String = "Spoke_V"; public static const BASKET:String = "Basket"; public static const EXIT_ORANGE:String = "Exit_Orange"; public static const EXIT_RED_2:String = "Exit_Red_2"; public static const BALL_ORANGE:String = "Ball_Orange"; public static const STAR:String = "Star"; public static const SPRING:String = "Spring"; public static const EXIT_RED:String = "Exit_Red"; public static const EXIT_BLUE:String = "Exit_Blue"; public static const EXIT_BLUE_2:String = "Exit_Blue_2"; public static const ISLAND_MEDIUM:String = "Island_Medium"; public static const BALL_BLUE:String = "Ball_Blue"; public static const BALL_BLUE_H:String = "Ball_Blue_H"; public static const STARTER:String = "Starter"; public static const BALL_RED:String = "Ball_Red"; public static const SPOKE_H:String = "Spoke_H"; public static const ELEVATOR_H:String = "Elevator_H"; public static const EXIT_ORANGE_2:String = "Exit_Orange_2"; public static const ELEVATOR_L:String = "Elevator_L"; public static const ISLAND_BIG:String = "Island_Big"; public static const TRUCK:String = "Truck"; } }//package script.constants
Section 131
//ID (script.constants.ID) package script.constants { public class ID { public static const GROUND:uint = 0; public static const BRAKE:uint = 11; public static const SPRING:uint = 10; public static const BALL_ORANGE:uint = 3; public static const EXIT_ORANGE:uint = 6; public static const EXIT_RED:uint = 4; public static const BALL_RED:uint = 1; public static const STAR:uint = 7; public static const SPINES:uint = 9; public static const BALL_BLUE:uint = 2; public static const EXIT_BLUE:uint = 5; public static const TRUCK:uint = 8; } }//package script.constants
Section 132
//Messages (script.constants.Messages) package script.constants { public class Messages { public static const SAME_COLOR:String = "Wrong ball color"; public static const ALL_STARS:String = "You must to collect all the stars"; public static const LOST_BALL:String = "You have lost the ball"; public static const TIME_OUT:String = "Your time is out"; } }//package script.constants
Section 133
//Tools (script.constants.Tools) package script.constants { public class Tools { public static const STICK:int = 1; public static const SPRING:int = 2; public static const HAND:int = 3; } }//package script.constants
Section 134
//Vars (script.constants.Vars) package script.constants { public class Vars { public static const MAX_LENGTH:String = "maxLength"; public static const DELAY:String = "delay"; public static const SPEED:String = "speed"; public static const INIT_X:String = "initX"; public static const INIT_Y:String = "initY"; public static const HORISONTAL:String = "horisontal"; public static const LENGTH:String = "length"; public static const TORQUE:String = "torque"; public static const AUTO_START:String = "autoStart"; public static const LOWER_LIMIT:String = "lowerLimit"; public static const UPPER_LIMIT:String = "upperLimit"; } }//package script.constants
Section 135
//Game (script.gameplay.Game) package script.gameplay { import flash.events.*; import flash.display.*; import parser.display.*; import parser.box2d.Dynamics.*; import script.gear.*; import parser.objects.*; import parser.box2d.Common.Math.*; import script.render.*; import parser.box2d.Dynamics.Contacts.*; import script.*; import script.menu.*; import script.media.*; import parser.*; import script.input.*; import script.constants.*; import tweener.*; import flash.ui.*; public class Game extends Simulator { private const STICK_WIDTH:int = 63; private const CURSOR_HEIGHT:int = 25; private const BALL_RADIUS:int = 22; private const SPRING_WIDTH:int = 44; private const COMPLETE_DELAY:int = 20; private var ballsCounter:int;// = 0 private var starter:MovieClip; private var sound:Boolean; private var dynamicFront:Layer; private var background:Layer; private var currentTool:int; private var cachedCopy:CachedBitmap; private var main:Main; private var bitmapBack:CachedBitmap; private var bitmapFront:CachedBitmap; private var completeFlag:Boolean; private var dynamicBack:Layer; private var elevators:Array; private var isActive:Boolean; private var cursor:Cursor; private var balls:Array; private var ballsLayer:Layer; private var stars:Array; private var starsCounter:int;// = 0 private var gameInterface:Interface; private var staticFront:Layer; private var baskets:Array; private var timeCounter:int;// = 0 private var staticBack:Layer; private var spokes:Array; private var levelTime:int;// = 120 private var startWindow:Sprite; private var islands:Array; public function Game(_arg1:int){ main = Main.main; balls = []; stars = []; baskets = []; islands = []; spokes = []; elevators = []; super(); showBorder = true; completeFlag = true; setRenderType(SPRITES); cursor = new Cursor(); cursor.visible = false; addEventListener(MouseEvent.MOUSE_DOWN, mousePress); gameInterface = new Interface(); gameInterface.btnStick.addEventListener(MouseEvent.MOUSE_DOWN, showStick); gameInterface.btnSpring.addEventListener(MouseEvent.MOUSE_DOWN, showSpring); gameInterface.btnHand.addEventListener(MouseEvent.MOUSE_DOWN, showHand); gameInterface.btnRestart.addEventListener(MouseEvent.CLICK, restart); gameInterface.btnMenu.addEventListener(MouseEvent.CLICK, gameMenu); gameInterface.addEventListener(MouseEvent.MOUSE_OVER, hideGameCursor); gameInterface.addEventListener(MouseEvent.MOUSE_OUT, showGameCursor); gameInterface.setScore(main.score.total); if (_arg1 == 1){ startWindow = new Tutorial_1(); } else { if (_arg1 == 3){ startWindow = new Tutorial_3(); } else { if (_arg1 == 4){ startWindow = new Tutorial_4(); } else { startWindow = new StartWindow(); }; }; }; startWindow.btnStart.addEventListener(MouseEvent.CLICK, startLevel); addChild(gameInterface); addChild(cursor); addChild(startWindow); addEventListener(Event.ADDED_TO_STAGE, initGame); } private function gameMenu(_arg1:MouseEvent=null):void{ stopProgress(); cacheGameScreen(); dispatchEvent(new GameEvent(GameEvent.SHOW_GAME_MENU)); } private function release(_arg1:Event):void{ } public function uncacheGameScreen():void{ if (cachedCopy){ cachedCopy.returnSource(); cachedCopy = null; }; } override public function prepareUntilStart():void{ var _local2:MovieClip; var _local4:InstanceObject; var _local5:Basket; var _local6:Island; var _local7:SpokeV; var _local8:Sprite; var _local9:Sprite; var _local10:Ball; levelTime = doc.options.@time; gameInterface.setTimer(levelTime); currentTool = doc.options.@tool; switchTool(currentTool); staticFront = layers.getLayerByIndex(5); dynamicFront = layers.getLayerByIndex(4); ballsLayer = layers.getLayerByIndex(3); dynamicBack = layers.getLayerByIndex(2); staticBack = layers.getLayerByIndex(1); background = layers.getLayerByIndex(0); var _local1:BasicObject = staticBack.getSpritesByName(Gear.STARTER)[0]; if (_local1){ starter = _local1.sprite; }; bitmapFront = Render.renderDisplay(staticFront, false, true); bitmapBack = Render.renderDisplay(background); var _local3:Array = layers.getInstancesByType(Gear.STAR); for each (_local4 in _local3) { _local2 = _local4.content.bodyList.sprite.getChildAt(0); _local2.gotoAndStop(1); stars.push(_local2); }; gameInterface.setStars(starsCounter, stars.length); _local3 = layers.getInstancesByType(Gear.BASKET); for each (_local4 in _local3) { _local5 = new Basket(_local4.content.bodyList); _local5.button.addEventListener(MouseEvent.MOUSE_OVER, hideGameCursor); _local5.button.addEventListener(MouseEvent.MOUSE_OUT, showGameCursor); dynamicFront.addChildAt(_local5.button, 0); dynamicFront.addChildAt(_local5.sprite, 0); baskets.push(_local5); }; _local3 = layers.getInstancesByType(Gear.TRUCK); for each (_local4 in _local3) { new Truck(_local4); }; _local3 = layers.getInstancesByType(Gear.ISLAND_MEDIUM); _local3 = _local3.concat(layers.getInstancesByType(Gear.ISLAND_BIG)); for each (_local4 in _local3) { _local6 = new Island(_local4); _local6.setAlias(islands.length); islands.push(_local6); }; _local3 = layers.getInstancesByType(Gear.SPOKE_V); for each (_local4 in _local3) { _local7 = new SpokeV(_local4); dynamicFront.addChild(_local7.ropeMask); spokes.push(_local7); }; _local3 = layers.getInstancesByType(Gear.ELEVATOR_L); _local3 = _local3.concat(layers.getInstancesByType(Gear.ELEVATOR_H)); if (_local3.length == 2){ elevators.push(new Elevator(_local3[0], _local3[1])); }; _local3 = layers.getInstancesByType(Gear.SPRING); for each (_local4 in _local3) { new Spring(_local4); }; _local3 = layers.getInstancesByType(Gear.WHEEL); for each (_local4 in _local3) { new Wheel(_local4); }; _local3 = layers.getInstancesByType(Gear.EXIT_RED); _local3 = _local3.concat(layers.getInstancesByType(Gear.EXIT_RED_2)); _local3 = _local3.concat(layers.getInstancesByType(Gear.EXIT_BLUE)); _local3 = _local3.concat(layers.getInstancesByType(Gear.EXIT_BLUE_2)); _local3 = _local3.concat(layers.getInstancesByType(Gear.EXIT_ORANGE)); _local3 = _local3.concat(layers.getInstancesByType(Gear.EXIT_ORANGE_2)); for each (_local4 in _local3) { _local8 = _local4.content.spriteList.sprite; _local9 = _local8.back; _local8.back.x = (_local9.x + _local8.x); _local9.y = (_local9.y + _local8.y); _local9.scaleX = _local8.scaleX; staticBack.addChild(_local9); }; _local3 = layers.getInstancesByType(Gear.BALL_RED); _local3 = _local3.concat(layers.getInstancesByType(Gear.BALL_BLUE)); _local3 = _local3.concat(layers.getInstancesByType(Gear.BALL_BLUE_H)); _local3 = _local3.concat(layers.getInstancesByType(Gear.BALL_ORANGE)); for each (_local4 in _local3) { _local10 = new Ball(_local4); balls.push(_local10); }; } private function ballDrop(_arg1:Ball):void{ ballsCounter++; _arg1.destroy(); completeTest(); } private function showStick(_arg1:MouseEvent):void{ switchTool(Tools.STICK); } private function showGameCursor(_arg1:MouseEvent=null):void{ if (isActive){ cursor.visible = true; Mouse.hide(); }; } private function showHand(_arg1:MouseEvent):void{ switchTool(Tools.HAND); } private function collectStar(_arg1:b2Body):void{ var _local2:Sprite = _arg1.sprite.getChildAt(0); _local2.gotoAndStop(1); var _local3:Object = {y:(_local2.y - 50), rotation:360, time:40, useFrames:true, transition:Transition.QUART_OUT}; var _local4:Object = {alpha:0, time:8, delay:15, useFrames:true, transition:Transition.LINEAR, onComplete:_local2.parent.removeChild, onCompleteParams:[_local2]}; Tweener.addTween(_local2, _local3); Tweener.addTween(_local2, _local4); world.world.DestroyBody(_arg1); starsCounter++; gameInterface.setStars(starsCounter, stars.length); } private function keyDown(_arg1:KeyboardEvent):void{ switch (_arg1.keyCode){ case 49: case 97: switchTool(Tools.STICK); break; case 50: case 98: switchTool(Tools.SPRING); break; case 51: case 99: switchTool(Tools.HAND); break; case 27: gameMenu(); break; case 82: restart(); break; case 32: if (((stage) && (startWindow))){ startLevel(); }; break; }; } private function initGame(_arg1:Event):void{ startWindow.init(); stage.focus = this; removeEventListener(Event.ADDED_TO_STAGE, initGame); addEventListener(KeyboardEvent.KEY_DOWN, keyDown); } private function showSpring(_arg1:MouseEvent):void{ switchTool(Tools.SPRING); } private function restart(_arg1:MouseEvent=null):void{ if (stage){ stopProgress(); dispatchEvent(new GameEvent(GameEvent.RESTART_LEVEL)); }; } public function setLevelNumber(_arg1:int):void{ gameInterface.fldLevel.text = ("Level " + _arg1); gameInterface.fldLevel.mouseEnabled = false; } private function mousePress(_arg1:MouseEvent):void{ var _local2:Stick; var _local3:InstanceObject; stage.focus = this; if (((((isActive) && (cursor.visible))) && (cursor.isActive))){ switch (currentTool){ case Tools.STICK: _local2 = new Stick(mouseX, mouseY, this); _local2.createShape(world.world); dynamicFront.addChild(_local2.sprite); cursor.removeObject(); cursor.setObject(_local2); cursor.visible = false; addEventListener(MouseEvent.MOUSE_UP, putStick); break; case Tools.SPRING: _local3 = dynamicBack.createInstance(mouseX, mouseY, Gear.SPRING); cursor.removeObject(); cursor.setObject(new Spring(_local3)); break; case Tools.HAND: cursor.push(); break; }; } else { if (((!(cursor.isActive)) && (main.sound))){ Sounds.sndClick.play(); }; }; } public function cacheGameScreen():void{ var _local1:MovieClip; if (!cachedCopy){ for each (_local1 in stars) { _local1.stop(); }; cachedCopy = Render.renderDisplay(layers); }; } public function lock():void{ mouseEnabled = false; mouseChildren = false; } override public function progress(_arg1:Event):void{ var _local2:Ball; var _local3:b2ContactEdge; var _local4:b2Body; var _local5:Island; var _local6:Basket; var _local7:SpokeV; var _local8:Elevator; var _local9:Spring; var _local10:int; var _local11:int; var _local12:int; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:b2Vec2; var _local18:Number; cursor.x = mouseX; cursor.y = mouseY; world.worldStep(); for each (_local5 in islands) { _local5.move(); }; for each (_local6 in baskets) { _local6.correctAngle(); }; for each (_local7 in spokes) { _local7.move(); }; for each (_local8 in elevators) { _local8.drawRope(); }; for each (_local2 in balls) { if (!_local2.isActive){ } else { _local3 = _local2.body.m_contactList; if (_local2.sprite.y > 550){ _local2.destroy(); gameOver(Messages.LOST_BALL); return; }; while (_local3) { _local4 = _local3.other; switch (_local4.id){ case ID.GROUND: break; case ID.STAR: collectStar(_local4); if (main.sound){ Sounds.sndStar.play(); }; break; case ID.SPRING: _local9 = _local4.object; _local10 = (_local9.sprite.y - _local2.sprite.y); _local11 = Math.abs((_local9.sprite.x - _local2.sprite.x)); if ((((((_local10 >= 12)) && ((_local10 <= 22)))) && ((_local11 <= 40)))){ if (((!(_local9.enabled)) && (main.sound))){ Sounds.sndSpring.play(); }; _local9.enableSpring(); }; break; case ID.BRAKE: if (_local2.brake != _local4.alias){ _local2.brake = _local4.alias; _local2.startBraking(); }; break; case ID.TRUCK: _local4.object.startMotor(); break; case ID.SPINES: if (main.sound){ Sounds.sndBlow.play(); }; _local2.spines(); Tweener.addTimeout(gameOver, 20, [Messages.LOST_BALL]); break; case ID.EXIT_RED: switch (_local2.body.id){ case ID.BALL_RED: _local2.isActive = false; Tweener.addTimeout(ballDrop, COMPLETE_DELAY, [_local2]); break; case ID.BALL_ORANGE: case ID.BALL_BLUE: gameOver(Messages.SAME_COLOR); break; }; break; case ID.EXIT_BLUE: switch (_local2.body.id){ case ID.BALL_BLUE: _local2.isActive = false; Tweener.addTimeout(ballDrop, COMPLETE_DELAY, [_local2]); break; case ID.BALL_ORANGE: case ID.BALL_RED: gameOver(Messages.SAME_COLOR); break; }; break; case ID.EXIT_ORANGE: switch (_local2.body.id){ case ID.BALL_ORANGE: _local2.isActive = false; Tweener.addTimeout(ballDrop, COMPLETE_DELAY, [_local2]); break; case ID.BALL_RED: case ID.BALL_BLUE: gameOver(Messages.SAME_COLOR); break; }; break; }; _local3 = _local3.next; }; }; }; switch (currentTool){ case Tools.STICK: case Tools.SPRING: if (currentTool == Tools.STICK){ _local12 = STICK_WIDTH; } else { _local12 = SPRING_WIDTH; }; cursor.cross.visible = false; cursor.isActive = true; for each (_local2 in balls) { if (_local2.isActive){ if ((((Math.abs((_local2.sprite.x - mouseX)) < _local12)) && ((Math.abs((_local2.sprite.y - mouseY)) < CURSOR_HEIGHT)))){ cursor.cross.visible = true; cursor.isActive = false; }; }; }; break; case Tools.HAND: _local14 = Number.MAX_VALUE; _local15 = (mouseX / 30); _local16 = (mouseY / 30); for each (_local2 in balls) { if (_local2.isActive){ _local17 = _local2.body.GetPosition(); ballX = (_local17.x - _local15); ballY = (_local17.y - _local16); _local13 = ((ballX * ballX) + (ballY * ballY)); if (_local13 < _local14){ _local14 = _local13; _local18 = _local17.x; cursor.target = _local2.body; }; }; }; if (_local15 > _local18){ cursor.scaleX = 1; } else { cursor.scaleX = -1; }; break; }; timeCounter++; if (timeCounter > 45){ levelTime--; gameInterface.setTimer(levelTime); timeCounter = 0; if (levelTime == 0){ gameOver(Messages.TIME_OUT); return; }; }; } override public function untilDestroy():void{ var _local1:Basket; for each (_local1 in baskets) { _local1.button.removeEventListener(MouseEvent.MOUSE_OVER, hideGameCursor); _local1.button.removeEventListener(MouseEvent.MOUSE_OUT, showGameCursor); _local1.destroy(); }; if (startWindow){ hideStartWindow(); }; bitmapFront.destroy(); bitmapBack.destroy(); } override public function startProgress():void{ var _local1:Ball; var _local2:MovieClip; for each (_local1 in balls) { _local1.startTimer(); }; if (((starter) && ((starter.currentFrame > 1)))){ starter.play(); }; if (!completeFlag){ isActive = true; showGameCursor(); addEventListener(KeyboardEvent.KEY_DOWN, keyDown); addEventListener(Event.ENTER_FRAME, progress); for each (_local2 in stars) { _local2.play(); }; }; if (stage){ stage.focus = this; }; } public function getTime():int{ return (levelTime); } public function unlock(_arg1:Event):void{ _arg1.currentTarget.removeEventListener(Event.CLOSE, unlock); mouseEnabled = true; mouseChildren = true; } private function putStick(_arg1:MouseEvent):void{ cursor.alpha = 0; cursor.visible = true; removeEventListener(MouseEvent.MOUSE_UP, putStick); Tweener.addTween(cursor, {alpha:1, time:20, useFrames:true, transition:Transition.LINEAR}); } private function hideGameCursor(_arg1:MouseEvent=null):void{ cursor.visible = false; Mouse.show(); } override public function stopProgress():void{ var _local1:Ball; for each (_local1 in balls) { _local1.stopTimer(); }; if (((starter) && ((starter.currentFrame > 1)))){ starter.stop(); }; Mouse.show(); isActive = false; cursor.visible = false; removeEventListener(Event.ENTER_FRAME, progress); removeEventListener(KeyboardEvent.KEY_DOWN, keyDown); } private function startLevel(_arg1:Event=null):void{ var _local2:Basket; for each (_local2 in baskets) { _local2.buttonListener(); }; completeFlag = false; hideStartWindow(); startProgress(); if (starter){ starter.gotoAndPlay(2); }; gameInterface.mouseChildren = true; gameInterface.mouseEnabled = true; } private function hideStartWindow():void{ startWindow.btnStart.removeEventListener(MouseEvent.CLICK, startLevel); startWindow.hideWindow(); startWindow = null; } private function gameOver(_arg1:String):void{ var _local2:GameEvent = new GameEvent(GameEvent.GAME_OVER); _local2.message = _arg1; dispatchEvent(_local2); stopProgress(); completeFlag = true; } private function completeTest():void{ var _local1:GameEvent; if (ballsCounter == balls.length){ if (starsCounter == stars.length){ _local1 = new GameEvent(GameEvent.LEVEL_COMPLETE); dispatchEvent(_local1); stopProgress(); cacheGameScreen(); completeFlag = true; } else { gameOver(Messages.ALL_STARS); }; }; } private function switchTool(_arg1:int):void{ if (((!((currentTool == _arg1))) && (main.sound))){ Sounds.sndChange.play(); }; if (stage){ stage.focus = this; }; currentTool = _arg1; cursor.scaleX = 1; cursor.target = null; cursor.cross.visible = false; cursor.isActive = true; cursor.gotoAndStop(_arg1); gameInterface.numbers.gotoAndStop(_arg1); gameInterface.btnStick.prevFrame(); gameInterface.btnSpring.prevFrame(); gameInterface.btnHand.prevFrame(); switch (_arg1){ case Tools.STICK: gameInterface.btnStick.nextFrame(); break; case Tools.SPRING: gameInterface.btnSpring.nextFrame(); break; case Tools.HAND: gameInterface.btnHand.nextFrame(); break; }; } } }//package script.gameplay
Section 136
//GameEvent (script.gameplay.GameEvent) package script.gameplay { import flash.events.*; public class GameEvent extends Event { public var message:String; public static var GAME_OVER:String = "GameOver"; public static var LEVEL_COMPLETE:String = "LevelComplete"; public static var RESTART_LEVEL:String = "RestartLevel"; public static var SHOW_GAME_MENU:String = "ShowGameMenu"; public function GameEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package script.gameplay
Section 137
//Interface (script.gameplay.Interface) package script.gameplay { import flash.events.*; import script.*; public class Interface extends InterfaceScreen { private var main:Main; public function Interface(){ main = Main.main; super(); btnRestart.useHandCursor = false; btnMenu.useHandCursor = false; btnFunFlow.addEventListener(MouseEvent.CLICK, Links.sponsorLogo); } public function setScore(_arg1:int):void{ var _local2:String; if (_arg1 < 10){ _local2 = ("000" + _arg1); } else { if (_arg1 < 100){ _local2 = ("00" + _arg1); } else { if (_arg1 < 1000){ _local2 = ("0" + _arg1); } else { _local2 = _arg1; }; }; }; fldScore.text = _local2; } public function setTimer(_arg1:int):void{ var _local2:int = Math.floor((_arg1 / 60)); var _local3:String = String((_arg1 - (_local2 * 60))); if (_local3.length == 1){ _local3 = ("0" + _local3); }; fldTime.text = ((_local2 + ":") + _local3); } public function setStars(_arg1:int, _arg2:int):void{ fldStars.text = ((_arg1 + "/") + _arg2); } } }//package script.gameplay
Section 138
//Levels (script.gameplay.Levels) package script.gameplay { public class Levels { public static var level_21:XML = (Level_21.data as XML); public static var level_23:XML = (Level_23.data as XML); private static var Level_1:Class = Levels_Level_1; private static var Level_2:Class = Levels_Level_2; private static var Level_3:Class = Levels_Level_3; private static var Level_4:Class = Levels_Level_4; private static var Level_5:Class = Levels_Level_5; private static var Level_6:Class = Levels_Level_6; private static var Level_7:Class = Levels_Level_7; private static var Level_8:Class = Levels_Level_8; private static var Level_9:Class = Levels_Level_9; public static var level_19:XML = (Level_19.data as XML); public static var level_2:XML = (Level_2.data as XML); public static var level_4:XML = (Level_4.data as XML); public static var level_1:XML = (Level_1.data as XML); public static var level_3:XML = (Level_3.data as XML); public static var level_17:XML = (Level_17.data as XML); public static var level_5:XML = (Level_5.data as XML); public static var level_6:XML = (Level_6.data as XML); public static var level_8:XML = (Level_8.data as XML); public static var level_9:XML = (Level_9.data as XML); public static var level_15:XML = (Level_15.data as XML); public static var level_16:XML = (Level_16.data as XML); public static var level_18:XML = (Level_18.data as XML); public static var level_10:XML = (Level_10.data as XML); public static var level_11:XML = (Level_11.data as XML); public static var level_7:XML = (Level_7.data as XML); public static var level_13:XML = (Level_13.data as XML); public static var level_14:XML = (Level_14.data as XML); public static var level_20:XML = (Level_20.data as XML); private static var Level_10:Class = Levels_Level_10; private static var Level_11:Class = Levels_Level_11; private static var Level_12:Class = Levels_Level_12; private static var Level_13:Class = Levels_Level_13; private static var Instances:Class = Levels_Instances; private static var Level_15:Class = Levels_Level_15; private static var Level_16:Class = Levels_Level_16; private static var Level_17:Class = Levels_Level_17; private static var Level_18:Class = Levels_Level_18; private static var Level_19:Class = Levels_Level_19; public static var level_24:XML = (Level_24.data as XML); private static var Level_14:Class = Levels_Level_14; public static var level_12:XML = (Level_12.data as XML); public static var level_22:XML = (Level_22.data as XML); private static var Level_20:Class = Levels_Level_20; private static var Level_21:Class = Levels_Level_21; private static var Level_22:Class = Levels_Level_22; private static var Level_23:Class = Levels_Level_23; private static var Level_24:Class = Levels_Level_24; public static var instances:XML = (Instances.data as XML); } }//package script.gameplay
Section 139
//Levels_Instances (script.gameplay.Levels_Instances) package script.gameplay { public class Levels_Instances { public static var data:XML = <settings> <idSettings> <item id="0000" name="Ground" colorName="White" color="ffffff"/> <item id="0001" name="Ball_Red" colorName="Red" color="ffc4c4"/> <item id="0002" name="Ball_Blue" colorName="Blue" color="adc2f3"/> <item id="0003" name="Ball_Orange" colorName="Orange" color="fadcc9"/> <item id="0004" name="Exit_Red" colorName="Red" color="ffc4c4"/> <item id="0005" name="Exit_Blue" colorName="Blue" color="adc2f3"/> <item id="0006" name="Exit_Orange" colorName="Orange" color="fadcc9"/> <item id="0007" name="Star" colorName="Yellow" color="faffc4"/> <item id="0008" name="Truck" colorName="White" color="ffffff"/> <item id="0009" name="Spines" colorName="Yellow" color="faffc4"/> <item id="000a" name="Spring" colorName="White" color="ffffff"/> <item id="000b" name="Brake" colorName="Red" color="ffc4c4"/> <item id="000c" name="" colorName="White" color="ffffff"/> <item id="000d" name="" colorName="White" color="ffffff"/> <item id="000e" name="" colorName="White" color="ffffff"/> <item id="000f" name="" colorName="White" color="ffffff"/> <item id="0010" name="" colorName="White" color="ffffff"/> <item id="0011" name="" colorName="White" color="ffffff"/> <item id="0012" name="" colorName="White" color="ffffff"/> <item id="0013" name="" colorName="White" color="ffffff"/> </idSettings> <presets> <bodyPresets> <preset name="Ground"> <basic id="0000" color="7fe57f"/> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </preset> <preset name="Brake"> <basic id="000b" color="ffc4c4"/> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </preset> <preset name="Spines"> <basic id="0009" color="7fe57f"/> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </preset> </bodyPresets> <spritePresets/> <jointPresets/> </presets> <instances> <instance name="Balk_1" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="ffffff" alias="ib11"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-6.5" y="-84.5"/> <point x="6.5" y="-84.5"/> <point x="6.5" y="84.5"/> <point x="-6.5" y="84.5"/> </points> <physic density="0.010" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Balk_1"/> <dimension width="20.3" height="177.15"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Balk_2" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="ffffff" alias="ib12"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-6.5" y="-62.5"/> <point x="6.5" y="-62.5"/> <point x="6.5" y="62.5"/> <point x="-6.5" y="62.5"/> </points> <physic density="0.01" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Balk_2"/> <dimension width="20.3" height="132.15"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Ball_Blue" layer="Balls"> <objects> <body> <basic type="Circle" name="Circle12" id="0002" color="ffffff" alias="ib19"/> <position x="0" y="0" z="20" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.015" friction="0.3" restitution="0.3" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="true" showSprite="true" sensor="false"/> <special radius="19"/> <sprite> <basic type="sprite" name="sprite14" alias="s14"/> <location file="Art.swf" image="BallBlueSprite"/> <dimension width="42" height="42"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Blue_H" layer="Balls"> <objects> <body> <basic type="Circle" name="Circle12" id="0002" color="adc2f3" alias="ib23"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <physic density="0.025" friction="0.3" restitution="0.3" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="true" showSprite="true" sensor="false"/> <special radius="19"/> <sprite> <basic type="sprite" name="sprite14" alias="s22"/> <location file="Art.swf" image="BallBlueSprite"/> <dimension width="42" height="42"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Orange" layer="Balls"> <objects> <body> <basic type="Circle" name="Circle12" id="0003" color="ffffff" alias="ib19"/> <position x="0" y="0" z="20" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.015" friction="0.3" restitution="0.3" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="true" showSprite="true" sensor="false"/> <special radius="19"/> <sprite> <basic type="sprite" name="sprite14" alias="s14"/> <location file="Art.swf" image="BallOrangeSprite"/> <dimension width="42" height="42"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Red" layer="Balls"> <objects> <body> <basic type="Circle" name="Circle12" id="0001" color="ffffff" alias="ib19"/> <position x="0" y="0" z="20" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.015" friction="0.3" restitution="0.3" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="true" showSprite="true" sensor="false"/> <special radius="19"/> <sprite> <basic type="sprite" name="sprite14" alias="s14"/> <location file="Art.swf" image="BallRedSprite"/> <dimension width="42" height="42"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Basket" layer="Dynamic_Back"> <objects> <bodyGroup> <basic type="bodyGroup" name="bodyGroup4" id="0000" color="ffffff" alias="ig2"/> <position x="0" y="0" z="20" angle="0" centerX="0.5" centerY="0.07" layer="l1"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Circle" name="Circle15" id="0000" color="ffffff" alias="b28"/> <position x="0.35" y="-0.55" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.035" friction="0.2" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> <special radius="14.5"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="ffffff" alias="b27"/> <position x="-27" y="196" z="2" angle="75" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-18" y="-2"/> <point x="18" y="-2"/> <point x="18" y="2"/> <point x="-18" y="2"/> </points> <physic density="0.1" friction="0.2" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="ffffff" alias="b25"/> <position x="27" y="196" z="0" angle="-75" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-18" y="-2"/> <point x="18" y="-2"/> <point x="18" y="2"/> <point x="-18" y="2"/> </points> <physic density="0.1" friction="0.2" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Doors" id="0000" color="ffffff" alias="b26"/> <position x="0.35" y="210.55" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-22" y="-3"/> <point x="22" y="-3"/> <point x="22" y="3"/> <point x="-22" y="3"/> </points> <physic density="0.1" friction="0.2" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> <sprite> <basic type="sprite" name="sprite19" alias="s19"/> <location file="Art.swf" image="BasketSprite"/> <dimension width="62" height="232"/> <position x="0" y="101" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodyGroup> </objects> <joints> <joint> <basic type="Pin" name="Pin12" alias="ij15"/> <position layer="l1"/> <bodies body1="ig2" body2="ground"/> <anchors body1_x="0" body1_y="0"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Bridge_Node" layer="Dynamic_Back"> <objects> <body> <basic type="Circle" name="Circle24" id="0000" color="ffffff" alias="ib61"/> <position x="0" y="0" z="20" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <special radius="8.5"/> <sprite> <basic type="sprite" name="sprite41" alias="s41"/> <location file="Art.swf" image="BridgeNode_3"/> <dimension width="19" height="19"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Bridge_X11" layer="Dynamic_Back"> <objects> <instance name="Bridge_Node"> <basic type="instance" name="instance18" alias="ii18"/> <position x="60.75" y="-48.05" z="2" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance19" alias="ii19"/> <position x="56" y="-32.25" z="3" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance20" alias="ii20"/> <position x="46.15" y="-18.8" z="4" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance21" alias="ii21"/> <position x="37.6" y="-4.65" z="5" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance22" alias="ii22"/> <position x="26.35" y="8.55" z="6" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance23" alias="ii23"/> <position x="14.35" y="21.3" z="7" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance24" alias="ii24"/> <position x="1.35" y="32.55" z="8" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance25" alias="ii25"/> <position x="-12.2" y="42.95" z="9" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance26" alias="ii26"/> <position x="-27.6" y="49.75" z="10" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance27" alias="ii27"/> <position x="-44.2" y="53.75" z="11" angle="0" layer="l6"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance28" alias="ii28"/> <position x="-60.8" y="52.75" z="12" angle="0" layer="l6"/> </instance> </objects> <joints> <joint> <basic type="Pin" name="Pin3" alias="ij6"/> <position layer="l6"/> <bodies body1="ii18" body2="ii19"/> <anchors body1_x="60.75" body1_y="-48.1"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin2" alias="ij5"/> <position layer="l6"/> <bodies body1="ii18" body2="ground"/> <anchors body1_x="60.75" body1_y="-48.1"/> <limits enabled="true" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin4" alias="ij7"/> <position layer="l6"/> <bodies body1="ii19" body2="ii20"/> <anchors body1_x="56" body1_y="-32.3"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin5" alias="ij8"/> <position layer="l6"/> <bodies body1="ii20" body2="ii21"/> <anchors body1_x="46.15" body1_y="-18.8"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin6" alias="ij9"/> <position layer="l6"/> <bodies body1="ii21" body2="ii22"/> <anchors body1_x="37.6" body1_y="-4.7"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin7" alias="ij10"/> <position layer="l6"/> <bodies body1="ii22" body2="ii23"/> <anchors body1_x="26.35" body1_y="8.5"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin8" alias="ij11"/> <position layer="l6"/> <bodies body1="ii23" body2="ii24"/> <anchors body1_x="14.35" body1_y="21.3"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin9" alias="ij12"/> <position layer="l6"/> <bodies body1="ii24" body2="ii25"/> <anchors body1_x="1.35" body1_y="32.5"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin10" alias="ij13"/> <position layer="l6"/> <bodies body1="ii25" body2="ii26"/> <anchors body1_x="-12.2" body1_y="42.9"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin11" alias="ij14"/> <position layer="l6"/> <bodies body1="ii26" body2="ii27"/> <anchors body1_x="-27.6" body1_y="49.7"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin12" alias="ij15"/> <position layer="l6"/> <bodies body1="ii27" body2="ii28"/> <anchors body1_x="-44.2" body1_y="53.7"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin13" alias="ij16"/> <position layer="l6"/> <bodies body1="ii28" body2="ground"/> <anchors body1_x="-60.8" body1_y="52.7"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Bridge_X7" layer="Dynamic_Back"> <objects> <instance name="Bridge_Node"> <basic type="instance" name="instance1" alias="ii1"/> <position x="-36.25" y="-29.85" z="7" angle="0" layer="l1"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance2" alias="ii2"/> <position x="-28.25" y="-15.35" z="8" angle="0" layer="l1"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance3" alias="ii3"/> <position x="-19.25" y="-0.85" z="9" angle="0" layer="l1"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance4" alias="ii4"/> <position x="-9.25" y="13.1" z="10" angle="0" layer="l1"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance5" alias="ii5"/> <position x="4.75" y="23.1" z="11" angle="0" layer="l1"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance6" alias="ii6"/> <position x="19.25" y="32.1" z="12" angle="0" layer="l1"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance7" alias="ii7"/> <position x="36.25" y="35.6" z="13" angle="0" layer="l1"/> </instance> </objects> <joints> <joint> <basic type="Pin" name="Pin2" alias="ij2"/> <position layer="l1"/> <bodies body1="ii1" body2="ii2"/> <anchors body1_x="-36.25" body1_y="-29.85"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin1" alias="ij1"/> <position layer="l1"/> <bodies body1="ii1" body2="ground"/> <anchors body1_x="-36.25" body1_y="-29.85"/> <limits enabled="true" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin3" alias="ij3"/> <position layer="l1"/> <bodies body1="ii2" body2="ii3"/> <anchors body1_x="-28.25" body1_y="-15.35"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin4" alias="ij4"/> <position layer="l1"/> <bodies body1="ii3" body2="ii4"/> <anchors body1_x="-19.25" body1_y="-0.85"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin5" alias="ij5"/> <position layer="l1"/> <bodies body1="ii4" body2="ii5"/> <anchors body1_x="-9.25" body1_y="13.1"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin6" alias="ij6"/> <position layer="l1"/> <bodies body1="ii5" body2="ii6"/> <anchors body1_x="4.75" body1_y="23.1"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin7" alias="ij7"/> <position layer="l1"/> <bodies body1="ii6" body2="ii7"/> <anchors body1_x="19.3" body1_y="32.1"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin8" alias="ij8"/> <position layer="l1"/> <bodies body1="ii7" body2="ground"/> <anchors body1_x="36.3" body1_y="35.6"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Bridge_X9" layer="Dynamic_Back"> <objects> <instance name="Bridge_Node"> <basic type="instance" name="instance1" alias="ii1"/> <position x="-51.25" y="-31.9" z="10" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance2" alias="ii2"/> <position x="-43.75" y="-17.4" z="11" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance3" alias="ii3"/> <position x="-34.75" y="-3.9" z="12" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance4" alias="ii4"/> <position x="-24.75" y="10.05" z="13" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance5" alias="ii5"/> <position x="-12.25" y="20.05" z="14" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance6" alias="ii6"/> <position x="2.25" y="29.05" z="15" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance7" alias="ii7"/> <position x="17.75" y="34.55" z="16" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance8" alias="ii8"/> <position x="34.25" y="38.05" z="17" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance9" alias="ii9"/> <position x="51.25" y="38.55" z="18" angle="0" layer="l2"/> </instance> </objects> <joints> <joint> <basic type="Pin" name="Pin2" alias="ij2"/> <position layer="l2"/> <bodies body1="ii1" body2="ii2"/> <anchors body1_x="-51.25" body1_y="-31.9"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin1" alias="ij1"/> <position layer="l2"/> <bodies body1="ii1" body2="ground"/> <anchors body1_x="-51.25" body1_y="-31.9"/> <limits enabled="true" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin3" alias="ij3"/> <position layer="l2"/> <bodies body1="ii2" body2="ii3"/> <anchors body1_x="-43.75" body1_y="-17.4"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin4" alias="ij4"/> <position layer="l2"/> <bodies body1="ii3" body2="ii4"/> <anchors body1_x="-34.75" body1_y="-3.9"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin5" alias="ij5"/> <position layer="l2"/> <bodies body1="ii4" body2="ii5"/> <anchors body1_x="-24.75" body1_y="10.05"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin6" alias="ij6"/> <position layer="l2"/> <bodies body1="ii5" body2="ii6"/> <anchors body1_x="-12.25" body1_y="20.05"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin7" alias="ij7"/> <position layer="l2"/> <bodies body1="ii6" body2="ii7"/> <anchors body1_x="2.25" body1_y="29.05"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin8" alias="ij8"/> <position layer="l2"/> <bodies body1="ii7" body2="ii8"/> <anchors body1_x="17.75" body1_y="34.55"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin9" alias="ij9"/> <position layer="l2"/> <bodies body1="ii8" body2="ii9"/> <anchors body1_x="34.25" body1_y="38.05"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin10" alias="ij10"/> <position layer="l2"/> <bodies body1="ii9" body2="ground"/> <anchors body1_x="51.25" body1_y="38.55"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Catapult_L" layer="Dynamic_Front"> <objects> <body> <basic type="Polygon" name="Polygon1" id="0000" color="ffffff" alias="ib24"/> <position x="0.25" y="2.25" z="5" angle="0" centerX="0.5" centerY="0.46" layer="l2"/> <points> <point x="-43.3" y="-8.3"/> <point x="95.7" y="-8.3"/> <point x="95.7" y="-1.5"/> <point x="-56.8" y="8.4"/> <point x="-82.3" y="8.9"/> <point x="-96.5" y="-9"/> <point x="-90.8" y="-9"/> <point x="-79.3" y="4"/> <point x="-57.3" y="3.7"/> </points> <physic density="0.005" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite23" alias="s23"/> <location file="Art.swf" image="Catapult_Spoon"/> <dimension width="191.95" height="19.7"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> <sprite> <basic type="sprite" name="sprite21" alias="is21"/> <location file="Art.swf" image="Catapult_Stand"/> <dimension width="74.4" height="54.5"/> <position x="5.15" y="15" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </objects> <joints> <joint> <basic type="Pin" name="Pin13" alias="ij13"/> <position layer="l2"/> <bodies body1="ib24" body2="ground"/> <anchors body1_x="5.05" body1_y="-2.7"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Catapult_R" layer="Dynamic_Front"> <objects> <body> <basic type="Polygon" name="Polygon1" id="0000" color="ffffff" alias="ib27"/> <position x="-0.25" y="2.3" z="2" angle="0" centerX="0.5" centerY="0.46" layer="l5"/> <points> <point x="43.3" y="-8.3"/> <point x="-95.7" y="-8.3"/> <point x="-95.7" y="-1.5"/> <point x="56.8" y="8.4"/> <point x="82.3" y="8.9"/> <point x="96.5" y="-9"/> <point x="90.8" y="-9"/> <point x="79.3" y="4"/> <point x="57.3" y="3.7"/> </points> <physic density="0.005" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite28" alias="s28"/> <location file="Art.swf" image="Catapult_Spoon"/> <dimension width="191.95" height="19.7"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </body> <sprite> <basic type="sprite" name="sprite29" alias="is29"/> <location file="Art.swf" image="Catapult_Stand"/> <dimension width="74.4" height="54.5"/> <position x="-5.35" y="15" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </objects> <joints> <joint> <basic type="Pin" name="Pin13" alias="ij16"/> <position layer="l5"/> <bodies body1="ib27" body2="ground"/> <anchors body1_x="-5.45" body1_y="-2.65"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Elevator_H" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle10" id="000b" color="ffffff" alias="ib12"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-61" y="-18.5"/> <point x="61" y="-18.5"/> <point x="61" y="18.5"/> <point x="-61" y="18.5"/> </points> <physic density="0.025" friction="0.3" restitution="0" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="true" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite14" alias="s14"/> <location file="Art.swf" image="Elevator_H"/> <dimension width="132" height="120"/> <position x="0" y="-38" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="length" value="300"/> <var name="maxLength" value="300"/> </extensions> </instance> <instance name="Elevator_L" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle11" id="000b" color="ffffff" alias="ib13"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-61.5" y="-10.5"/> <point x="61.5" y="-10.5"/> <point x="61.5" y="10.5"/> <point x="-61.5" y="10.5"/> </points> <physic density="0.25" friction="0.3" restitution="0" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="true" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite15" alias="s15"/> <location file="Art.swf" image="Elevator_L"/> <dimension width="132" height="105"/> <position x="0" y="-38" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="length" value="300"/> <var name="maxLength" value="300"/> </extensions> </instance> <instance name="Exit_Blue" layer="Dynamic_Front"> <objects> <sprite> <basic type="sprite" name="sprite29" alias="s29"/> <location file="Art.swf" image="ExitBlueSprite"/> <dimension width="123" height="111"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <bodyGroup> <basic type="bodyGroup" name="bodyGroup5" id="0000" color="7fe57f" alias="ig5"/> <position x="0" y="0" z="0" angle="0" centerX="0.48" centerY="0.37" layer="l6"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b36"/> <position x="-35.75" y="22.5" z="0" angle="10" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-3.5" y="-22"/> <point x="3.5" y="-22"/> <point x="3.5" y="22"/> <point x="-3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b37"/> <position x="24.5" y="22.5" z="1" angle="-13" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-3.5" y="-22"/> <point x="3.5" y="-22"/> <point x="3.5" y="22"/> <point x="-3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle21" id="0000" color="7fe57f" alias="b38"/> <position x="34.55" y="-5.35" z="2" angle="26" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-2.5" y="-22"/> <point x="2.5" y="-22"/> <point x="2.5" y="22"/> <point x="-2.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> </bodyGroup> <body> <basic type="Rectangle" name="Exit" id="0005" color="7fe57f" alias="ib35"/> <position x="-5.5" y="43" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-10" y="-2"/> <point x="10" y="-2"/> <point x="10" y="2"/> <point x="-10" y="2"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </objects> <joints/> <extensions/> </instance> <instance name="Exit_Blue_2" layer="Dynamic_Front"> <objects> <sprite> <basic type="sprite" name="sprite5" alias="is5"/> <location file="Art.swf" image="ExitBlueSprite"/> <dimension width="123" height="111"/> <position x="0" y="10" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <bodyGroup> <basic type="bodyGroup" name="bodyGroup3" id="0000" color="7fe57f" alias="ig2"/> <position x="-0.65" y="10.55" z="4" angle="0" centerX="0.48" centerY="0.37" layer="l5"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false"/> <shapes> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b11"/> <position x="35.75" y="22.5" z="0" angle="-10" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="3.5" y="-22"/> <point x="-3.5" y="-22"/> <point x="-3.5" y="22"/> <point x="3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b12"/> <position x="-24.5" y="22.5" z="1" angle="13" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="3.5" y="-22"/> <point x="-3.5" y="-22"/> <point x="-3.5" y="22"/> <point x="3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle21" id="0000" color="7fe57f" alias="b13"/> <position x="-34.55" y="-5.35" z="2" angle="-26" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="2.5" y="-22"/> <point x="-2.5" y="-22"/> <point x="-2.5" y="22"/> <point x="2.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> </bodyGroup> <body> <basic type="Rectangle" name="Rectangle16" id="0005" color="7fe57f" alias="ib14"/> <position x="5.8" y="53.6" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-10" y="-2"/> <point x="10" y="-2"/> <point x="10" y="2"/> <point x="-10" y="2"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </objects> <joints/> <extensions/> </instance> <instance name="Exit_Orange" layer="Dynamic_Front"> <objects> <sprite> <basic type="sprite" name="sprite29" alias="s29"/> <location file="Art.swf" image="ExitOrangeSprite"/> <dimension width="123" height="111"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <bodyGroup> <basic type="bodyGroup" name="bodyGroup5" id="0000" color="7fe57f" alias="ig5"/> <position x="0" y="0" z="0" angle="0" centerX="0.48" centerY="0.37" layer="l6"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b36"/> <position x="-35.75" y="22.5" z="0" angle="10" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-3.5" y="-22"/> <point x="3.5" y="-22"/> <point x="3.5" y="22"/> <point x="-3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b37"/> <position x="24.5" y="22.5" z="1" angle="-13" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-3.5" y="-22"/> <point x="3.5" y="-22"/> <point x="3.5" y="22"/> <point x="-3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle21" id="0000" color="7fe57f" alias="b38"/> <position x="34.55" y="-5.35" z="2" angle="26" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-2.5" y="-22"/> <point x="2.5" y="-22"/> <point x="2.5" y="22"/> <point x="-2.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> </bodyGroup> <body> <basic type="Rectangle" name="Exit" id="0006" color="7fe57f" alias="ib35"/> <position x="-5.5" y="43" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-10" y="-2"/> <point x="10" y="-2"/> <point x="10" y="2"/> <point x="-10" y="2"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </objects> <joints/> <extensions/> </instance> <instance name="Exit_Orange_2" layer="Dynamic_Front"> <objects> <sprite> <basic type="sprite" name="sprite6" alias="is6"/> <location file="Art.swf" image="ExitOrangeSprite"/> <dimension width="123" height="111"/> <position x="0" y="10" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <bodyGroup> <basic type="bodyGroup" name="bodyGroup4" id="0000" color="7fe57f" alias="ig3"/> <position x="0.6" y="11.55" z="2" angle="0" centerX="0.48" centerY="0.37" layer="l5"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false"/> <shapes> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b16"/> <position x="35.75" y="22.5" z="0" angle="-10" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="3.5" y="-22"/> <point x="-3.5" y="-22"/> <point x="-3.5" y="22"/> <point x="3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b17"/> <position x="-24.5" y="22.5" z="1" angle="13" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="3.5" y="-22"/> <point x="-3.5" y="-22"/> <point x="-3.5" y="22"/> <point x="3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b18"/> <position x="-34.55" y="-5.35" z="2" angle="-26" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="2.5" y="-22"/> <point x="-2.5" y="-22"/> <point x="-2.5" y="22"/> <point x="2.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> </bodyGroup> <body> <basic type="Rectangle" name="Exit" id="0006" color="7fe57f" alias="ib15"/> <position x="7.1" y="54.55" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-10" y="-2"/> <point x="10" y="-2"/> <point x="10" y="2"/> <point x="-10" y="2"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </objects> <joints/> <extensions/> </instance> <instance name="Exit_Red" layer="Dynamic_Front"> <objects> <sprite> <basic type="sprite" name="sprite29" alias="s29"/> <location file="Art.swf" image="ExitRedSprite"/> <dimension width="123" height="111"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <bodyGroup> <basic type="bodyGroup" name="bodyGroup5" id="0000" color="7fe57f" alias="ig5"/> <position x="0" y="0" z="0" angle="0" centerX="0.48" centerY="0.37" layer="l6"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b36"/> <position x="-35.75" y="22.5" z="0" angle="10" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-3.5" y="-22"/> <point x="3.5" y="-22"/> <point x="3.5" y="22"/> <point x="-3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b37"/> <position x="24.5" y="22.5" z="1" angle="-13" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-3.5" y="-22"/> <point x="3.5" y="-22"/> <point x="3.5" y="22"/> <point x="-3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle21" id="0000" color="7fe57f" alias="b38"/> <position x="34.55" y="-5.35" z="2" angle="26" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-2.5" y="-22"/> <point x="2.5" y="-22"/> <point x="2.5" y="22"/> <point x="-2.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> </bodyGroup> <body> <basic type="Rectangle" name="Exit" id="0004" color="7fe57f" alias="ib35"/> <position x="-5.5" y="43" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-10" y="-2"/> <point x="10" y="-2"/> <point x="10" y="2"/> <point x="-10" y="2"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </objects> <joints/> <extensions/> </instance> <instance name="Exit_Red_2" layer="Dynamic_Front"> <objects> <sprite> <basic type="sprite" name="sprite4" alias="is4"/> <location file="Art.swf" image="ExitRedSprite"/> <dimension width="123" height="111"/> <position x="0" y="10" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <bodyGroup> <basic type="bodyGroup" name="bodyGroup5" id="0000" color="7fe57f" alias="ig1"/> <position x="0" y="11" z="1" angle="0" centerX="0.48" centerY="0.37" layer="l5"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false"/> <shapes> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b7"/> <position x="35.75" y="22.5" z="0" angle="-10" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="3.5" y="-22"/> <point x="-3.5" y="-22"/> <point x="-3.5" y="22"/> <point x="3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b8"/> <position x="-24.5" y="22.5" z="1" angle="13" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="3.5" y="-22"/> <point x="-3.5" y="-22"/> <point x="-3.5" y="22"/> <point x="3.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle21" id="0000" color="7fe57f" alias="b9"/> <position x="-34.55" y="-5.35" z="2" angle="-26" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="2.5" y="-22"/> <point x="-2.5" y="-22"/> <point x="-2.5" y="22"/> <point x="2.5" y="22"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> </bodyGroup> <body> <basic type="Rectangle" name="Exit" id="0004" color="7fe57f" alias="ib10"/> <position x="5.5" y="54" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-10" y="-2"/> <point x="10" y="-2"/> <point x="10" y="2"/> <point x="-10" y="2"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </objects> <joints/> <extensions/> </instance> <instance name="Gutter_1" layer="Dynamic_Front"> <objects> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="ffffff" alias="ib14"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <points> <point x="-67" y="-3.5"/> <point x="67" y="-3.5"/> <point x="67" y="3.5"/> <point x="-67" y="3.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite15" alias="s15"/> <location file="Art.swf" image="Gutter_1"/> <dimension width="145" height="18.8"/> <position x="0" y="-2" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints> <joint> <basic type="Pin" name="Pin3" alias="ij3"/> <position layer="l6"/> <bodies body1="ib14" body2="ground"/> <anchors body1_x="0" body1_y="-2.25"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Gutter_2" layer="Dynamic_Front"> <objects> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="ffffff" alias="ib15"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <points> <point x="-103.5" y="-3.5"/> <point x="103.5" y="-3.5"/> <point x="103.5" y="3.5"/> <point x="-103.5" y="3.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite15" alias="s15"/> <location file="Art.swf" image="Gutter_2"/> <dimension width="219.95" height="18.8"/> <position x="0" y="-4" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints> <joint> <basic type="Pin" name="Pin4" alias="ij4"/> <position layer="l6"/> <bodies body1="ib15" body2="ground"/> <anchors body1_x="0" body1_y="-4"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Island_Big" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle21" id="000b" color="7fe57f" alias="ib31"/> <position x="0" y="0" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-90.5" y="-6"/> <point x="90.5" y="-6"/> <point x="90.5" y="6"/> <point x="-90.5" y="6"/> </points> <physic density="0.03" friction="0.3" restitution="0.0" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite21" alias="s21"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="0" y="36" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="true" alpha="true" smoothing="true" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="upperLimit" value="100"/> <var name="horisontal" value="false"/> <var name="speed" value="4"/> <var name="lowerLimit" value="10"/> </extensions> </instance> <instance name="Island_Medium" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle20" id="000b" color="7fe57f" alias="ib30"/> <position x="0" y="0" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-60" y="-6"/> <point x="60" y="-6"/> <point x="60" y="6"/> <point x="-60" y="6"/> </points> <physic density="0.03" friction="0.3" restitution="0.0" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite19" alias="s19"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="0" y="27" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="true" alpha="true" smoothing="true" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions> <var name="upperLimit" value="100"/> <var name="horisontal" value="false"/> <var name="speed" value="4"/> <var name="lowerLimit" value="10"/> </extensions> </instance> <instance name="Spoke" layer="Dynamic_Back"> <objects> <body> <basic type="Circle" name="Circle7" id="0009" color="faffc4" alias="ib14"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <special radius="24"/> <sprite> <basic type="sprite" name="sprite12" alias="s12"/> <location file="Art.swf" image="Spoke"/> <dimension width="64.9" height="64.85"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Spoke_H" layer="Dynamic_Back"> <objects> <bodyGroup> <basic type="bodyGroup" name="bodyGroup5" id="0009" color="ffffff" alias="ig5"/> <position x="0" y="0" z="1" angle="0" centerX="0.51" centerY="0.03" layer="l5"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Circle" name="Circle7" id="0009" color="ffffff" alias="b15"/> <position x="0.75" y="164.65" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> <special radius="24"/> </body> </shapes> <sprite> <basic type="sprite" name="sprite16" alias="s16"/> <location file="Art.swf" image="SpokeOnRopeH"/> <dimension width="64.9" height="203.25"/> <position x="1" y="95" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodyGroup> </objects> <joints> <joint> <basic type="Pin" name="Pin3" alias="ij3"/> <position layer="l5"/> <bodies body1="ig5" body2="ground"/> <anchors body1_x="0.15" body1_y="0.1"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="Spoke_V" layer="Dynamic_Front"> <objects> <body> <basic type="Rectangle" name="Rectangle10" id="0009" color="7fe57f" alias="ib12"/> <position x="0" y="76.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-12" y="-46.5"/> <point x="12" y="-46.5"/> <point x="12" y="46.5"/> <point x="-12" y="46.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="SpokeOnRopeV"/> <dimension width="47.85" height="247.1"/> <position x="0" y="-65" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> <sprite> <basic type="sprite" name="sprite9" alias="is9"/> <location file="Art.swf" image="Rope_Node"/> <dimension width="13.6" height="13.6"/> <position x="-0.5" y="-117.5" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </objects> <joints/> <extensions> <var name="initY" value="190"/> <var name="speed" value="1"/> </extensions> </instance> <instance name="Spring" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle13" id="000a" color="ffffff" alias="ib28"/> <position x="0" y="0" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <points> <point x="-23" y="-4"/> <point x="23" y="-4"/> <point x="23" y="4"/> <point x="-23" y="4"/> </points> <physic density="0.05" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="true" fixedSprite="false" showSprite="true" sensor="false"/> </body> <sprite> <basic type="sprite" name="sprite31" alias="s31"/> <location file="Art.swf" image="SpringSprite"/> <dimension width="48.65" height="39.35"/> <position x="0" y="12" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </objects> <joints> <joint> <basic type="Rail" name="Rail1" alias="ij14"/> <position layer="l2"/> <bodies body1="ib28" body2="ground"/> <anchors body1_x="0" body1_y="0"/> <limits enabled="true" upper="15" lower="0"/> <boolean active="true" collide="false"/> <special axisX="0" axisY="1"/> </joint> </joints> <extensions/> </instance> <instance name="Star" layer="Dynamic_Back"> <objects> <body> <basic type="Circle" name="Circle16" id="0007" color="7fe57f" alias="ib36"/> <position x="0" y="0" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="true"/> <special radius="3"/> <sprite> <basic type="sprite" name="sprite27" alias="s26"/> <location file="Art.swf" image="StarSprite"/> <dimension width="45" height="45"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Stone_Big" layer="Dynamic_Back"> <objects> <body> <basic type="Polygon" name="Polygon1" id="0000" color="ffffff" alias="ib20"/> <position x="0" y="0" z="20" angle="0" centerX="0.5" centerY="0.52" layer="l1"/> <points> <point x="-38" y="9.9"/> <point x="-13.4" y="29.4"/> <point x="3.3" y="25.5"/> <point x="21.7" y="27.9"/> <point x="39.8" y="4.5"/> <point x="25.1" y="-22.1"/> <point x="5" y="-30.6"/> <point x="-14.4" y="-25.3"/> <point x="-22.4" y="-12.2"/> <point x="-33.4" y="-6"/> </points> <physic density="0.04" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite15" alias="s15"/> <location file="Art.swf" image="Stone_1"/> <dimension width="77" height="59"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Stone_Little" layer="Dynamic_Back"> <objects> <body> <basic type="Polygon" name="Polygon2" id="0000" color="ffffff" alias="ib21"/> <position x="0" y="0" z="21" angle="0" centerX="0.49" centerY="0.53" layer="l1"/> <points> <point x="-5.9" y="17.9"/> <point x="-17.7" y="6.5"/> <point x="-19.1" y="-10.9"/> <point x="-2.8" y="-18.2"/> <point x="15.7" y="-12.6"/> <point x="20.7" y="-2.7"/> <point x="14" y="14.5"/> </points> <physic density="0.04" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite16" alias="s16"/> <location file="Art.swf" image="Stone_3"/> <dimension width="40" height="36"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Stone_Medium" layer="Dynamic_Back"> <objects> <body> <basic type="Polygon" name="Polygon5" id="0000" color="ffffff" alias="ib24"/> <position x="0" y="0" z="21" angle="0" centerX="0.48" centerY="0.5" layer="l1"/> <points> <point x="-25.1" y="-2.8"/> <point x="-22.9" y="14.3"/> <point x="-10.9" y="23"/> <point x="17" y="19.3"/> <point x="27.2" y="-3.2"/> <point x="5.7" y="-23"/> <point x="-6.6" y="-21.7"/> </points> <physic density="0.04" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite18" alias="s18"/> <location file="Art.swf" image="Stone_2"/> <dimension width="53" height="47"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints/> <extensions/> </instance> <instance name="Truck" layer="Dynamic_Front"> <objects> <bodyGroup> <basic type="bodyGroup" name="bodyGroup2" id="0008" color="ffffff" alias="ig2"/> <position x="0" y="-5" z="26" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Rectangle" name="Rectangle10" id="0008" color="ffffff" alias="b25"/> <position x="1" y="19.15" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-35" y="-3.5"/> <point x="35" y="-3.5"/> <point x="35" y="3.5"/> <point x="-35" y="3.5"/> </points> <physic density="0.03" friction="0.1" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle11" id="0000" color="ffffff" alias="b26"/> <position x="-42.5" y="0.15" z="1" angle="-30" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-4" y="-23.5"/> <point x="4" y="-23.5"/> <point x="4" y="23.5"/> <point x="-4" y="23.5"/> </points> <physic density="0.03" friction="0.1" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="ffffff" alias="b27"/> <position x="44.15" y="0.15" z="2" angle="30" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-4" y="-23.5"/> <point x="4" y="-23.5"/> <point x="4" y="23.5"/> <point x="-4" y="23.5"/> </points> <physic density="0.03" friction="0.1" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> <sprite> <basic type="sprite" name="sprite19" alias="s19"/> <location file="Art.swf" image="TruckBody"/> <dimension width="118" height="47"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodyGroup> <body> <basic type="Circle" name="Circle14" id="0000" color="ffffff" alias="ib29"/> <position x="28.55" y="19.3" z="27" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.02" friction="0.1" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <special radius="13.5"/> <sprite> <basic type="sprite" name="sprite21" alias="s21"/> <location file="Art.swf" image="TruckWheel"/> <dimension width="31" height="31"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> <body> <basic type="Circle" name="Circle13" id="0000" color="ffffff" alias="ib28"/> <position x="-27.65" y="19.3" z="28" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic density="0.02" friction="0.1" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <special radius="13.5"/> <sprite> <basic type="sprite" name="sprite20" alias="s20"/> <location file="Art.swf" image="TruckWheel"/> <dimension width="31" height="31"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints> <joint> <basic type="Motor" name="Motor3" alias="ij14"/> <position layer="l1"/> <bodies body1="ib29" body2="ig2"/> <anchors body1_x="28.55" body1_y="19.3"/> <boolean active="true" collide="false"/> <special speed="3" torque="100"/> </joint> <joint> <basic type="Motor" name="Motor2" alias="ij13"/> <position layer="l1"/> <bodies body1="ib28" body2="ig2"/> <anchors body1_x="-27.65" body1_y="19.3"/> <boolean active="true" collide="false"/> <special speed="3" torque="100"/> </joint> </joints> <extensions> <var name="torque" value="100"/> <var name="speed" value="3"/> <var name="autoStart" value="false"/> </extensions> </instance> <instance name="Wheel" layer="Dynamic_Front"> <objects> <bodyGroup> <basic type="bodyGroup" name="bodyGroup2" id="0000" color="ffffff" alias="ig1"/> <position x="0" y="0" z="23" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <physic linearDamping="0.01" angularDamping="0.01"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true"/> <shapes> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="ffffff" alias="b22"/> <position x="0.3" y="0.65" z="0" angle="90" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-5.5" y="-64.5"/> <point x="5.5" y="-64.5"/> <point x="5.5" y="64.5"/> <point x="-5.5" y="64.5"/> </points> <physic density="0.02" friction="0.2" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle8" id="0000" color="ffffff" alias="b23"/> <position x="0.3" y="0.65" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <points> <point x="-5.5" y="-64.5"/> <point x="5.5" y="-64.5"/> <point x="5.5" y="64.5"/> <point x="-5.5" y="64.5"/> </points> <physic density="0.02" friction="0.2" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </shapes> <sprite> <basic type="sprite" name="sprite17" alias="s17"/> <location file="Art.swf" image="WheelSprite"/> <dimension width="130" height="131"/> <position x="0" y="0" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodyGroup> </objects> <joints> <joint> <basic type="Motor" name="Motor1" alias="ij12"/> <position layer="l1"/> <bodies body1="ig1" body2="ground"/> <anchors body1_x="0" body1_y="0"/> <boolean active="true" collide="false"/> <special speed="1" torque="100"/> </joint> </joints> <extensions> <var name="speed" value="1"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Bridge_X10" layer="Dynamic_Back"> <objects> <instance name="Bridge_Node"> <basic type="instance" name="instance1" alias="ii1"/> <position x="67.75" y="-26.65" z="4" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance2" alias="ii2"/> <position x="57.25" y="-14.15" z="5" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance3" alias="ii3"/> <position x="44.25" y="-3.65" z="6" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance4" alias="ii4"/> <position x="29.25" y="5.3" z="7" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance5" alias="ii5"/> <position x="14.25" y="14.3" z="8" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance6" alias="ii6"/> <position x="-0.75" y="22.8" z="9" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance7" alias="ii7"/> <position x="-17.25" y="27.8" z="10" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance8" alias="ii8"/> <position x="-33.75" y="30.8" z="11" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance9" alias="ii9"/> <position x="-50.75" y="32.8" z="12" angle="0" layer="l2"/> </instance> <instance name="Bridge_Node"> <basic type="instance" name="instance10" alias="ii10"/> <position x="-67.75" y="33.3" z="13" angle="0" layer="l2"/> </instance> </objects> <joints> <joint> <basic type="Pin" name="Pin2" alias="ij2"/> <position layer="l2"/> <bodies body1="ii1" body2="ii2"/> <anchors body1_x="67.75" body1_y="-26.65"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin1" alias="ij1"/> <position layer="l2"/> <bodies body1="ii1" body2="ground"/> <anchors body1_x="67.75" body1_y="-26.65"/> <limits enabled="true" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin3" alias="ij3"/> <position layer="l2"/> <bodies body1="ii2" body2="ii3"/> <anchors body1_x="57.25" body1_y="-14.15"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin4" alias="ij4"/> <position layer="l2"/> <bodies body1="ii3" body2="ii4"/> <anchors body1_x="44.25" body1_y="-3.65"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin5" alias="ij5"/> <position layer="l2"/> <bodies body1="ii4" body2="ii5"/> <anchors body1_x="29.25" body1_y="5.3"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin6" alias="ij6"/> <position layer="l2"/> <bodies body1="ii5" body2="ii6"/> <anchors body1_x="14.25" body1_y="14.3"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin7" alias="ij7"/> <position layer="l2"/> <bodies body1="ii6" body2="ii7"/> <anchors body1_x="-0.75" body1_y="22.8"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin8" alias="ij8"/> <position layer="l2"/> <bodies body1="ii7" body2="ii8"/> <anchors body1_x="-17.25" body1_y="27.8"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin9" alias="ij9"/> <position layer="l2"/> <bodies body1="ii8" body2="ii9"/> <anchors body1_x="-33.75" body1_y="30.8"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin10" alias="ij10"/> <position layer="l2"/> <bodies body1="ii9" body2="ii10"/> <anchors body1_x="-50.75" body1_y="32.8"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> <joint> <basic type="Pin" name="Pin11" alias="ij11"/> <position layer="l2"/> <bodies body1="ii10" body2="ground"/> <anchors body1_x="-67.75" body1_y="33.3"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> </joint> </joints> <extensions/> </instance> <instance name="SpringBoard_L" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="ffffff" alias="ib14"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="29.28" y="-5"/> <point x="-29.72" y="-5"/> <point x="-29.72" y="5"/> <point x="29.28" y="5"/> </points> <physic density="0.01" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite8" alias="s11"/> <location file="Art.swf" image="Springboard"/> <dimension width="65.3" height="46.5"/> <position x="2" y="14" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </body> </objects> <joints> <joint> <basic type="TSpring" name="TSpring3" alias="ij3"/> <position layer="l1"/> <bodies body1="ib14" body2="ground"/> <anchors body1_x="25" body1_y="0"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> <special stiffness="5" damping="0.1"/> </joint> </joints> <extensions/> </instance> <instance name="SpringBoard_R" layer="Dynamic_Back"> <objects> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="ffffff" alias="ib15"/> <position x="0" y="0" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-29.28" y="-5"/> <point x="29.72" y="-5"/> <point x="29.72" y="5"/> <point x="-29.28" y="5"/> </points> <physic density="0.01" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="false" bullet="false" sleep="false" fixed="false" fixedSprite="false" showSprite="true" sensor="false"/> <sprite> <basic type="sprite" name="sprite8" alias="s12"/> <location file="Art.swf" image="Springboard"/> <dimension width="65.3" height="46.5"/> <position x="-2" y="14" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </body> </objects> <joints> <joint> <basic type="TSpring" name="TSpring4" alias="ij4"/> <position layer="l1"/> <bodies body1="ib15" body2="ground"/> <anchors body1_x="-25" body1_y="-0.5"/> <limits enabled="false" upper="0" lower="0"/> <boolean active="true" collide="false"/> <special stiffness="5" damping="0.1"/> </joint> </joints> <extensions/> </instance> </instances> </settings> ; } }//package script.gameplay
Section 140
//Levels_Level_1 (script.gameplay.Levels_Level_1) package script.gameplay { public class Levels_Level_1 { public static var data:XML = <world> <options time="105" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s2"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="248" y="299" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s3"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="-23" y="262" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite50" alias="s4"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="497" y="420" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite43" alias="s5"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="334" y="89" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite54" alias="s6"/> <location file="Art.swf" image="Bush_1"/> <dimension width="103.6" height="148.15"/> <position x="41" y="369" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite51" alias="s7"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="424" y="431" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite44" alias="s8"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="665" y="447" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite45" alias="s9"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="456" y="392" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite42" alias="s10"/> <location file="Art.swf" image="Tree_3"/> <dimension width="314.55" height="363.9"/> <position x="711" y="168" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite46" alias="s11"/> <location file="Art.swf" image="Platform_2"/> <dimension width="128" height="23.4"/> <position x="456.1" y="284" z="10" angle="-2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite52" alias="s12"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="25" y="437" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite53" alias="s13"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="41" y="272" z="12" angle="97" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite57" alias="s14"/> <location file="Art.swf" image="Grass_3"/> <dimension width="62.4" height="49.75"/> <position x="689" y="323" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s15"/> <location file="Art.swf" image="Tree_5"/> <dimension width="384.9" height="375.7"/> <position x="182" y="43" z="14" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b1"/> <position x="41.5" y="219.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-52.5" y="-8.5"/> <point x="52.5" y="-8.5"/> <point x="52.5" y="8.5"/> <point x="-52.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="633.5" y="347.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-66.5" y="-8.5"/> <point x="66.5" y="-8.5"/> <point x="66.5" y="8.5"/> <point x="-66.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b4"/> <position x="247" y="273.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle11" id="0000" color="7fe57f" alias="b5"/> <position x="-18" y="152.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-6.5" y="-76"/> <point x="6.5" y="-76"/> <point x="6.5" y="76"/> <point x="-6.5" y="76"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b6"/> <position x="16.5" y="204.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-27.5" y="-6.5"/> <point x="27.5" y="-6.5"/> <point x="27.5" y="6.5"/> <point x="-27.5" y="6.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b7"/> <position x="20.35" y="74.4" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-31.5" y="-76"/> <point x="31.5" y="-76"/> <point x="31.5" y="76"/> <point x="-31.5" y="76"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <sprite> <basic type="sprite" name="Starter" alias="s35"/> <location file="Art.swf" image="Starter_L"/> <dimension width="85.25" height="94.75"/> <position x="93.55" y="117.35" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="247" y="238" z="0" angle="0" layer="l3"/> </instance> <body> <basic type="Rectangle" name="Rectangle30" id="0000" color="7fe57f" alias="b9"/> <position x="455" y="283.5" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <instance name="Star"> <basic type="instance" name="instance5" alias="i2"/> <position x="453" y="246.6" z="2" angle="0" layer="l3"/> </instance> <instance name="Bridge_X7"> <basic type="instance" name="instance29" alias="i10"/> <position x="141" y="245" z="3" angle="-10" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance30" alias="i11"/> <position x="350" y="242.3" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance31" alias="i12"/> <position x="556" y="251" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance32" alias="i13"/> <position x="161" y="214" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i14"/> <position x="8.75" y="178.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="2"/> <var name="delay" value="90"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red"> <basic type="instance" name="instance4" alias="i15"/> <position x="631" y="296" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="true" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite58" alias="s30"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="284" y="251" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite59" alias="s31"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="87" y="189" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite60" alias="s32"/> <location file="Art.swf" image="BridgeRight"/> <dimension width="33.45" height="63.35"/> <position x="201" y="238" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite33" alias="s33"/> <location file="Art.swf" image="Tree_Up"/> <dimension width="52.05" height="114.5"/> <position x="16" y="173.75" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 141
//Levels_Level_10 (script.gameplay.Levels_Level_10) package script.gameplay { public class Levels_Level_10 { public static var data:XML = <world> <options time="105" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="242" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite23" alias="s2"/> <location file="Art.swf" image="Bush_1"/> <dimension width="103.6" height="148.15"/> <position x="582" y="445" z="1" angle="2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s3"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="31" y="205" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="34" y="506" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s5"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="623" y="27" z="4" angle="3" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s6"/> <location file="Art.swf" image="Bush_1"/> <dimension width="103.6" height="148.15"/> <position x="14" y="389" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s7"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="696" y="231" z="6" angle="-10" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite18" alias="s8"/> <location file="Art.swf" image="Ground_2"/> <dimension width="353.7" height="159.55"/> <position x="383" y="424" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite19" alias="s9"/> <location file="Art.swf" image="Wood_Bridge_2"/> <dimension width="166.75" height="125.3"/> <position x="616" y="329" z="8" angle="1" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite20" alias="s10"/> <location file="Art.swf" image="Island_70"/> <dimension width="63.65" height="68"/> <position x="708.75" y="294.15" z="9" angle="-15" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite21" alias="s11"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="383" y="82" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite22" alias="s12"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="68" y="198" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite25" alias="s13"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="729" y="414" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s14"/> <location file="Art.swf" image="Tree_4"/> <dimension width="82.45" height="186.1"/> <position x="33" y="23" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <sprite> <basic type="sprite" name="Starter" alias="s26"/> <location file="Art.swf" image="Starter_L"/> <dimension width="85.25" height="94.75"/> <position x="96.1" y="-5.25" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b1"/> <position x="62" y="104.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b2"/> <position x="75" y="467.5" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-76" y="-8.5"/> <point x="76" y="-8.5"/> <point x="76" y="8.5"/> <point x="-76" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b3"/> <position x="-10" y="261" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-165"/> <point x="9.5" y="-165"/> <point x="9.5" y="165"/> <point x="-9.5" y="165"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b4"/> <position x="709" y="261" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b5"/> <position x="554.3" y="345.8" z="4" angle="-28" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-171.5" y="-8.5"/> <point x="171.5" y="-8.5"/> <point x="171.5" y="8.5"/> <point x="-171.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon3" id="0000" color="7fe57f" alias="b6"/> <position x="298.25" y="449.3" z="5" angle="-9" centerX="0.4" centerY="0.64" layer="l2"/> <points> <point x="103.88" y="-14.8"/> <point x="36.26" y="2.2"/> <point x="-9.98" y="0.2"/> <point x="-52.86" y="-18.8"/> <point x="-72.61" y="-45.8"/> <point x="-74.04" y="-3.4"/> <point x="-39.72" y="20.6"/> <point x="25.46" y="25.7"/> <point x="111.01" y="1.8"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b7"/> <position x="10.5" y="89.35" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-38.5" y="-6"/> <point x="38.5" y="-6"/> <point x="38.5" y="6"/> <point x="-38.5" y="6"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b8"/> <position x="-18.85" y="24.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-59"/> <point x="9.5" y="-59"/> <point x="9.5" y="59"/> <point x="-9.5" y="59"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle18" id="0000" color="7fe57f" alias="b9"/> <position x="22.2" y="-18" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-31.5" y="-56"/> <point x="31.5" y="-56"/> <point x="31.5" y="56"/> <point x="-31.5" y="56"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="266" y="215" z="0" angle="0" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance2" alias="i2"/> <position x="271" y="18" z="1" angle="45" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance3" alias="i3"/> <position x="513" y="70" z="2" angle="-45" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="562.3" y="296.3" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="670" y="242" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="454.65" y="350.6" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i7"/> <position x="347" y="405" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance8" alias="i8"/> <position x="178" y="365" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance9" alias="i9"/> <position x="10.6" y="64.2" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="5.5"/> <var name="delay" value="90"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red"> <basic type="instance" name="instance10" alias="i10"/> <position x="77" y="416" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite25" alias="s25"/> <location file="Art.swf" image="Tree_Up"/> <dimension width="52.05" height="114.5"/> <position x="18" y="59" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 142
//Levels_Level_11 (script.gameplay.Levels_Level_11) package script.gameplay { public class Levels_Level_11 { public static var data:XML = <world> <options time="105" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Bush_1"/> <dimension width="103.6" height="148.15"/> <position x="348" y="393" z="1" angle="-7" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Ground"/> <dimension width="710.55" height="114.3"/> <position x="354" y="506" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Idol_5"/> <dimension width="286" height="231"/> <position x="523" y="344" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="37" y="465" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="691" y="139" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="713" y="384" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="346" y="86" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Tree_2"/> <dimension width="367.8" height="443.5"/> <position x="-10" y="204" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b1"/> <position x="77" y="427.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-78" y="-8.5"/> <point x="78" y="-8.5"/> <point x="78" y="8.5"/> <point x="-78" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b2"/> <position x="-10" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b3"/> <position x="709" y="261" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b4"/> <position x="637" y="97.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b5"/> <position x="411" y="458.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-292" y="-8.5"/> <point x="292" y="-8.5"/> <point x="292" y="8.5"/> <point x="-292" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon2" id="0000" color="7fe57f" alias="b6"/> <position x="531.65" y="331.7" z="5" angle="0" centerX="0.5" centerY="0.46" layer="l2"/> <points> <point x="-149.7" y="119.5"/> <point x="-139" y="-101.2"/> <point x="-84.3" y="-101.8"/> <point x="-71" y="-20.5"/> <point x="-43.3" y="-32.8"/> <point x="-27" y="-95.2"/> <point x="29.7" y="-88.5"/> <point x="36.7" y="-61.5"/> <point x="35.6" y="-15.5"/> <point x="56.7" y="-19.8"/> <point x="79.7" y="-73.8"/> <point x="114.4" y="-67.8"/> <point x="149.7" y="119.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="520" y="63" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance2" alias="i2"/> <position x="446" y="113" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance3" alias="i3"/> <position x="371" y="167" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="296" y="221" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="221" y="275" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="146" y="329" z="5" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance7" alias="i7"/> <position x="603.75" y="70.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red_2"> <basic type="instance" name="instance8" alias="i8"/> <position x="97" y="364" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite18" alias="s18"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="293" y="432" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite19" alias="s19"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="201" y="424" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 143
//Levels_Level_12 (script.gameplay.Levels_Level_12) package script.gameplay { public class Levels_Level_12 { public static var data:XML = <world> <options time="105" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="93" y="486" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="578" y="86" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Island_130"/> <dimension width="135" height="71.45"/> <position x="308.95" y="137.45" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="73" y="59" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="-11" y="94" z="5" angle="113" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite26" alias="s26"/> <location file="Art.swf" image="Ground_3"/> <dimension width="434.45" height="111.9"/> <position x="494" y="502" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b1"/> <position x="309" y="111.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-67" y="-8.5"/> <point x="67" y="-8.5"/> <point x="67" y="8.5"/> <point x="-67" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b2"/> <position x="490" y="457.5" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-211" y="-8.5"/> <point x="211" y="-8.5"/> <point x="211" y="8.5"/> <point x="-211" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b3"/> <position x="-10" y="261" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b4"/> <position x="709" y="261" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="7fe57f" alias="b5"/> <position x="91.5" y="442.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-116.5" y="-8.5"/> <point x="116.5" y="-8.5"/> <point x="116.5" y="8.5"/> <point x="-116.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle28" id="0000" color="7fe57f" alias="b6"/> <position x="498.5" y="455.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-220.5" y="-8.5"/> <point x="220.5" y="-8.5"/> <point x="220.5" y="8.5"/> <point x="-220.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="135" y="188" z="0" angle="0" layer="l3"/> </instance> <instance name="Stone_Little"> <basic type="instance" name="instance2" alias="i2"/> <position x="245" y="86.2" z="1" angle="10" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance3" alias="i3"/> <position x="314" y="310" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="256" y="204" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="62" y="273" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="436" y="79" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i7"/> <position x="579" y="230" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance8" alias="i8"/> <position x="30.75" y="380.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <instance name="Ball_Orange"> <basic type="instance" name="instance9" alias="i9"/> <position x="343" y="84" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Orange_2"> <basic type="instance" name="instance10" alias="i10"/> <position x="508" y="396" z="0" angle="0" layer="l5"/> </instance> <instance name="Catapult_L"> <basic type="instance" name="instance11" alias="i11"/> <position x="99" y="396" z="1" angle="0" layer="l5"/> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance12" alias="i12"/> <position x="360" y="408" z="2" angle="0" layer="l5"/> </instance> <instance name="Wheel"> <basic type="instance" name="instance13" alias="i13"/> <position x="534" y="174" z="3" angle="0" layer="l5"/> <extensions> <var name="speed" value="-0.7"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Wheel"> <basic type="instance" name="instance14" alias="i14"/> <position x="620" y="277" z="4" angle="0" layer="l5"/> <extensions> <var name="speed" value="0.7"/> <var name="torque" value="10"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite23" alias="s23"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="612" y="422" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s24"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="432" y="430" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite25" alias="s25"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="714" y="398" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 144
//Levels_Level_13 (script.gameplay.Levels_Level_13) package script.gameplay { public class Levels_Level_13 { public static var data:XML = <world> <options time="115" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s2"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="541" y="139" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite12" alias="s3"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="132" y="363" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite13" alias="s4"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="344" y="305" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite71" alias="s5"/> <location file="Art.swf" image="Ground"/> <dimension width="716.65" height="114.3"/> <position x="159" y="493" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite76" alias="s6"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="318" y="93" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite90" alias="s7"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="646" y="494" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="539" y="97.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-115" y="-8.5"/> <point x="115" y="-8.5"/> <point x="115" y="8.5"/> <point x="-115" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b4"/> <position x="343" y="279.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b5"/> <position x="131.5" y="338.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-30.5" y="-8.5"/> <point x="30.5" y="-8.5"/> <point x="30.5" y="8.5"/> <point x="-30.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b6"/> <position x="256" y="446.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-257" y="-8.5"/> <point x="257" y="-8.5"/> <point x="257" y="8.5"/> <point x="-257" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon2" id="0000" color="7fe57f" alias="b7"/> <position x="9.85" y="427.85" z="6" angle="0" centerX="0.33" centerY="0.67" layer="l2"/> <points> <point x="20.1" y="8.9"/> <point x="-9.9" y="8.9"/> <point x="-9.9" y="-18.1"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle28" id="0000" color="7fe57f" alias="b8"/> <position x="640.5" y="470.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-57.5" y="-8.5"/> <point x="57.5" y="-8.5"/> <point x="57.5" y="8.5"/> <point x="-57.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle29" id="000b" color="7fe57f" alias="b9"/> <position x="436" y="420" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-21.5" y="-17"/> <point x="21.5" y="-17"/> <point x="21.5" y="17"/> <point x="-21.5" y="17"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="364" y="167" z="0" angle="0" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance4" alias="i2"/> <position x="274" y="22" z="1" angle="-45" layer="l3"/> </instance> <instance name="Bridge_X9"> <basic type="instance" name="instance62" alias="i12"/> <position x="220" y="307" z="2" angle="-61" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance64" alias="i14"/> <position x="131" y="304" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance67" alias="i15"/> <position x="193" y="173" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance68" alias="i16"/> <position x="345" y="251" z="5" angle="0" layer="l3"/> </instance> <instance name="Spoke_V"> <basic type="instance" name="instance71" alias="i17"/> <position x="495" y="308" z="6" angle="0" layer="l3"/> <extensions> <var name="speed" value="2.5"/> <var name="initY" value="190"/> </extensions> </instance> <instance name="Star"> <basic type="instance" name="instance72" alias="i18"/> <position x="218" y="406" z="7" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance73" alias="i19"/> <position x="338" y="406" z="8" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance74" alias="i20"/> <position x="555" y="416" z="9" angle="0" layer="l3"/> </instance> <sprite> <basic type="sprite" name="sprite34" alias="s28"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="661" y="233" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite35" alias="s29"/> <location file="Art.swf" image="Tree_2"/> <dimension width="367.8" height="443.5"/> <position x="4" y="154" z="11" angle="9" centerX="0.5" centerY="0.5" layer="l3"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <instance name="Star"> <basic type="instance" name="instance24" alias="i24"/> <position x="282" y="187" z="12" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i21"/> <position x="459.75" y="70.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Wheel"> <basic type="instance" name="instance65" alias="i22"/> <position x="64" y="374" z="0" angle="0" layer="l5"/> <extensions> <var name="speed" value="1"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance75" alias="i23"/> <position x="648" y="418" z="1" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite39" alias="s33"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="506.85" y="167.1" z="0" angle="-136" centerX="0.51" centerY="0.51" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s34"/> <location file="Art.swf" image="Bush_2"/> <dimension width="167" height="121.55"/> <position x="588" y="42.05" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s35"/> <location file="Art.swf" image="Grass_3"/> <dimension width="56" height="44.65"/> <position x="153.8" y="421.55" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite38" alias="s36"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="392" y="422" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 145
//Levels_Level_14 (script.gameplay.Levels_Level_14) package script.gameplay { public class Levels_Level_14 { public static var data:XML = <world> <options time="110" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite44" alias="s2"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="282" y="328" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite42" alias="s3"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="408" y="352" z="2" angle="12" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s5"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="723" y="132" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite15" alias="s6"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="-8" y="482" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite22" alias="s7"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="338" y="446" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite33" alias="s8"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="695" y="482" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite20" alias="s4"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="346" y="97" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite43" alias="s9"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="295" y="227" z="8" angle="62" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite38" alias="s10"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="262" y="298" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite40" alias="s11"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="414" y="298" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite41" alias="s12"/> <location file="Art.swf" image="Platform_1"/> <dimension width="245" height="23.4"/> <position x="337.95" y="190" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <spriteGroup> <basic type="spriteGroup" name="spriteGroup1" alias="sg0"/> <position x="337.5" y="174.1" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> <sprites> <sprite> <basic type="sprite" name="sprite32" alias="s31"/> <location file="Art.swf" image="Spines_1"/> <dimension width="85.15" height="21"/> <position x="-80.6" y="0.85" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite31" alias="s30"/> <location file="Art.swf" image="Spines_1"/> <dimension width="85.15" height="21"/> <position x="0.55" y="0.85" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite28" alias="s28"/> <location file="Art.swf" image="Spines_1"/> <dimension width="85.15" height="21"/> <position x="81.2" y="0.85" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </sprites> </spriteGroup> <sprite> <basic type="sprite" name="sprite45" alias="s13"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="-40" y="161" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite33" alias="s32"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="25" y="169" z="14" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite34" alias="s33"/> <location file="Art.swf" image="Bush_1"/> <dimension width="103.6" height="148.15"/> <position x="22" y="268" z="15" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="652" y="90.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-48" y="-8.5"/> <point x="48" y="-8.5"/> <point x="48" y="8.5"/> <point x="-48" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b4"/> <position x="36.4" y="120" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-37" y="-8.5"/> <point x="37" y="-8.5"/> <point x="37" y="8.5"/> <point x="-37" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b5"/> <position x="53" y="441.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-54" y="-8.5"/> <point x="54" y="-8.5"/> <point x="54" y="8.5"/> <point x="-54" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b6"/> <position x="337.5" y="405.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-118.5" y="-8.5"/> <point x="118.5" y="-8.5"/> <point x="118.5" y="8.5"/> <point x="-118.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle35" id="0000" color="7fe57f" alias="b7"/> <position x="640" y="441.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-61" y="-8.5"/> <point x="61" y="-8.5"/> <point x="61" y="8.5"/> <point x="-61" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle44" id="0000" color="7fe57f" alias="b8"/> <position x="336.5" y="296.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-100.5" y="-100.5"/> <point x="100.5" y="-100.5"/> <point x="100.5" y="100.5"/> <point x="-100.5" y="100.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle45" id="0000" color="7fe57f" alias="b9"/> <position x="338" y="189.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-120" y="-6.5"/> <point x="120" y="-6.5"/> <point x="120" y="6.5"/> <point x="-120" y="6.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle21" id="0009" color="7fe57f" alias="b28"/> <position x="338" y="178.4" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-115.5" y="-5"/> <point x="115.5" y="-5"/> <point x="115.5" y="5"/> <point x="-115.5" y="5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="154.65" y="89" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance12" alias="i2"/> <position x="154.65" y="218.5" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance13" alias="i3"/> <position x="154.65" y="348" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance14" alias="i4"/> <position x="529.65" y="89" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance15" alias="i5"/> <position x="529.65" y="218.5" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance16" alias="i6"/> <position x="529.65" y="348" z="5" angle="0" layer="l3"/> </instance> <instance name="Elevator_L"> <basic type="instance" name="elev1" alias="i7"/> <position x="530" y="380" z="6" angle="0" layer="l3"/> <extensions> <var name="length" value="370"/> <var name="maxLength" value="370"/> </extensions> </instance> <instance name="Elevator_L"> <basic type="instance" name="elev1" alias="i8"/> <position x="154" y="133" z="7" angle="0" layer="l3"/> <extensions> <var name="length" value="120"/> <var name="maxLength" value="390"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance5" alias="i9"/> <position x="670.75" y="63.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance6" alias="i10"/> <position x="43" y="93" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Blue_2"> <basic type="instance" name="instance9" alias="i11"/> <position x="51" y="380" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance17" alias="i12"/> <position x="649" y="388" z="1" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 146
//Levels_Level_15 (script.gameplay.Levels_Level_15) package script.gameplay { public class Levels_Level_15 { public static var data:XML = <world> <options time="110" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_270"/> <dimension width="265.65" height="108"/> <position x="680" y="380.45" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="38" y="435" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="134" y="500" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="213" y="100" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="684" y="262" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="339" y="400" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Bush_2"/> <dimension width="192" height="139.95"/> <position x="34.5" y="412.8" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="384" y="407" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Bush_3"/> <dimension width="157.15" height="163"/> <position x="669.4" y="425.25" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Grass_1"/> <dimension width="132" height="93.35"/> <position x="593.4" y="447.95" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite12" alias="s12"/> <location file="Art.swf" image="Tree_3"/> <dimension width="314.55" height="363.9"/> <position x="692" y="50" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <body> <basic type="Polygon" name="Polygon1" id="0000" color="7fe57f" alias="b1"/> <position x="685.8" y="152.5" z="12" angle="0" centerX="0.64" centerY="0.5" layer="l1"/> <points> <point x="15.1" y="67.5"/> <point x="-26.9" y="67.5"/> <point x="0.1" y="-67.5"/> <point x="15.1" y="-67.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b2"/> <position x="71" y="336.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b3"/> <position x="-10" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b4"/> <position x="709" y="261" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b5"/> <position x="638.5" y="351" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-61.5" y="-22"/> <point x="61.5" y="-22"/> <point x="61.5" y="22"/> <point x="-61.5" y="22"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b6"/> <position x="338" y="374.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b7"/> <position x="562.5" y="364.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-14.5" y="-8.5"/> <point x="14.5" y="-8.5"/> <point x="14.5" y="8.5"/> <point x="-14.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b8"/> <position x="653" y="229.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b9"/> <position x="134.5" y="466.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-89.5" y="-8.5"/> <point x="89.5" y="-8.5"/> <point x="89.5" y="8.5"/> <point x="-89.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Balk_1"> <basic type="instance" name="instance1" alias="i1"/> <position x="566.8" y="271.7" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance2" alias="i2"/> <position x="479" y="311" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance3" alias="i3"/> <position x="352" y="326" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="226" y="343" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="152" y="288" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="77" y="233" z="5" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance7" alias="i7"/> <position x="659.75" y="310.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Orange"> <basic type="instance" name="instance8" alias="i8"/> <position x="623" y="202" z="1" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red_2"> <basic type="instance" name="instance9" alias="i9"/> <position x="62" y="274" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Orange_2"> <basic type="instance" name="instance10" alias="i10"/> <position x="158" y="406" z="1" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 147
//Levels_Level_16 (script.gameplay.Levels_Level_16) package script.gameplay { public class Levels_Level_16 { public static var data:XML = <world> <options time="105" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="241" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="358" y="69" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="119" y="112" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="282.4" y="180.4" z="3" angle="-2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Ground_3"/> <dimension width="434.45" height="111.9"/> <position x="74" y="451" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="356" y="464" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="28" y="281" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="671" y="444" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="558" y="112" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="651" y="190" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="90" y="370" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b1"/> <position x="368" y="432.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-79" y="-8.5"/> <point x="79" y="-8.5"/> <point x="79" y="8.5"/> <point x="-79" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b2"/> <position x="-10" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b3"/> <position x="709" y="261" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b4"/> <position x="118.5" y="87.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-62.5" y="-8.5"/> <point x="62.5" y="-8.5"/> <point x="62.5" y="8.5"/> <point x="-62.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle22" id="0000" color="7fe57f" alias="b5"/> <position x="144" y="411" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-145" y="-13"/> <point x="145" y="-13"/> <point x="145" y="13"/> <point x="-145" y="13"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle7" id="000b" color="7fe57f" alias="b6"/> <position x="194" y="55.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-15" y="-21.5"/> <point x="15" y="-21.5"/> <point x="15" y="21.5"/> <point x="-15" y="21.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="000b" color="7fe57f" alias="b7"/> <position x="480" y="55.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-15" y="-21.5"/> <point x="15" y="-21.5"/> <point x="15" y="21.5"/> <point x="-15" y="21.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> <body> <basic type="Polygon" name="Polygon4" id="0000" color="7fe57f" alias="b8"/> <position x="284.35" y="392.7" z="7" angle="0" centerX="0.64" centerY="0.68" layer="l2"/> <points> <point x="-9" y="4.82"/> <point x="5" y="4.82"/> <point x="5" y="-10.18"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle35" id="0000" color="7fe57f" alias="b9"/> <position x="638.5" y="412.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-61.5" y="-8.5"/> <point x="61.5" y="-8.5"/> <point x="61.5" y="8.5"/> <point x="-61.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle36" id="0000" color="7fe57f" alias="b10"/> <position x="643" y="164" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-57" y="-5"/> <point x="57" y="-5"/> <point x="57" y="5"/> <point x="-57" y="5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b12"/> <position x="58.5" y="246.5" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-58.5" y="-8.5"/> <point x="58.5" y="-8.5"/> <point x="58.5" y="8.5"/> <point x="-58.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="320" y="373" z="0" angle="0" layer="l3"/> </instance> <instance name="Stone_Little"> <basic type="instance" name="instance2" alias="i2"/> <position x="179" y="62" z="1" angle="11" layer="l3"/> </instance> <instance name="Spoke_H"> <basic type="instance" name="instance3" alias="i3"/> <position x="245" y="197" z="2" angle="35" layer="l3"/> </instance> <body> <basic type="Rectangle" name="Rectangle23" id="0000" color="7fe57f" alias="b16"/> <position x="557.5" y="87.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <points> <point x="-62.5" y="-8.5"/> <point x="62.5" y="-8.5"/> <point x="62.5" y="8.5"/> <point x="-62.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <instance name="Stone_Little"> <basic type="instance" name="instance4" alias="i4"/> <position x="495.6" y="62" z="4" angle="10" layer="l3"/> </instance> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="7fe57f" alias="b18"/> <position x="280.5" y="156.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <points> <point x="-28.5" y="-8.5"/> <point x="28.5" y="-8.5"/> <point x="28.5" y="8.5"/> <point x="-28.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="495" y="205" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="405.3" y="240.5" z="7" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i7"/> <position x="577.6" y="240.5" z="8" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance8" alias="i8"/> <position x="347" y="299.5" z="9" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance9" alias="i9"/> <position x="636" y="299.5" z="10" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance10" alias="i10"/> <position x="282.75" y="129.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance11" alias="i11"/> <position x="106" y="60" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Orange"> <basic type="instance" name="instance12" alias="i12"/> <position x="566" y="60.6" z="2" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Catapult_L"> <basic type="instance" name="instance13" alias="i13"/> <position x="392" y="380" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance14" alias="i14"/> <position x="642" y="359" z="1" angle="0" layer="l5"/> </instance> <instance name="Exit_Orange"> <basic type="instance" name="instance15" alias="i15"/> <position x="651" y="115" z="2" angle="0" layer="l5"/> </instance> <instance name="Exit_Blue_2"> <basic type="instance" name="instance16" alias="i16"/> <position x="58" y="186" z="3" angle="0" layer="l5"/> </instance> <sprite> <basic type="sprite" name="sprite29" alias="s29"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="648" y="207" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite30" alias="s30"/> <location file="Art.swf" image="Bush_1"/> <dimension width="112.6" height="161"/> <position x="39.35" y="357.4" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 148
//Levels_Level_17 (script.gameplay.Levels_Level_17) package script.gameplay { public class Levels_Level_17 { public static var data:XML = <world> <options time="110" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="525" y="72" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="349" y="209" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="647" y="478" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="319" y="96" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="-42" y="368" z="5" angle="7" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Tree_3"/> <dimension width="314.55" height="363.9"/> <position x="0" y="149" z="6" angle="5" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite15" alias="s15"/> <location file="Art.swf" image="Island_270"/> <dimension width="265.65" height="103.1"/> <position x="681" y="192" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite16" alias="s16"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="259" y="444" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite17" alias="s17"/> <location file="Art.swf" image="Island_190"/> <dimension width="192.05" height="86.1"/> <position x="483.65" y="494" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite18" alias="s18"/> <location file="Art.swf" image="Spines_1"/> <dimension width="108.25" height="30.55"/> <position x="214.65" y="264.05" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b8"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b9"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b10"/> <position x="637" y="150.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b11"/> <position x="348" y="181.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-6.5"/> <point x="63" y="-6.5"/> <point x="63" y="6.5"/> <point x="-63" y="6.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b12"/> <position x="564.5" y="177.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-16.5" y="-8.5"/> <point x="16.5" y="-8.5"/> <point x="16.5" y="8.5"/> <point x="-16.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b13"/> <position x="319" y="70" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-62" y="-7"/> <point x="62" y="-7"/> <point x="62" y="7"/> <point x="-62" y="7"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle22" id="0000" color="7fe57f" alias="b14"/> <position x="390.6" y="288.7" z="6" angle="4" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-146.48" y="-4.96"/> <point x="146.48" y="-4.96"/> <point x="146.48" y="4.96"/> <point x="-146.48" y="4.96"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle29" id="0000" color="7fe57f" alias="b15"/> <position x="199.5" y="278.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-45.5" y="-4.5"/> <point x="45.5" y="-4.5"/> <point x="45.5" y="4.5"/> <point x="-45.5" y="4.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle26" id="0009" color="7fe57f" alias="b16"/> <position x="216.35" y="275.4" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-49" y="-3.5"/> <point x="49" y="-3.5"/> <point x="49" y="3.5"/> <point x="-49" y="3.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b17"/> <position x="535.45" y="308.65" z="9" angle="70" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-13.48" y="-6.02"/> <point x="13.48" y="-6.02"/> <point x="13.48" y="6.02"/> <point x="-13.48" y="6.02"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle47" id="0000" color="7fe57f" alias="b18"/> <position x="627" y="436" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-74" y="-8.5"/> <point x="74" y="-8.5"/> <point x="74" y="8.5"/> <point x="-74" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b19"/> <position x="35.8" y="335.65" z="11" angle="9" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-42.48" y="-8.5"/> <point x="42.48" y="-8.5"/> <point x="42.48" y="8.5"/> <point x="-42.48" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b20"/> <position x="258.5" y="409.3" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-91.5" y="-8.5"/> <point x="91.5" y="-8.5"/> <point x="91.5" y="8.5"/> <point x="-91.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle37" id="0000" color="7fe57f" alias="b21"/> <position x="467" y="462" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-76" y="-8.5"/> <point x="76" y="-8.5"/> <point x="76" y="8.5"/> <point x="-76" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Balk_1"> <basic type="instance" name="instance8" alias="i8"/> <position x="392.8" y="90.7" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance9" alias="i9"/> <position x="347" y="148" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance10" alias="i10"/> <position x="481" y="141" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance11" alias="i11"/> <position x="43" y="301" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance12" alias="i12"/> <position x="260" y="378" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance13" alias="i13"/> <position x="204" y="194" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance14" alias="i14"/> <position x="387" y="379" z="6" angle="0" layer="l3"/> </instance> <instance name="Bridge_X7"> <basic type="instance" name="instance49" alias="i35"/> <position x="121.25" y="372.9" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance15" alias="i15"/> <position x="599.75" y="123.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance16" alias="i16"/> <position x="324" y="44" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Blue"> <basic type="instance" name="instance17" alias="i17"/> <position x="648" y="385" z="0" angle="0" layer="l5"/> </instance> <instance name="Truck"> <basic type="instance" name="instance18" alias="i18"/> <position x="200.95" y="241.3" z="1" angle="0" layer="l5"/> <extensions> <var name="autoStart" value="false"/> <var name="speed" value="-5"/> <var name="torque" value="300"/> </extensions> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance19" alias="i19"/> <position x="461" y="410" z="2" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite33" alias="s33"/> <location file="Art.swf" image="Wood_Bridge_1"/> <dimension width="398.85" height="182.25"/> <position x="352" y="363" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite34" alias="s34"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="181" y="391" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite35" alias="s35"/> <location file="Art.swf" image="Grass_3"/> <dimension width="62.4" height="49.75"/> <position x="536" y="433" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite36" alias="s36"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="273" y="40" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s37"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="688" y="111" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite38" alias="s38"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="68" y="307" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 149
//Levels_Level_18 (script.gameplay.Levels_Level_18) package script.gameplay { public class Levels_Level_18 { public static var data:XML = <world> <options time="115" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="282" y="81" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite39" alias="s37"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="439" y="397" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite40" alias="s38"/> <location file="Art.swf" image="Ground"/> <dimension width="716.65" height="114.3"/> <position x="604" y="497" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s3"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="425" y="138" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s4"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="176" y="173" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s5"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="715" y="323" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite73" alias="s65"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="447" y="88" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite74" alias="s66"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="203" y="387" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite75" alias="s67"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="23" y="432" z="9" angle="-12" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite76" alias="s68"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="231" y="468" z="10" angle="-64" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite77" alias="s69"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="132" y="468" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="true" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="663" y="288.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-37" y="-8.5"/> <point x="37" y="-8.5"/> <point x="37" y="8.5"/> <point x="-37" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b4"/> <position x="423" y="113.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b5"/> <position x="175.5" y="147.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-29.5" y="-8.5"/> <point x="29.5" y="-8.5"/> <point x="29.5" y="8.5"/> <point x="-29.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle11" id="0000" color="7fe57f" alias="b27"/> <position x="474" y="451.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-226" y="-8.5"/> <point x="226" y="-8.5"/> <point x="226" y="8.5"/> <point x="-226" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle36" id="0000" color="7fe57f" alias="b53"/> <position x="437" y="372.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle8" id="0000" color="7fe57f" alias="b6"/> <position x="201" y="362.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="404" y="78" z="0" angle="0" layer="l3"/> </instance> <instance name="Elevator_L"> <basic type="instance" name="instance27" alias="i2"/> <position x="557" y="305" z="1" angle="0" layer="l3"/> <extensions> <var name="length" value="290"/> <var name="maxLength" value="295"/> </extensions> </instance> <instance name="Elevator_L"> <basic type="instance" name="instance28" alias="i3"/> <position x="75" y="175" z="2" angle="0" layer="l3"/> <extensions> <var name="length" value="160"/> <var name="maxLength" value="350"/> </extensions> </instance> <instance name="Bridge_X10"> <basic type="instance" name="instance38" alias="i14"/> <position x="284" y="128" z="3" angle="11" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance39" alias="i15"/> <position x="282" y="104" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance40" alias="i16"/> <position x="529" y="76" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance22" alias="i22"/> <position x="437" y="332" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance19" alias="i17"/> <position x="202" y="324" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i18"/> <position x="659.75" y="261.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <sprite> <basic type="sprite" name="sprite26" alias="s25"/> <location file="Art.swf" image="BridgeRight"/> <dimension width="33.45" height="63.35"/> <position x="374.4" y="79" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <instance name="Ball_Blue_H"> <basic type="instance" name="instance18" alias="i19"/> <position x="167" y="120" z="2" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <sprite> <basic type="sprite" name="sprite72" alias="s64"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="705" y="259" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Blue"> <basic type="instance" name="instance21" alias="i21"/> <position x="318" y="400" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance23" alias="i23"/> <position x="555" y="399" z="1" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite25" alias="s26"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="197.6" y="114.6" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite71" alias="s63"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="710" y="382" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 150
//Levels_Level_19 (script.gameplay.Levels_Level_19) package script.gameplay { public class Levels_Level_19 { public static var data:XML = <world> <options time="105" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="429" y="393" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Bush_3"/> <dimension width="117.25" height="122"/> <position x="35.4" y="410.75" z="2" angle="-16" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="247" y="423" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Ground_3"/> <dimension width="434.45" height="111.9"/> <position x="153" y="509" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="411" y="114" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Bush_1"/> <dimension width="96.5" height="138"/> <position x="320.45" y="419" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Idol_3"/> <dimension width="73.1" height="195"/> <position x="277.15" y="365.3" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Idol_1"/> <dimension width="131.9" height="188"/> <position x="81.5" y="366.75" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="4" y="241" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite12" alias="s12"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="660" y="350" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite13" alias="s13"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="578" y="349" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite14" alias="s14"/> <location file="Art.swf" image="Tree_3"/> <dimension width="298.1" height="345.05"/> <position x="0.9" y="35.4" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s24"/> <location file="Art.swf" image="Platform_2"/> <dimension width="189.8" height="23.4"/> <position x="274.95" y="262.3" z="13" angle="-2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="275" y="262.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-92" y="-8.5"/> <point x="92" y="-8.5"/> <point x="92" y="8.5"/> <point x="-92" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b4"/> <position x="47" y="207.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-48" y="-8.5"/> <point x="48" y="-8.5"/> <point x="48" y="8.5"/> <point x="-48" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle11" id="0000" color="7fe57f" alias="b5"/> <position x="658" y="318.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-92" y="-8.5"/> <point x="92" y="-8.5"/> <point x="92" y="8.5"/> <point x="-92" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle24" id="0000" color="7fe57f" alias="b6"/> <position x="184" y="466.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-183" y="-8.5"/> <point x="183" y="-8.5"/> <point x="183" y="8.5"/> <point x="-183" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle25" id="0000" color="7fe57f" alias="b7"/> <position x="277" y="364" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-23" y="-93"/> <point x="23" y="-93"/> <point x="23" y="93"/> <point x="-23" y="93"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle26" id="0000" color="7fe57f" alias="b8"/> <position x="80.5" y="368" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-45.5" y="-89"/> <point x="45.5" y="-89"/> <point x="45.5" y="89"/> <point x="-45.5" y="89"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle27" id="0000" color="7fe57f" alias="b9"/> <position x="10" y="99.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-11" y="-99.5"/> <point x="11" y="-99.5"/> <point x="11" y="99.5"/> <point x="-11" y="99.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="229" y="217" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance2" alias="i2"/> <position x="327" y="217" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance3" alias="i3"/> <position x="477" y="311" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="422" y="240" z="3" angle="0" layer="l3"/> </instance> <instance name="Spoke_H"> <basic type="instance" name="instance5" alias="i5"/> <position x="307" y="36" z="4" angle="85" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="529" y="241" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i7"/> <position x="612" y="217" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance8" alias="i8"/> <position x="56.75" y="180.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red"> <basic type="instance" name="instance9" alias="i9"/> <position x="646" y="265" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 151
//Levels_Level_2 (script.gameplay.Levels_Level_2) package script.gameplay { public class Levels_Level_2 { public static var data:XML = <world> <options time="110" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="327" y="76" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="702" y="168" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="440" y="403" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="224" y="220" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="223.05" y="170.2" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="401" y="212" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="239" y="388" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="680" y="485" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="-36" y="313" z="9" angle="10" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Tree_3"/> <dimension width="314.55" height="363.9"/> <position x="-5" y="105" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite42" alias="s12"/> <location file="Art.swf" image="Tree_4"/> <dimension width="82.45" height="186.1"/> <position x="674" y="45.2" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="329.9" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-193.48"/> <point x="9" y="-193.48"/> <point x="9" y="193.48"/> <point x="-9" y="193.48"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="651" y="127.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-67" y="-8.5"/> <point x="67" y="-8.5"/> <point x="67" y="8.5"/> <point x="-67" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="7fe57f" alias="b4"/> <position x="400.5" y="188.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-30.5" y="-8.5"/> <point x="30.5" y="-8.5"/> <point x="30.5" y="8.5"/> <point x="-30.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle11" id="0000" color="7fe57f" alias="b5"/> <position x="225" y="195.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-60" y="-8.5"/> <point x="60" y="-8.5"/> <point x="60" y="8.5"/> <point x="-60" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b6"/> <position x="240" y="363.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-60" y="-8.5"/> <point x="60" y="-8.5"/> <point x="60" y="8.5"/> <point x="-60" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b7"/> <position x="28.5" y="291.5" z="6" angle="10" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-30.5" y="-8.5"/> <point x="30.5" y="-8.5"/> <point x="30.5" y="8.5"/> <point x="-30.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b8"/> <position x="441" y="377.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-60" y="-8.5"/> <point x="60" y="-8.5"/> <point x="60" y="8.5"/> <point x="-60" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="7fe57f" alias="b9"/> <position x="631.25" y="443.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-68.5" y="-8.5"/> <point x="68.5" y="-8.5"/> <point x="68.5" y="8.5"/> <point x="-68.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b10"/> <position x="687.8" y="112.05" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-29" y="-6.48"/> <point x="29" y="-6.48"/> <point x="29" y="6.48"/> <point x="-29" y="6.48"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b11"/> <position x="723.15" y="77.15" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-6" y="-41.51"/> <point x="6" y="-41.51"/> <point x="6" y="41.51"/> <point x="-6" y="41.51"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b12"/> <position x="685.2" y="26.55" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-32" y="-27.02"/> <point x="32" y="-27.02"/> <point x="32" y="27.02"/> <point x="-32" y="27.02"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <sprite> <basic type="sprite" name="Starter" alias="s45"/> <location file="Art.swf" image="Starter_R"/> <dimension width="85.5" height="95"/> <position x="610.5" y="9.2" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance20" alias="i1"/> <position x="494" y="137" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance21" alias="i2"/> <position x="225" y="153" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance22" alias="i3"/> <position x="68" y="250.5" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance23" alias="i4"/> <position x="240" y="324" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance24" alias="i5"/> <position x="441" y="340" z="4" angle="0" layer="l3"/> </instance> <instance name="Bridge_X9"> <basic type="instance" name="instance45" alias="i15"/> <position x="118" y="328.5" z="5" angle="-2" layer="l3"/> </instance> <instance name="Bridge_X10"> <basic type="instance" name="instance56" alias="i26"/> <position x="507.75" y="153.65" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance25" alias="i27"/> <position x="696.55" y="86.45" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="-4"/> <var name="delay" value="90"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red"> <basic type="instance" name="instance26" alias="i28"/> <position x="627" y="392" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite38" alias="s39"/> <location file="Art.swf" image="BridgeRight"/> <dimension width="33.45" height="63.35"/> <position x="595.15" y="91.3" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite43" alias="s40"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="45.5" y="260.5" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite44" alias="s41"/> <location file="Art.swf" image="BridgeRight"/> <dimension width="33.45" height="63.35"/> <position x="192.5" y="328.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite45" alias="s42"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="418" y="154" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite43" alias="s43"/> <location file="Art.swf" image="Tree_Up"/> <dimension width="52.05" height="114.5"/> <position x="689.7" y="81.45" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 152
//Levels_Level_20 (script.gameplay.Levels_Level_20) package script.gameplay { public class Levels_Level_20 { public static var data:XML = <world> <options time="120" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="-31" y="152" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="733" y="434" z="2" angle="2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="7" y="482" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Tree_2"/> <dimension width="367.8" height="443.5"/> <position x="721" y="174" z="4" angle="-2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite20" alias="s20"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="406" y="85" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b3"/> <position x="41.5" y="110.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-42.5" y="-8.5"/> <point x="42.5" y="-8.5"/> <point x="42.5" y="8.5"/> <point x="-42.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b4"/> <position x="660" y="390.5" z="3" angle="1" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-43" y="-8.5"/> <point x="43" y="-8.5"/> <point x="43" y="8.5"/> <point x="-43" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle69" id="0000" color="7fe57f" alias="b5"/> <position x="62.5" y="440.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-64.5" y="-8.5"/> <point x="64.5" y="-8.5"/> <point x="64.5" y="8.5"/> <point x="-64.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon1" id="0000" color="7fe57f" alias="b6"/> <position x="698.65" y="311.65" z="5" angle="0" centerX="0.62" centerY="0.5" layer="l2"/> <points> <point x="9.9" y="71.9"/> <point x="-16.1" y="71.9"/> <point x="0.3" y="-71.9"/> <point x="7.3" y="-71.9"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="000b" color="7fe57f" alias="b7"/> <position x="632" y="374.7" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-6" y="-6"/> <point x="6" y="-6"/> <point x="6" y="6"/> <point x="-6" y="6"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="291" y="166" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance2" alias="i2"/> <position x="422" y="217" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance3" alias="i3"/> <position x="168" y="112" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="544" y="276" z="3" angle="0" layer="l3"/> </instance> <instance name="Island_Medium"> <basic type="instance" name="instance5" alias="i5"/> <position x="483" y="390" z="4" angle="0" layer="l3"/> <extensions> <var name="upperLimit" value="550"/> <var name="horisontal" value="true"/> <var name="lowerLimit" value="420"/> <var name="speed" value="-1"/> </extensions> </instance> <instance name="Island_Medium"> <basic type="instance" name="instance6" alias="i6"/> <position x="244" y="390" z="5" angle="0" layer="l3"/> <extensions> <var name="upperLimit" value="300"/> <var name="horisontal" value="true"/> <var name="lowerLimit" value="170"/> <var name="speed" value="1"/> </extensions> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i7"/> <position x="650" y="344" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance8" alias="i8"/> <position x="367" y="355" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance9" alias="i9"/> <position x="47" y="83" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Wheel"> <basic type="instance" name="instance10" alias="i10"/> <position x="226" y="153" z="0" angle="0" layer="l5"/> <extensions> <var name="speed" value="-0.5"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Wheel"> <basic type="instance" name="instance11" alias="i11"/> <position x="353" y="204" z="1" angle="65" layer="l5"/> <extensions> <var name="speed" value="-0.5"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Wheel"> <basic type="instance" name="instance12" alias="i12"/> <position x="470" y="264" z="2" angle="25" layer="l5"/> <extensions> <var name="speed" value="-0.5"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Wheel"> <basic type="instance" name="instance13" alias="i13"/> <position x="226" y="153" z="3" angle="0" layer="l5"/> <extensions> <var name="speed" value="-0.5"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Exit_Red_2"> <basic type="instance" name="instance14" alias="i14"/> <position x="63" y="378" z="4" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 153
//Levels_Level_21 (script.gameplay.Levels_Level_21) package script.gameplay { public class Levels_Level_21 { public static var data:XML = <world> <options time="115" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite34" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="242" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="731" y="439" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite22" alias="s2"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="680" y="305" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite21" alias="s3"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="655" y="176" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite29" alias="s5"/> <location file="Art.swf" image="Platform_1"/> <dimension width="291.1" height="23.4"/> <position x="629" y="71" z="4" angle="-1" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite17" alias="s6"/> <location file="Art.swf" image="Spines_1"/> <dimension width="105" height="28.65"/> <position x="545.65" y="89.95" z="5" angle="180" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s7"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="0" y="347" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite49" alias="s9"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="417" y="475" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite45" alias="s8"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="207" y="427" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite52" alias="s10"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="306" y="68" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite26" alias="s26"/> <location file="Art.swf" image="Tree_3"/> <dimension width="314.55" height="363.9"/> <position x="-2" y="124" z="10" angle="3" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite28" alias="s28"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="667" y="251" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite34" alias="s34"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="660" y="446" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite35" alias="s35"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="35" y="408" z="13" angle="-2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="657" y="397.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-43" y="-8.5"/> <point x="43" y="-8.5"/> <point x="43" y="8.5"/> <point x="-43" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b4"/> <position x="592.5" y="71.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-107.5" y="-8.5"/> <point x="107.5" y="-8.5"/> <point x="107.5" y="8.5"/> <point x="-107.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle18" id="0000" color="7fe57f" alias="b5"/> <position x="654" y="178" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-26" y="-98"/> <point x="26" y="-98"/> <point x="26" y="98"/> <point x="-26" y="98"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0009" color="7fe57f" alias="b6"/> <position x="545.5" y="89.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-46.5" y="-9.5"/> <point x="46.5" y="-9.5"/> <point x="46.5" y="9.5"/> <point x="-46.5" y="9.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle30" id="0000" color="7fe57f" alias="b7"/> <position x="57.5" y="304.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-58.5" y="-8.5"/> <point x="58.5" y="-8.5"/> <point x="58.5" y="8.5"/> <point x="-58.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle60" id="0000" color="7fe57f" alias="b9"/> <position x="417" y="448.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-61" y="-8.5"/> <point x="61" y="-8.5"/> <point x="61" y="8.5"/> <point x="-61" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle55" id="0000" color="7fe57f" alias="b8"/> <position x="207" y="400.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-61" y="-8.5"/> <point x="61" y="-8.5"/> <point x="61" y="8.5"/> <point x="-61" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="544" y="366" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i2"/> <position x="544" y="246" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i3"/> <position x="544" y="135" z="2" angle="0" layer="l3"/> </instance> <instance name="Island_Medium"> <basic type="instance" name="instance4" alias="i4"/> <position x="542" y="260" z="3" angle="0" layer="l3"/> <extensions> <var name="horisontal" value="false"/> <var name="upperLimit" value="405"/> <var name="speed" value="1"/> <var name="lowerLimit" value="130"/> </extensions> </instance> <instance name="Star"> <basic type="instance" name="instance11" alias="i5"/> <position x="278" y="164" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance18" alias="i6"/> <position x="320" y="407" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance19" alias="i7"/> <position x="207" y="362" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance15" alias="i15"/> <position x="434" y="64" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i8"/> <position x="655.75" y="370.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance14" alias="i9"/> <position x="644.5" y="44" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Wheel"> <basic type="instance" name="instance9" alias="i10"/> <position x="339" y="182" z="0" angle="0" layer="l5"/> <extensions> <var name="speed" value="0.5"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Wheel"> <basic type="instance" name="instance10" alias="i11"/> <position x="218" y="218" z="1" angle="45" layer="l5"/> <extensions> <var name="speed" value="0.5"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Exit_Red_2"> <basic type="instance" name="instance13" alias="i12"/> <position x="54" y="245" z="2" angle="0" layer="l5"/> </instance> <instance name="Exit_Blue"> <basic type="instance" name="instance15" alias="i13"/> <position x="422" y="398" z="3" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite30" alias="s30"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="696" y="368" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite31" alias="s31"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="174" y="378" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 154
//Levels_Level_22 (script.gameplay.Levels_Level_22) package script.gameplay { public class Levels_Level_22 { public static var data:XML = <world> <options time="115" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite33" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="241" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s32"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="235" y="63" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite18" alias="s2"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="76" y="201" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s4"/> <location file="Art.swf" image="Island_130"/> <dimension width="124" height="67"/> <position x="214.65" y="271.65" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite17" alias="s5"/> <location file="Art.swf" image="Island_130"/> <dimension width="144" height="73.75"/> <position x="348.3" y="187.6" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite19" alias="s6"/> <location file="Art.swf" image="Spines_1"/> <dimension width="89.05" height="22.05"/> <position x="348.95" y="146.95" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite22" alias="s7"/> <location file="Art.swf" image="Island_130"/> <dimension width="144" height="73.75"/> <position x="-9.7" y="91.6" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite23" alias="s8"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="27" y="412" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s9"/> <location file="Art.swf" image="Ground"/> <dimension width="716.65" height="114.3"/> <position x="148" y="504" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite34" alias="s10"/> <location file="Art.swf" image="Idol_1"/> <dimension width="138.7" height="197.75"/> <position x="590" y="315" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite38" alias="s13"/> <location file="Art.swf" image="Grass_3"/> <dimension width="62.4" height="49.75"/> <position x="15" y="136" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite39" alias="s14"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="89" y="425" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite30" alias="s30"/> <location file="Art.swf" image="Ground_4"/> <dimension width="213.5" height="176.2"/> <position x="606.95" y="139.15" z="12" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite26" alias="s3"/> <location file="Art.swf" image="Ground_3"/> <dimension width="434.45" height="111.9"/> <position x="708" y="461" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s12"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="538" y="390" z="14" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite36" alias="s11"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="626" y="378" z="15" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="346.5" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-176.5"/> <point x="9" y="-176.5"/> <point x="9" y="176.5"/> <point x="-9" y="176.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="30.5" y="65.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-30.5" y="-8.5"/> <point x="30.5" y="-8.5"/> <point x="30.5" y="8.5"/> <point x="-30.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b4"/> <position x="597.5" y="457" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-104.5" y="-51"/> <point x="104.5" y="-51"/> <point x="104.5" y="51"/> <point x="-104.5" y="51"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b5"/> <position x="95" y="160" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-97" y="-8.5"/> <point x="97" y="-8.5"/> <point x="97" y="8.5"/> <point x="-97" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b6"/> <position x="348.5" y="161.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-70.5" y="-8.5"/> <point x="70.5" y="-8.5"/> <point x="70.5" y="8.5"/> <point x="-70.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle25" id="0009" color="7fe57f" alias="b7"/> <position x="349" y="157.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-35.5" y="-4.5"/> <point x="35.5" y="-4.5"/> <point x="35.5" y="4.5"/> <point x="-35.5" y="4.5"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> <body> <basic type="Polygon" name="Polygon1" id="0000" color="7fe57f" alias="b8"/> <position x="651.5" y="116.75" z="7" angle="0" centerX="0.72" centerY="0.69" layer="l2"/> <points> <point x="-77.3" y="34.8"/> <point x="-24.8" y="25.3"/> <point x="5.2" y="7.3"/> <point x="32.2" y="-24.7"/> <point x="49.2" y="-69.7"/> <point x="58.2" y="-120.7"/> <point x="58.2" y="54.3"/> <point x="-149.8" y="54.3"/> <point x="-148.8" y="36.8"/> </points> <physic density="0.03" friction="5" restitution="0" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b9"/> <position x="246.5" y="459" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-246.5" y="-8.5"/> <point x="246.5" y="-8.5"/> <point x="246.5" y="8.5"/> <point x="-246.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b10"/> <position x="214.25" y="250.3" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-57.98" y="-8.5"/> <point x="57.98" y="-8.5"/> <point x="57.98" y="8.5"/> <point x="-57.98" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b11"/> <position x="70" y="370" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-70" y="-8.5"/> <point x="70" y="-8.5"/> <point x="70" y="8.5"/> <point x="-70" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle37" id="0000" color="7fe57f" alias="b12"/> <position x="590" y="312" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-46" y="-94"/> <point x="46" y="-94"/> <point x="46" y="94"/> <point x="-46" y="94"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="460" y="385" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i2"/> <position x="345" y="120" z="1" angle="0" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance6" alias="i3"/> <position x="449" y="31" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i4"/> <position x="572" y="107" z="3" angle="0" layer="l3"/> </instance> <instance name="Stone_Medium"> <basic type="instance" name="instance10" alias="i5"/> <position x="271.75" y="220.35" z="4" angle="8" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Orange"> <basic type="instance" name="instance10" alias="i7"/> <position x="208.2" y="222.95" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i6"/> <position x="28.75" y="38.5" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Truck"> <basic type="instance" name="instance4" alias="i8"/> <position x="79" y="119" z="0" angle="0" layer="l5"/> <extensions> <var name="autoStart" value="false"/> <var name="speed" value="-3"/> <var name="torque" value="10000"/> </extensions> </instance> <instance name="Catapult_R"> <basic type="instance" name="instance9" alias="i9"/> <position x="395.7" y="409.25" z="1" angle="0" layer="l5"/> </instance> <instance name="Exit_Orange_2"> <basic type="instance" name="instance12" alias="i10"/> <position x="79" y="307" z="2" angle="0" layer="l5"/> </instance> <instance name="Exit_Red_2"> <basic type="instance" name="instance14" alias="i11"/> <position x="200" y="395" z="3" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 155
//Levels_Level_23 (script.gameplay.Levels_Level_23) package script.gameplay { public class Levels_Level_23 { public static var data:XML = <world> <options time="110" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite34" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="241" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite35" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="162" y="85" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite23" alias="s3"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="105" y="511" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="362" y="460" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s5"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="19" y="457" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s6"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="692" y="391" z="5" angle="-10" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite13" alias="s7"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="-49" y="251" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite39" alias="s8"/> <location file="Art.swf" image="Tree_1"/> <dimension width="424.45" height="486.15"/> <position x="559" y="122" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite41" alias="s9"/> <location file="Art.swf" image="Grass_3"/> <dimension width="50" height="37.15"/> <position x="312" y="249" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite42" alias="s10"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="73" y="440" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite40" alias="s11"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="325" y="409" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s12"/> <location file="Art.swf" image="Wood_Bridge_3"/> <dimension width="110.5" height="46.65"/> <position x="503.5" y="288" z="11" angle="1" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite38" alias="s13"/> <location file="Art.swf" image="Wood_Bridge_3"/> <dimension width="110.5" height="46.65"/> <position x="218.5" y="288" z="12" angle="-1" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s14"/> <location file="Art.swf" image="Island_240"/> <dimension width="230" height="92"/> <position x="364.25" y="309.45" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b1"/> <position x="56.5" y="358.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-57.5" y="-8.5"/> <point x="57.5" y="-8.5"/> <point x="57.5" y="8.5"/> <point x="-57.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b2"/> <position x="-10" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b3"/> <position x="361" y="434.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b4"/> <position x="697" y="261" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-29" y="-262"/> <point x="29" y="-262"/> <point x="29" y="262"/> <point x="-29" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b5"/> <position x="638.15" y="356.35" z="4" angle="-11" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-66.52" y="-8.5"/> <point x="66.52" y="-8.5"/> <point x="66.52" y="8.5"/> <point x="-66.52" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b6"/> <position x="360.5" y="273.5" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-197.5" y="-8.5"/> <point x="197.5" y="-8.5"/> <point x="197.5" y="8.5"/> <point x="-197.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b7"/> <position x="33.5" y="209.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-34.5" y="-8.5"/> <point x="34.5" y="-8.5"/> <point x="34.5" y="8.5"/> <point x="-34.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle27" id="0000" color="7fe57f" alias="b8"/> <position x="109.5" y="469.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-110.5" y="-8.5"/> <point x="110.5" y="-8.5"/> <point x="110.5" y="8.5"/> <point x="-110.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="361" y="399" z="0" angle="0" layer="l3"/> </instance> <instance name="Bridge_X10"> <basic type="instance" name="instance71" alias="i12"/> <position x="499" y="400" z="1" angle="-1" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance19" alias="i13"/> <position x="475" y="375" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance20" alias="i14"/> <position x="603" y="326" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance21" alias="i15"/> <position x="353" y="232" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance22" alias="i16"/> <position x="237" y="357" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance23" alias="i17"/> <position x="115" y="255" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance2" alias="i18"/> <position x="515.75" y="246.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance6" alias="i19"/> <position x="33" y="182" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <body> <basic type="Rectangle" name="Rectangle14" id="000b" color="7fe57f" alias="b27"/> <position x="307.5" y="256" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l4"/> <points> <point x="-71.5" y="-10"/> <point x="71.5" y="-10"/> <point x="71.5" y="10"/> <point x="-71.5" y="10"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red_2"> <basic type="instance" name="instance3" alias="i20"/> <position x="52" y="297" z="0" angle="0" layer="l5"/> </instance> <instance name="Spoke_V"> <basic type="instance" name="instance5" alias="i21"/> <position x="257" y="132" z="1" angle="0" layer="l5"/> <extensions> <var name="speed" value="3"/> <var name="initY" value="60"/> </extensions> </instance> <instance name="Spoke_V"> <basic type="instance" name="instance4" alias="i22"/> <position x="437" y="132" z="2" angle="0" layer="l5"/> <extensions> <var name="speed" value="-3"/> <var name="initY" value="195"/> </extensions> </instance> <instance name="Exit_Blue_2"> <basic type="instance" name="instance18" alias="i23"/> <position x="162" y="406" z="3" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 156
//Levels_Level_24 (script.gameplay.Levels_Level_24) package script.gameplay { public class Levels_Level_24 { public static var data:XML = <world> <options time="110" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="29" y="555" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite14" alias="s14"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="356" y="66" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite17" alias="s17"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="23" y="298" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite20" alias="s20"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="678" y="488" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b1"/> <position x="62" y="457.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b2"/> <position x="-10" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b3"/> <position x="709" y="261" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b4"/> <position x="58" y="265.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-58.5" y="-8.5"/> <point x="58.5" y="-8.5"/> <point x="58.5" y="8.5"/> <point x="-58.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle30" id="0000" color="7fe57f" alias="b37"/> <position x="645" y="454.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-55.5" y="-8.5"/> <point x="55.5" y="-8.5"/> <point x="55.5" y="8.5"/> <point x="-55.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="126" y="179" z="0" angle="0" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance6" alias="i6"/> <position x="575" y="69" z="1" angle="30" layer="l3"/> </instance> <instance name="Island_Medium"> <basic type="instance" name="instance7" alias="i7"/> <position x="362" y="355" z="2" angle="0" layer="l3"/> <extensions> <var name="upperLimit" value="550"/> <var name="speed" value="-2"/> <var name="lowerLimit" value="250"/> <var name="horisontal" value="true"/> </extensions> </instance> <instance name="Star"> <basic type="instance" name="instance8" alias="i8"/> <position x="230" y="318" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance9" alias="i9"/> <position x="485" y="318" z="4" angle="0" layer="l3"/> </instance> <instance name="Island_Medium"> <basic type="instance" name="instance5" alias="i2"/> <position x="359" y="140" z="5" angle="0" layer="l3"/> <extensions> <var name="upperLimit" value="550"/> <var name="lowerLimit" value="320"/> <var name="horisontal" value="true"/> <var name="speed" value="2"/> </extensions> </instance> <instance name="Star"> <basic type="instance" name="instance15" alias="i15"/> <position x="129" y="369" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance16" alias="i16"/> <position x="609" y="356" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i3"/> <position x="393.75" y="115" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance6" alias="i4"/> <position x="323" y="115" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Orange"> <basic type="instance" name="instance14" alias="i14"/> <position x="362" y="330" z="2" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red_2"> <basic type="instance" name="instance5" alias="i5"/> <position x="62" y="395" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Blue_2"> <basic type="instance" name="instance10" alias="i10"/> <position x="56" y="203" z="1" angle="0" layer="l5"/> </instance> <instance name="Wheel"> <basic type="instance" name="instance11" alias="i11"/> <position x="196" y="148" z="2" angle="0" layer="l5"/> <extensions> <var name="speed" value="1"/> <var name="torque" value="10"/> </extensions> </instance> <instance name="Exit_Orange"> <basic type="instance" name="instance13" alias="i13"/> <position x="654" y="403" z="3" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 157
//Levels_Level_3 (script.gameplay.Levels_Level_3) package script.gameplay { public class Levels_Level_3 { public static var data:XML = <world> <options time="105" tool="2" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite17" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="264" y="89" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s3"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="39" y="515" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="746" y="409" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s5"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="323" y="226" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite19" alias="s6"/> <location file="Art.swf" image="Tree_2"/> <dimension width="367.8" height="443.5"/> <position x="-25" y="199" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite20" alias="s7"/> <location file="Art.swf" image="Tree_1"/> <dimension width="424.45" height="486.15"/> <position x="551" y="139" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite17" alias="s8"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="-467" y="193" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b1"/> <position x="72" y="417.5" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-59.5" y="-8.5"/> <point x="59.5" y="-8.5"/> <point x="59.5" y="8.5"/> <point x="-59.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b2"/> <position x="1.5" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-11" y="-262"/> <point x="11" y="-262"/> <point x="11" y="262"/> <point x="-11" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b3"/> <position x="731" y="337" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-7" y="-40"/> <point x="7" y="-40"/> <point x="7" y="40"/> <point x="-7" y="40"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b4"/> <position x="676" y="367.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-48" y="-8.5"/> <point x="48" y="-8.5"/> <point x="48" y="8.5"/> <point x="-48" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b5"/> <position x="322" y="200.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-63" y="-8.5"/> <point x="63" y="-8.5"/> <point x="63" y="8.5"/> <point x="-63" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b6"/> <position x="695.45" y="354.1" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-28" y="-4.5"/> <point x="28" y="-4.5"/> <point x="28" y="4.5"/> <point x="-28" y="4.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0000" color="7fe57f" alias="b7"/> <position x="699.5" y="190.3" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-38.5" y="-106"/> <point x="38.5" y="-106"/> <point x="38.5" y="106"/> <point x="-38.5" y="106"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <sprite> <basic type="sprite" name="Starter" alias="s19"/> <location file="Art.swf" image="Starter_R"/> <dimension width="85.5" height="95"/> <position x="619.05" y="264.4" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="322" y="163" z="0" angle="0" layer="l3"/> </instance> <instance name="Spring"> <basic type="instance" name="instance4" alias="i2"/> <position x="586" y="413" z="1" angle="0" layer="l3"/> </instance> <instance name="Spring"> <basic type="instance" name="instance7" alias="i3"/> <position x="435" y="236" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance8" alias="i4"/> <position x="586" y="379" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance9" alias="i5"/> <position x="518" y="284" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance10" alias="i6"/> <position x="436" y="201" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance11" alias="i7"/> <position x="199" y="259" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i8"/> <position x="704" y="329.55" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="-3.5"/> <var name="delay" value="90"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red_2"> <basic type="instance" name="instance5" alias="i9"/> <position x="72" y="355" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="true" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite19" alias="s18"/> <location file="Art.swf" image="Tree_Up"/> <dimension width="52.05" height="114.5"/> <position x="697" y="324.3" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 158
//Levels_Level_4 (script.gameplay.Levels_Level_4) package script.gameplay { public class Levels_Level_4 { public static var data:XML = <world> <options time="105" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="242" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="578" y="40" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="261" y="86" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="615" y="298" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Platform_1"/> <dimension width="291.1" height="23.4"/> <position x="717" y="189" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="351" y="158" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="347" y="107" z="6" angle="-36" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Bush_5"/> <dimension width="94.45" height="84.5"/> <position x="671" y="88" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Platform_1"/> <dimension width="291.1" height="23.4"/> <position x="-17" y="189" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Idol_3"/> <dimension width="76.65" height="204.4"/> <position x="81" y="298" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite28" alias="s28"/> <location file="Art.swf" image="Ground"/> <dimension width="722" height="114.3"/> <position x="349.7" y="483" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle18" id="0000" color="7fe57f" alias="b1"/> <position x="710" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b2"/> <position x="-10" y="262" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b3"/> <position x="350" y="476.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-349.5" y="-48.5"/> <point x="349.5" y="-48.5"/> <point x="349.5" y="48.5"/> <point x="-349.5" y="48.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle39" id="0000" color="7fe57f" alias="b4"/> <position x="56" y="188" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-67" y="-8"/> <point x="67" y="-8"/> <point x="67" y="8"/> <point x="-67" y="8"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle40" id="0000" color="7fe57f" alias="b5"/> <position x="639" y="188" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-66" y="-8"/> <point x="66" y="-8"/> <point x="66" y="8"/> <point x="-66" y="8"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="518" y="192" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance2" alias="i2"/> <position x="181" y="191" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance3" alias="i3"/> <position x="447" y="238" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="420" y="311" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="273" y="310" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="246" y="238" z="5" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance7" alias="i7"/> <position x="644" y="161" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance8" alias="i8"/> <position x="53" y="161" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Blue"> <basic type="instance" name="instance9" alias="i9"/> <position x="275" y="386" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Red_2"> <basic type="instance" name="instance10" alias="i10"/> <position x="413" y="377" z="1" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite22" alias="s22"/> <location file="Art.swf" image="Grass_1"/> <dimension width="130" height="91.95"/> <position x="587.4" y="396.45" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite23" alias="s23"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="84" y="358" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s24"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="343" y="414" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite25" alias="s25"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="657" y="390" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite26" alias="s26"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="32" y="217" z="4" angle="-176" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite27" alias="s27"/> <location file="Art.swf" image="Grass_2"/> <dimension width="77.25" height="79"/> <position x="6.25" y="399.55" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 159
//Levels_Level_5 (script.gameplay.Levels_Level_5) package script.gameplay { public class Levels_Level_5 { public static var data:XML = <world> <options time="105" tool="1" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite39" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="242" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Island_1"/> <dimension width="203.05" height="224.6"/> <position x="676" y="196" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="true" alpha="true" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="409.95" y="218.65" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="272" y="484" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="595" y="505" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Idol_1"/> <dimension width="138.7" height="197.75"/> <position x="566" y="363" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="693" y="412" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Grass_3"/> <dimension width="62.4" height="49.75"/> <position x="505" y="435" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite34" alias="s9"/> <location file="Art.swf" image="Tree_4"/> <dimension width="82.45" height="186.1"/> <position x="667.9" y="13" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="336" y="66" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle16" id="0001" color="7fe57f" alias="b1"/> <position x="644" y="92" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-66" y="-8"/> <point x="66" y="-8"/> <point x="66" y="8"/> <point x="-66" y="8"/> </points> <physic density="0.015" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b2"/> <position x="411.85" y="193.35" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-31" y="-8"/> <point x="31" y="-8"/> <point x="31" y="8"/> <point x="-31" y="8"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle18" id="0000" color="7fe57f" alias="b3"/> <position x="720" y="262" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b4"/> <position x="-10" y="262" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b5"/> <position x="271" y="443" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-110" y="-8"/> <point x="110" y="-8"/> <point x="110" y="8"/> <point x="-110" y="8"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle18" id="0000" color="7fe57f" alias="b6"/> <position x="590" y="465" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-110" y="-8"/> <point x="110" y="-8"/> <point x="110" y="8"/> <point x="-110" y="8"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle14" id="0001" color="7fe57f" alias="b7"/> <position x="681.8" y="80.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-27.5" y="-6"/> <point x="27.5" y="-6"/> <point x="27.5" y="6"/> <point x="-27.5" y="6"/> </points> <physic density="0.015" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0001" color="7fe57f" alias="b32"/> <position x="679.05" y="2.9" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-32.5" y="-17"/> <point x="32.5" y="-17"/> <point x="32.5" y="17"/> <point x="-32.5" y="17"/> </points> <physic density="0.015" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <sprite> <basic type="sprite" name="Starter" alias="s36"/> <location file="Art.swf" image="Starter_R"/> <dimension width="85.5" height="95"/> <position x="603.8" y="-3.85" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Bridge_X11"> <basic type="instance" name="instance12" alias="i12"/> <position x="509.6" y="140.85" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance13" alias="i13"/> <position x="530" y="86" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance14" alias="i14"/> <position x="470" y="149" z="2" angle="0" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance15" alias="i15"/> <position x="297" y="104" z="3" angle="30" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance19" alias="i16"/> <position x="361" y="160" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance20" alias="i17"/> <position x="287" y="275" z="5" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance16" alias="i18"/> <position x="689.65" y="54.7" z="0" angle="0" layer="l4"/> <extensions> <var name="initY" value="0"/> <var name="initX" value="-4.6"/> <var name="delay" value="100"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red"> <basic type="instance" name="instance18" alias="i19"/> <position x="278" y="391" z="0" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="true" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite29" alias="s30"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="426" y="159" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite30" alias="s31"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="187" y="409" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite31" alias="s32"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="363" y="410" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s33"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="72" y="76" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite33" alias="s34"/> <location file="Art.swf" image="Bush_2"/> <dimension width="167" height="121.65"/> <position x="40" y="419.85" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite40" alias="s35"/> <location file="Art.swf" image="Tree_Up"/> <dimension width="52.05" height="114.5"/> <position x="682.9" y="49.2" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 160
//Levels_Level_6 (script.gameplay.Levels_Level_6) package script.gameplay { public class Levels_Level_6 { public static var data:XML = <world> <options time="120" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="336" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Ground"/> <dimension width="722" height="114.3"/> <position x="350.75" y="490" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="686" y="405" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="544" y="136" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="241" y="71" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Idol_2"/> <dimension width="102.3" height="213.05"/> <position x="328" y="333" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Grass_3"/> <dimension width="62.4" height="49.75"/> <position x="295" y="414" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="366" y="411" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Island_1"/> <dimension width="196.5" height="218.65"/> <position x="31" y="323" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Bush_4"/> <dimension width="91.6" height="97.5"/> <position x="597" y="75" z="9" angle="-39" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Bush_2"/> <dimension width="211" height="153.75"/> <position x="-2" y="367" z="10" angle="5" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="710" y="262" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="352" y="443.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-352.5" y="-8.5"/> <point x="352.5" y="-8.5"/> <point x="352.5" y="8.5"/> <point x="-352.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle12" id="0000" color="7fe57f" alias="b4"/> <position x="648.5" y="371.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-52.5" y="-8.5"/> <point x="52.5" y="-8.5"/> <point x="52.5" y="8.5"/> <point x="-52.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle11" id="0000" color="7fe57f" alias="b5"/> <position x="544.5" y="102.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-92.5" y="-8.5"/> <point x="92.5" y="-8.5"/> <point x="92.5" y="8.5"/> <point x="-92.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon6" id="0000" color="7fe57f" alias="b6"/> <position x="329.65" y="314.5" z="5" angle="0" centerX="0.53" centerY="0.42" layer="l2"/> <points> <point x="-55.6" y="120.26"/> <point x="49.3" y="122.34"/> <point x="36.3" y="-73.07"/> <point x="2.3" y="-88.66"/> <point x="-34.7" y="-77.23"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle23" id="0000" color="7fe57f" alias="b7"/> <position x="61" y="223.5" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-62" y="-8.5"/> <point x="62" y="-8.5"/> <point x="62" y="8.5"/> <point x="-62" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Island_Medium"> <basic type="instance" name="instance1" alias="i1"/> <position x="368" y="101" z="0" angle="0" layer="l3"/> <extensions> <var name="upperLimit" value="370"/> <var name="lowerLimit" value="200"/> <var name="speed" value="0.7"/> <var name="horisontal" value="true"/> </extensions> </instance> <instance name="Star"> <basic type="instance" name="instance2" alias="i2"/> <position x="506" y="273" z="1" angle="0" layer="l3"/> </instance> <instance name="Stone_Medium"> <basic type="instance" name="instance3" alias="i3"/> <position x="436" y="74" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance4" alias="i4"/> <position x="224" y="271" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance5" alias="i5"/> <position x="370" y="139" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance6" alias="i6"/> <position x="372" y="70" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i7"/> <position x="264" y="69" z="6" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance8" alias="i8"/> <position x="152" y="71" z="7" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance9" alias="i9"/> <position x="632.75" y="343.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <instance name="Ball_Orange"> <basic type="instance" name="instance10" alias="i10"/> <position x="504" y="75" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Exit_Red_2"> <basic type="instance" name="instance11" alias="i11"/> <position x="179" y="381" z="0" angle="0" layer="l5"/> </instance> <instance name="Catapult_R"> <basic type="instance" name="instance12" alias="i12"/> <position x="494" y="397" z="1" angle="0" layer="l5"/> </instance> <instance name="Exit_Orange_2"> <basic type="instance" name="instance13" alias="i13"/> <position x="64" y="161" z="2" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 161
//Levels_Level_7 (script.gameplay.Levels_Level_7) package script.gameplay { public class Levels_Level_7 { public static var data:XML = <world> <options time="110" tool="2" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite2" alias="s2"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="115" y="276" z="1" angle="1" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite3" alias="s3"/> <location file="Art.swf" image="Island_70"/> <dimension width="65.05" height="69.45"/> <position x="597" y="276" z="2" angle="-2" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite4" alias="s4"/> <location file="Art.swf" image="Island_190"/> <dimension width="190.65" height="86.1"/> <position x="347" y="253" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite5" alias="s5"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="731" y="356" z="4" angle="-5" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite6" alias="s6"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="-33" y="356" z="5" angle="5" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite7" alias="s7"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="492" y="431" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite8" alias="s8"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="198" y="431" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite9" alias="s9"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="563" y="96" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite10" alias="s10"/> <location file="Art.swf" image="Tree_3"/> <dimension width="281" height="325"/> <position x="350.1" y="59.35" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s11"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="39" y="38" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle9" id="0000" color="7fe57f" alias="b3"/> <position x="347" y="219.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-91" y="-8.5"/> <point x="91" y="-8.5"/> <point x="91" y="8.5"/> <point x="-91" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon1" id="0000" color="7fe57f" alias="b4"/> <position x="347.35" y="140.85" z="3" angle="0" centerX="0.54" centerY="0.5" layer="l2"/> <points> <point x="-27.51" y="69.8"/> <point x="23.49" y="69.8"/> <point x="12.62" y="-69.7"/> <point x="-9.53" y="-69.7"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle15" id="0000" color="7fe57f" alias="b5"/> <position x="115.5" y="251" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-28.5" y="-7"/> <point x="28.5" y="-7"/> <point x="28.5" y="7"/> <point x="-28.5" y="7"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b6"/> <position x="595.5" y="251" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-28.5" y="-7"/> <point x="28.5" y="-7"/> <point x="28.5" y="7"/> <point x="-28.5" y="7"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b7"/> <position x="690.5" y="335" z="6" angle="-5" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-19.5" y="-7"/> <point x="19.5" y="-7"/> <point x="19.5" y="7"/> <point x="-19.5" y="7"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle18" id="0000" color="7fe57f" alias="b8"/> <position x="8.5" y="334" z="7" angle="5" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-19.5" y="-7"/> <point x="19.5" y="-7"/> <point x="19.5" y="7"/> <point x="-19.5" y="7"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b9"/> <position x="197" y="407.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-59" y="-8.5"/> <point x="59" y="-8.5"/> <point x="59" y="8.5"/> <point x="-59" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle20" id="0000" color="7fe57f" alias="b10"/> <position x="489.5" y="407.5" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-59" y="-8.5"/> <point x="59" y="-8.5"/> <point x="59" y="8.5"/> <point x="-59" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance19" alias="i19"/> <position x="505" y="289.5" z="0" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance20" alias="i20"/> <position x="595" y="213" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance21" alias="i21"/> <position x="116" y="213" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance22" alias="i22"/> <position x="207" y="289.5" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance23" alias="i23"/> <position x="33.5" y="293.5" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance24" alias="i24"/> <position x="345" y="336.5" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance25" alias="i25"/> <position x="651.5" y="298.5" z="6" angle="0" layer="l3"/> </instance> <sprite> <basic type="sprite" name="sprite43" alias="s37"/> <location file="Art.swf" image="BridgeRight"/> <dimension width="33.45" height="63.35"/> <position x="152.5" y="371.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite44" alias="s38"/> <location file="Art.swf" image="BridgeRight"/> <dimension width="33.45" height="63.35"/> <position x="680.5" y="302" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite45" alias="s39"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="540" y="372" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l3"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <instance name="Bridge_X9"> <basic type="instance" name="instance39" alias="i39"/> <position x="82.75" y="368.9" z="10" angle="0" layer="l3"/> </instance> <instance name="Bridge_X9"> <basic type="instance" name="instance49" alias="i49"/> <position x="607" y="371.5" z="11" angle="-67" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance26" alias="i26"/> <position x="291.75" y="192" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance27" alias="i27"/> <position x="403" y="192" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <sprite> <basic type="sprite" name="sprite39" alias="s42"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="342" y="520" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <instance name="Exit_Blue"> <basic type="instance" name="instance28" alias="i28"/> <position x="297" y="426" z="1" angle="0" layer="l5"/> </instance> <instance name="Exit_Red_2"> <basic type="instance" name="instance29" alias="i29"/> <position x="394" y="417" z="2" angle="0" layer="l5"/> </instance> <body> <basic type="Rectangle" name="Rectangle19" id="0000" color="7fe57f" alias="b74"/> <position x="341.5" y="480.5" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l5"/> <points> <point x="-117" y="-8.5"/> <point x="117" y="-8.5"/> <point x="117" y="8.5"/> <point x="-117" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite42" alias="s45"/> <location file="Art.swf" image="BridgeLeft"/> <dimension width="34.1" height="65.4"/> <position x="13.5" y="302" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 162
//Levels_Level_8 (script.gameplay.Levels_Level_8) package script.gameplay { public class Levels_Level_8 { public static var data:XML = <world> <options time="105" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite23" alias="s1"/> <location file="Art.swf" image="Back_2"/> <dimension width="767.3" height="565"/> <position x="364" y="241" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite25" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="448" y="86" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite21" alias="s3"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="702" y="438" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite11" alias="s4"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="456" y="498" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite40" alias="s5"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="723.8" y="242.6" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite28" alias="s6"/> <location file="Art.swf" image="Grass_2"/> <dimension width="64.65" height="66.15"/> <position x="555" y="432" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite19" alias="s7"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="33" y="85" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite22" alias="s8"/> <location file="Art.swf" image="Island_240"/> <dimension width="241.55" height="103.1"/> <position x="189.8" y="181.6" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite29" alias="s9"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="270" y="117" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s10"/> <location file="Art.swf" image="Ground_3"/> <dimension width="434.45" height="111.9"/> <position x="46" y="476" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite27" alias="s11"/> <location file="Art.swf" image="Bush_1"/> <dimension width="103.6" height="148.15"/> <position x="146" y="371" z="10" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite28" alias="s12"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="28" y="369" z="11" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite32" alias="s13"/> <location file="Art.swf" image="Wood_Bridge_4"/> <dimension width="132.4" height="81.95"/> <position x="341.35" y="173.35" z="12" angle="-1" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite25" alias="s14"/> <location file="Art.swf" image="Idol_2"/> <dimension width="102.3" height="213.05"/> <position x="70" y="322" z="13" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite26" alias="s15"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="221" y="395" z="14" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b3"/> <position x="35.5" y="59.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-60.5" y="-8.5"/> <point x="60.5" y="-8.5"/> <point x="60.5" y="8.5"/> <point x="-60.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b4"/> <position x="191" y="141" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-114" y="-8.5"/> <point x="114" y="-8.5"/> <point x="114" y="8.5"/> <point x="-114" y="8.5"/> </points> <physic density="0.03" friction="3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b5"/> <position x="647.5" y="399.5" z="4" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-64.5" y="-8.5"/> <point x="64.5" y="-8.5"/> <point x="64.5" y="8.5"/> <point x="-64.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b6"/> <position x="305.2" y="133" z="5" angle="38" centerX="0" centerY="0" layer="l2"/> <points> <point x="-0.4" y="-0.49"/> <point x="99.61" y="-0.49"/> <point x="99.61" y="10.49"/> <point x="-0.4" y="10.49"/> </points> <physic density="0.03" friction="0" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon4" id="0000" color="7fe57f" alias="b7"/> <position x="392.15" y="191.45" z="6" angle="36" centerX="0.69" centerY="0.54" layer="l2"/> <points> <point x="-8.9" y="20.9"/> <point x="-7.1" y="-24.5"/> <point x="4" y="1.5"/> </points> <physic density="0.03" friction="0" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle13" id="0000" color="7fe57f" alias="b8"/> <position x="454" y="457.5" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-117" y="-8.5"/> <point x="117" y="-8.5"/> <point x="117" y="8.5"/> <point x="-117" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle67" id="0000" color="7fe57f" alias="b9"/> <position x="667.5" y="199.5" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-32.5" y="-4.5"/> <point x="32.5" y="-4.5"/> <point x="32.5" y="4.5"/> <point x="-32.5" y="4.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle26" id="000b" color="7fe57f" alias="b10"/> <position x="84.8" y="31.95" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-13" y="-24"/> <point x="13" y="-24"/> <point x="13" y="24"/> <point x="-13" y="24"/> </points> <physic density="0.015" friction="0.3" restitution="0.2" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="true"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Stone_Medium"> <basic type="instance" name="instance4" alias="i1"/> <position x="95" y="29.8" z="0" angle="9" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance9" alias="i2"/> <position x="404" y="316" z="1" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance10" alias="i3"/> <position x="481" y="186" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance13" alias="i4"/> <position x="642" y="121" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance11" alias="i5"/> <position x="228" y="98" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance12" alias="i6"/> <position x="360" y="125" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance13" alias="i7"/> <position x="614" y="290" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i8"/> <position x="24.75" y="32.5" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> <instance name="Ball_Blue"> <basic type="instance" name="instance6" alias="i9"/> <position x="373" y="393" z="1" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="initY" value="0"/> <var name="delay" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Truck"> <basic type="instance" name="instance5" alias="i10"/> <position x="137" y="100" z="0" angle="0" layer="l5"/> <extensions> <var name="autoStart" value="false"/> <var name="speed" value="-7"/> <var name="torque" value="1000"/> </extensions> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance10" alias="i11"/> <position x="647" y="347" z="1" angle="0" layer="l5"/> </instance> <instance name="Catapult_L"> <basic type="instance" name="instance7" alias="i12"/> <position x="441" y="410" z="2" angle="0" layer="l5"/> </instance> <instance name="Exit_Blue"> <basic type="instance" name="instance9" alias="i13"/> <position x="665" y="151" z="3" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies/> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 163
//Levels_Level_9 (script.gameplay.Levels_Level_9) package script.gameplay { public class Levels_Level_9 { public static var data:XML = <world> <options time="115" tool="3" gravity="9.8" iterations="15" timestep="25"/> <bounds worldWh="1200" worldHt="900" cameraWh="700" cameraHt="525"/> <project mode="Go Home Ball" path="E:_GHB-2lib"/> <library> <file name="Art.swf"/> </library> <layers> <layer> <basic name="Background" alias="l1" hidden="false" locked="false" index="0"/> <bodies> <sprite> <basic type="sprite" name="sprite1" alias="s1"/> <location file="Art.swf" image="Back_1"/> <dimension width="767.3" height="525"/> <position x="335" y="262" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite33" alias="s2"/> <location file="Art.swf" image="Sun"/> <dimension width="414" height="414"/> <position x="608" y="53" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite24" alias="s3"/> <location file="Art.swf" image="Island_130"/> <dimension width="129.1" height="68.55"/> <position x="348" y="185" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite34" alias="s4"/> <location file="Art.swf" image="Ground"/> <dimension width="722" height="114.3"/> <position x="349.25" y="513" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite37" alias="s5"/> <location file="Art.swf" image="Ground_3"/> <dimension width="434.45" height="111.9"/> <position x="46" y="446" z="4" angle="7" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite39" alias="s6"/> <location file="Art.swf" image="Tree_2"/> <dimension width="367.8" height="443.5"/> <position x="36" y="179" z="5" angle="4" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> <sprite> <basic type="sprite" name="sprite40" alias="s7"/> <location file="Art.swf" image="Idol_4"/> <dimension width="51.85" height="204.45"/> <position x="621" y="364" z="6" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite20" alias="s8"/> <location file="Art.swf" image="Grass_4"/> <dimension width="53" height="40.5"/> <position x="596" y="445" z="7" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite21" alias="s9"/> <location file="Art.swf" image="Bush_3"/> <dimension width="132.35" height="137.5"/> <position x="691" y="417" z="8" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite22" alias="s10"/> <location file="Art.swf" image="Liana_1"/> <dimension width="343.4" height="163.3"/> <position x="619" y="66" z="9" angle="0" centerX="0.5" centerY="0.5" layer="l1"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="true"/> </sprite> </bodies> <joints/> </layer> <layer> <basic name="Static_Back" alias="l2" hidden="false" locked="false" index="1"/> <bodies> <body> <basic type="Rectangle" name="Rectangle32" id="0000" color="7fe57f" alias="b1"/> <position x="-10" y="261" z="0" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9.5" y="-262"/> <point x="9.5" y="-262"/> <point x="9.5" y="262"/> <point x="-9.5" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle33" id="0000" color="7fe57f" alias="b2"/> <position x="709" y="261" z="1" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-9" y="-262"/> <point x="9" y="-262"/> <point x="9" y="262"/> <point x="-9" y="262"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle10" id="0000" color="7fe57f" alias="b3"/> <position x="483" y="467.5" z="2" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-231" y="-8.5"/> <point x="231" y="-8.5"/> <point x="231" y="8.5"/> <point x="-231" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle16" id="0000" color="7fe57f" alias="b4"/> <position x="344.5" y="161" z="3" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-60.5" y="-8.5"/> <point x="60.5" y="-8.5"/> <point x="60.5" y="8.5"/> <point x="-60.5" y="8.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle17" id="0000" color="7fe57f" alias="b5"/> <position x="128.65" y="432.4" z="4" angle="8" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-129.49" y="-30.5"/> <point x="129.49" y="-30.5"/> <point x="129.49" y="30.5"/> <point x="-129.49" y="30.5"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Rectangle" name="Rectangle30" id="0000" color="7fe57f" alias="b6"/> <position x="620" y="362" z="5" angle="0" centerX="0.5" centerY="0.5" layer="l2"/> <points> <point x="-24" y="-97"/> <point x="24" y="-97"/> <point x="24" y="97"/> <point x="-24" y="97"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> <body> <basic type="Polygon" name="Polygon3" id="0000" color="7fe57f" alias="b7"/> <position x="53.7" y="284.3" z="6" angle="0" centerX="0.57" centerY="0.42" layer="l2"/> <points> <point x="-50.7" y="101.7"/> <point x="25.3" y="113.7"/> <point x="9.3" y="-19.3"/> <point x="38.3" y="-70.3"/> <point x="10.3" y="-82.3"/> <point x="-28.7" y="-46.3"/> </points> <physic density="0.03" friction="0.3" restitution="0.1" linearDamping="0.01" angularDamping="0.01"/> <mask categoryBits="0001" maskBits="FFFF" groupIndex="-1"/> <boolean active="true" static="true" bullet="false" sleep="false" fixed="false" fixedSprite="false" sensor="false"/> </body> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Back" alias="l3" hidden="false" locked="false" index="2"/> <bodies> <instance name="Star"> <basic type="instance" name="instance1" alias="i1"/> <position x="378" y="319" z="0" angle="0" layer="l3"/> </instance> <instance name="Stone_Little"> <basic type="instance" name="instance4" alias="i2"/> <position x="402" y="136" z="1" angle="10" layer="l3"/> </instance> <instance name="Basket"> <basic type="instance" name="instance5" alias="i3"/> <position x="440" y="17" z="2" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance7" alias="i4"/> <position x="247" y="385" z="3" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance9" alias="i5"/> <position x="243" y="307" z="4" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance10" alias="i6"/> <position x="242" y="229" z="5" angle="0" layer="l3"/> </instance> <instance name="Star"> <basic type="instance" name="instance11" alias="i7"/> <position x="361" y="125" z="6" angle="0" layer="l3"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Balls" alias="l4" hidden="false" locked="false" index="3"/> <bodies> <instance name="Ball_Red"> <basic type="instance" name="instance4" alias="i8"/> <position x="318.75" y="133.8" z="0" angle="0" layer="l4"/> <extensions> <var name="initX" value="0"/> <var name="delay" value="0"/> <var name="initY" value="0"/> </extensions> </instance> </bodies> <joints/> </layer> <layer> <basic name="Dynamic_Front" alias="l5" hidden="false" locked="false" index="4"/> <bodies> <instance name="Catapult_L"> <basic type="instance" name="instance6" alias="i9"/> <position x="376" y="419" z="0" angle="0" layer="l5"/> </instance> <instance name="Exit_Red"> <basic type="instance" name="instance8" alias="i10"/> <position x="541" y="416" z="1" angle="0" layer="l5"/> </instance> </bodies> <joints/> </layer> <layer> <basic name="Static_Front" alias="l6" hidden="false" locked="false" index="5"/> <bodies> <sprite> <basic type="sprite" name="sprite17" alias="s22"/> <location file="Art.swf" image="Grass_1"/> <dimension width="123.2" height="87.15"/> <position x="103" y="374" z="0" angle="14" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> <sprite> <basic type="sprite" name="sprite19" alias="s23"/> <location file="Art.swf" image="Grass_3"/> <dimension width="62.4" height="49.75"/> <position x="177" y="392" z="1" angle="5" centerX="0.5" centerY="0.5" layer="l6"/> <boolean render="false" alpha="false" smoothing="false" hFlip="false" vFlip="false"/> </sprite> </bodies> <joints/> </layer> </layers> </world> ; } }//package script.gameplay
Section 164
//ScoreSystem (script.gameplay.ScoreSystem) package script.gameplay { import flash.net.*; public class ScoreSystem { public var total:int; public var solved:Array; public var bestScore:Array; public var data:SharedObject; public static const LEVELS:int = 24; public function ScoreSystem(){ writeNull(); } private function writeNull():void{ bestScore = []; solved = []; total = 0; var _local1:int; while (_local1 < LEVELS) { bestScore.push(0); solved.push(false); _local1++; }; } private function update():void{ total = 0; var _local1:int; while (_local1 < LEVELS) { total = (total + bestScore[_local1]); _local1++; }; } public function solveLevel(_arg1:int, _arg2:int):void{ _arg1--; solved[_arg1] = true; if (_arg2 > bestScore[_arg1]){ bestScore[_arg1] = _arg2; }; update(); } public function clear():void{ writeNull(); update(); saveGame(); } public function saveGame():void{ try { data.data.bestScore = bestScore; data.data.solved = solved; data.data.total = total; data.flush(); } catch(error) { }; } public function loadGame():void{ try { data = SharedObject.getLocal("saveGame"); if (data.data.bestScore != undefined){ bestScore = data.data.bestScore; solved = data.data.solved; total = data.data.total; }; } catch(error) { }; update(); } public function getSolved():int{ var _local1:int; var _local2:int; while (_local2 < LEVELS) { if (solved[_local2]){ _local1++; }; _local2++; }; return (_local1); } public function getOpened():int{ var _local1:int = getSolved(); _local1 = (_local1 + 3); if (_local1 > LEVELS){ _local1 = LEVELS; }; return (_local1); } } }//package script.gameplay
Section 165
//Ball (script.gear.Ball) package script.gear { import flash.events.*; import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Common.Math.*; import script.constants.*; import tweener.*; public class Ball extends BodyObject { private var delay:int; private var timer:int;// = 0 private var initX:Number; private var initY:Number; public var brake:String;// = "" public var isActive:Boolean;// = true private var isBraking:Boolean; private static const BRAKE_STEP:Number = 0.05; private static const MIN_BRAKE_TIME:int = 65; public function Ball(_arg1:InstanceObject){ body = _arg1.content.bodyList.body; body.object = this; sprite = body.sprite; initX = (_arg1.getVar(Vars.INIT_X) / 100); initY = (_arg1.getVar(Vars.INIT_Y) / 100); delay = _arg1.getVar(Vars.DELAY); if (delay != 0){ isActive = false; }; } private function timerTick(_arg1:Event):void{ timer++; if (timer == delay){ stopTimer(); applyImpulse(); }; } public function removeBrakeTween():void{ if (isBraking){ Tweener.removeTweens(body, ["m_angularVelocity"]); }; } public function stopTimer():void{ if (sprite.hasEventListener(Event.ENTER_FRAME)){ sprite.removeEventListener(Event.ENTER_FRAME, timerTick); }; } public function startBraking():void{ var _local2:Object; var _local1:int = (Math.abs(body.m_angularVelocity) / BRAKE_STEP); if (_local1 > MIN_BRAKE_TIME){ _local1 = MIN_BRAKE_TIME; }; if (!isBraking){ isBraking = true; _local2 = {m_angularVelocity:0, useFrames:true, time:_local1, onComplete:stopBraking, transition:Transition.LINEAR}; Tweener.addTween(body, _local2); }; } private function applyImpulse():void{ isActive = true; body.ApplyImpulse(new b2Vec2(initX, initY), body.GetPosition()); } private function stopBraking():void{ body.m_linearVelocity.x = 0; isBraking = false; } override public function destroy():void{ var _local1:b2World = body.GetWorld(); _local1.DestroyBody(body); sprite.parent.removeChild(sprite); isActive = false; } public function startTimer():void{ if (timer != delay){ sprite.addEventListener(Event.ENTER_FRAME, timerTick); }; } public function spines():void{ var _local1:b2World = body.GetWorld(); _local1.DestroyBody(body); sprite.getChildAt(0).gotoAndPlay(2); isActive = false; } } }//package script.gear
Section 166
//Basket (script.gear.Basket) package script.gear { import flash.events.*; import flash.display.*; import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Collision.Shapes.*; import parser.utils.*; import tweener.*; public class Basket extends BodyObject { public var button:SimpleButton; private var door:b2Shape; public function Basket(_arg1:BodyObject){ var _local2:Sprite; super(); _local2 = _arg1.sprite; body = _arg1.body; button = _local2.getChildAt(0).btnDrop; button.x = _local2.x; button.y = _local2.y; button.enabled = false; button.useHandCursor = false; sprite = _local2.getChildAt(0).front; sprite.x = _local2.x; sprite.y = _local2.y; sprite.gotoAndStop(1); sprite.rotation = _local2.rotation; door = body.m_shapeList; } public function buttonListener():void{ button.enabled = true; button.addEventListener(MouseEvent.MOUSE_DOWN, drop); } public function correctAngle():void{ sprite.rotation = (body.GetAngle() * PhysicWorld.PI); } override public function destroy():void{ var _local1:b2World = body.GetWorld(); _local1.DestroyBody(body); button.removeEventListener(MouseEvent.MOUSE_DOWN, drop); } private function closeDoor():void{ body.AttachShape(door); } private function drop(_arg1:MouseEvent):void{ sprite.play(); if (sprite.currentFrame == 1){ body.DestroyShape(door); Tweener.addTimeout(closeDoor, 20); }; } } }//package script.gear
Section 167
//Elevator (script.gear.Elevator) package script.gear { import flash.display.*; import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Joints.*; import flash.geom.*; import script.constants.*; public class Elevator { private var elevator_R:b2Body; private var roll_L:Sprite; private var g2:b2Vec2; private var jointSprite:Sprite; private var roll_R:Sprite; private var joint:b2PulleyJoint; private var sprite_L:Sprite; private var sprite_R:Sprite; private var g1:b2Vec2; private var elevator_L:b2Body; private var canvas:Graphics; public function Elevator(_arg1:InstanceObject, _arg2:InstanceObject){ var _local4:int; var _local5:int; var _local6:int; var _local9:b2Vec2; var _local11:b2Vec2; super(); var _local3:int = _arg1.getVar(Vars.MAX_LENGTH); _local4 = _arg2.getVar(Vars.MAX_LENGTH); _local5 = _arg1.getVar(Vars.LENGTH); _local6 = _arg2.getVar(Vars.LENGTH); elevator_L = _arg1.content.bodyList.body; elevator_R = _arg2.content.bodyList.body; sprite_L = elevator_L.sprite; sprite_R = elevator_R.sprite; roll_L = new Rope_Roll(); roll_L.x = sprite_L.x; roll_L.y = (sprite_L.y - _local5); roll_R = new Rope_Roll(); roll_R.x = sprite_R.x; roll_R.y = (sprite_R.y - _local6); var _local7:Sprite = sprite_L.parent; _local7.addChild(roll_L); _local7.addChild(roll_R); var _local8:b2Vec2 = new b2Vec2((roll_L.x / 30), (roll_L.y / 30)); _local9 = new b2Vec2((roll_R.x / 30), (roll_R.y / 30)); var _local10:b2Vec2 = elevator_L.GetPosition(); _local11 = elevator_R.GetPosition(); _local10.y = (_local10.y - (80 / 30)); _local11.y = (_local11.y - (80 / 30)); var _local12:b2PulleyJointDef = new b2PulleyJointDef(); _local12.Initialize(elevator_L, elevator_R, _local8, _local9, _local10, _local11, 1); _local12.length1 = (_local5 / 30); _local12.length2 = (_local6 / 30); _local12.maxLength1 = (_local3 / 30); _local12.maxLength2 = (_local4 / 30); var _local13:b2World = elevator_L.GetWorld(); joint = _local13.CreateJoint(_local12); jointSprite = new Sprite(); _local7.addChildAt(jointSprite, 0); canvas = jointSprite.graphics; g1 = joint.m_groundAnchor1.Copy(); g2 = joint.m_groundAnchor2.Copy(); g1.Multiply(30); g2.Multiply(30); roll_L.x = (roll_L.x + 4); roll_L.y = (roll_L.y + 4); roll_R.x = (roll_R.x - 4); roll_R.y = (roll_R.y + 4); drawRope(); } public function drawRope():void{ var _local1:Point = new Point(sprite_L.x, (sprite_L.y - 80)); var _local2:Point = new Point(sprite_R.x, (sprite_R.y - 80)); canvas.clear(); canvas.lineStyle(5, 6244142); canvas.moveTo(_local1.x, _local1.y); canvas.lineTo(g1.x, g1.y); canvas.lineTo(g2.x, g2.y); canvas.lineTo(_local2.x, _local2.y); canvas.lineStyle(3, 8086334); canvas.moveTo(_local1.x, _local1.y); canvas.lineTo(g1.x, g1.y); canvas.lineTo(g2.x, g2.y); canvas.lineTo(_local2.x, _local2.y); canvas.lineStyle(1, 11109204); canvas.moveTo(_local1.x, _local1.y); canvas.lineTo(g1.x, g1.y); canvas.lineTo(g2.x, g2.y); canvas.lineTo(_local2.x, _local2.y); } } }//package script.gear
Section 168
//Island (script.gear.Island) package script.gear { import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Common.Math.*; import parser.box2d.Dynamics.Contacts.*; import script.constants.*; public class Island extends BodyObject { private const BRAKE_ZONE:Number = 0.25; private const MIN_SPEED:Number = 0.25; private var lowerLimit:int; private var horisontal:Boolean; private var upperBreak:int; private var currentSpeed:Number; private var speed:Number; private var brake:Number; private var minSpeed:Number; private var upperLimit:int; private var lowerBreak:int; public function Island(_arg1:InstanceObject){ body = _arg1.content.bodyList.body; body.object = this; body.isDynamic = true; sprite = body.sprite; upperLimit = _arg1.getVar(Vars.UPPER_LIMIT); lowerLimit = _arg1.getVar(Vars.LOWER_LIMIT); horisontal = _arg1.getVar(Vars.HORISONTAL); speed = (_arg1.getVar(Vars.SPEED) / 30); minSpeed = (speed * MIN_SPEED); currentSpeed = speed; var _local2:int = (upperLimit - lowerLimit); var _local3:Number = (_local2 * BRAKE_ZONE); upperBreak = (upperLimit - _local3); lowerBreak = (lowerLimit + _local3); brake = ((speed / ((_local2 / 30) / speed)) * 2); } public function setAlias(_arg1:Number):void{ body.alias = _arg1; } public function move():void{ var _local2:Number; var _local4:b2Body; var _local1:b2Vec2 = body.GetPosition(); if (horisontal){ _local2 = sprite.x; } else { _local2 = sprite.y; }; if (_local2 < lowerLimit){ minSpeed = (Math.abs(speed) * MIN_SPEED); } else { if (_local2 > upperLimit){ minSpeed = (-(Math.abs(speed)) * MIN_SPEED); }; }; if (_local2 < lowerBreak){ currentSpeed = (currentSpeed + brake); } else { if (_local2 > upperBreak){ currentSpeed = (currentSpeed - brake); }; }; if (Math.abs(currentSpeed) < Math.abs(minSpeed)){ currentSpeed = minSpeed; }; if (horisontal){ _local1.x = (_local1.x + currentSpeed); } else { _local1.y = (_local1.y + currentSpeed); }; body.SetXForm(_local1); var _local3:b2ContactEdge = body.m_contactList; while (_local3) { if ((_local3.other.object is Ball)){ _local4 = _local3.other; pos = _local4.GetPosition(); if (horisontal){ pos.x = (pos.x + currentSpeed); } else { pos.y = (pos.y + currentSpeed); }; _local4.SetXForm(pos); }; _local3 = _local3.next; }; } } }//package script.gear
Section 169
//SpokeV (script.gear.SpokeV) package script.gear { import flash.display.*; import parser.objects.*; import parser.box2d.Common.Math.*; import flash.geom.*; import script.constants.*; public class SpokeV extends BodyObject { private var maxY:Number; private var speed:Number; private var nodeY:int; public var ropeMask:Sprite; private var minY:Number; public function SpokeV(_arg1:InstanceObject){ var _local4:b2Vec2; super(); body = _arg1.content.bodyList.body; sprite = body.sprite; speed = (_arg1.getVar(Vars.SPEED) / 30); nodeY = _arg1.content.spriteList.sprite.y; var _local2:Rectangle = sprite.getRect(sprite.parent); ropeMask = new Sprite(); ropeMask.graphics.beginFill(0); ropeMask.graphics.drawRect(_local2.x, _local2.y, _local2.width, _local2.height); ropeMask.graphics.endFill(); var _local3:int = _arg1.getVar(Vars.INIT_Y); sprite.y = (_local3 + nodeY); sprite.mask = ropeMask; _local4 = body.GetPosition(); _local4.y = ((_local3 + nodeY) / 30); body.SetXForm(_local4); body.isDynamic = true; maxY = ((nodeY + 195) / 30); minY = ((nodeY + 60) / 30); } public function move():void{ var _local1:b2Vec2 = body.GetPosition(); if (_local1.y > maxY){ speed = -(Math.abs(speed)); }; if (_local1.y < minY){ speed = Math.abs(speed); }; _local1.y = (_local1.y + speed); body.SetXForm(_local1); } } }//package script.gear
Section 170
//Spring (script.gear.Spring) package script.gear { import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Dynamics.Joints.*; import tweener.*; public class Spring extends BodyObject { private const SPRING_POWER:int = 7; public var enabled:Boolean; private var joint:b2PrismaticJoint; public function Spring(_arg1:InstanceObject){ sprite = _arg1.content.spriteList.sprite; body = _arg1.content.bodyList.body; body.object = this; joint = body.m_jointList.joint; joint.m_motorSpeed = SPRING_POWER; joint.m_maxMotorForce = 1000; } public function enableSpring():void{ if (!enabled){ Tweener.addTimeout(disableSpring, 5); joint.EnableMotor(true); sprite.play(); enabled = true; }; } private function disableSpring():void{ enabled = false; joint.EnableMotor(false); } override public function destroy():void{ var _local1:b2World = body.GetWorld(); _local1.DestroyJoint(joint); _local1.DestroyBody(body); } } }//package script.gear
Section 171
//Stick (script.gear.Stick) package script.gear { import flash.events.*; import flash.display.*; import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Collision.Shapes.*; import parser.box2d.Common.Math.*; import flash.geom.*; import parser.box2d.Dynamics.Contacts.*; import parser.utils.*; import script.constants.*; import tweener.*; public class Stick extends BodyObject { private const BALL_RADIUS:int = 25; private const STICK_WIDTH:int = 63; private const MAX_ANGLE:int = 90; private var parent:Sprite; private var isActive:Boolean;// = true private var stickShape:b2Shape; public function Stick(_arg1:int, _arg2:int, _arg3:Sprite){ this.parent = _arg3; sprite = new StickSprite(); sprite.x = _arg1; sprite.y = _arg2; sprite.cross.visible = false; sprite.addEventListener(Event.ADDED_TO_STAGE, initSprite); } public function createShape(_arg1:b2World):void{ var _local2:b2PolygonDef = new b2PolygonDef(); _local2.SetAsBox((42 / 30), (4 / 30)); _local2.isSensor = true; _local2.filter.groupIndex = -1; var _local3:b2Vec2 = new b2Vec2((sprite.x / 30), (sprite.y / 30)); body = _arg1.CreateBody(new b2BodyDef()); body.id = ID.GROUND; body.SetXForm(_local3); stickShape = body.CreateShape(_local2); } private function stopRotation(_arg1:MouseEvent):void{ var _local2:b2World; parent.removeEventListener(Event.ENTER_FRAME, rotateStrick); parent.removeEventListener(MouseEvent.MOUSE_UP, stopRotation); if (isActive){ sprite.gotoAndStop(1); stickShape.m_isSensor = false; body.DestroyShape(stickShape); body.AttachShape(stickShape); } else { _local2 = body.GetWorld(); _local2.DestroyBody(body); sprite.visible = false; }; } private function initSprite(_arg1:Event):void{ sprite.removeEventListener(Event.ADDED_TO_STAGE, initSprite); sprite.gotoAndStop(2); parent.addEventListener(Event.ENTER_FRAME, rotateStrick); parent.addEventListener(MouseEvent.MOUSE_UP, stopRotation); } override public function destroy():void{ var _local1:b2World = body.GetWorld(); _local1.DestroyBody(body); } private function rotateStrick(_arg1:Event):void{ var _local4:b2Body; var _local5:Sprite; var _local7:int; var _local2:int = (parent.mouseY - sprite.y); if (_local2 > MAX_ANGLE){ _local2 = MAX_ANGLE; }; if (_local2 < -(MAX_ANGLE)){ _local2 = -(MAX_ANGLE); }; body.SetXForm(body.GetPosition(), (_local2 * Importer.PI)); sprite.rotation = _local2; var _local3:b2ContactEdge = body.m_contactList; isActive = true; sprite.cross.visible = false; var _local6:Point = new Point(); while (_local3) { _local4 = _local3.other; if ((_local4.object is Ball)){ _local5 = _local4.object.sprite; _local6.x = _local5.x; _local6.y = _local5.y; _local6 = sprite.globalToLocal(_local6); if ((((Math.abs(_local6.x) < STICK_WIDTH)) && ((Math.abs(_local6.y) < BALL_RADIUS)))){ sprite.cross.visible = true; isActive = false; }; } else { if (_local4.m_shapeList.m_filter.groupIndex == 1){ sprite.cross.visible = true; isActive = false; }; }; _local3 = _local3.next; }; } } }//package script.gear
Section 172
//Truck (script.gear.Truck) package script.gear { import parser.objects.*; import parser.box2d.Dynamics.Joints.*; import script.constants.*; public class Truck extends BasicObject { private var bodies:Array; private var motors:Array; public function Truck(_arg1:InstanceObject){ var _local7:BodyObject; var _local8:JointObject; var _local9:b2RevoluteJoint; bodies = []; motors = []; super(); var _local2:Number = _arg1.getVar(Vars.SPEED); var _local3:Number = _arg1.getVar(Vars.TORQUE); var _local4:Boolean = _arg1.getVar(Vars.AUTO_START); var _local5:Array = _arg1.content.getAllObjects(); var _local6:Array = _arg1.content.getAllJoints(); for each (_local7 in _local5) { _local7.body.object = this; }; for each (_local8 in _local6) { motors.push(_local8.joint); }; for each (_local9 in motors) { _local9.m_motorSpeed = _local2; _local9.m_maxMotorTorque = _local3; _local9.EnableMotor(false); }; if (_local4){ startMotor(); }; } public function startMotor():void{ var _local1:BodyObject; var _local2:b2RevoluteJoint; for each (_local1 in bodies) { _local1.body.id = ID.GROUND; }; for each (_local2 in motors) { _local2.EnableMotor(true); }; } } }//package script.gear
Section 173
//Wheel (script.gear.Wheel) package script.gear { import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Dynamics.Joints.*; import script.constants.*; public class Wheel { private var motor:b2RevoluteJoint; private var speed:Number; private var torque:Number; public function Wheel(_arg1:InstanceObject){ speed = _arg1.getVar(Vars.SPEED); torque = _arg1.getVar(Vars.TORQUE); var _local2:b2Body = _arg1.content.bodyList.body; motor = _local2.m_jointList.joint; motor.m_motorSpeed = speed; motor.m_maxMotorTorque = torque; } } }//package script.gear
Section 174
//Cursor (script.input.Cursor) package script.input { import flash.display.*; import parser.box2d.Dynamics.*; import parser.objects.*; import parser.box2d.Common.Math.*; import tweener.*; public class Cursor extends CursorSprite { private const PUSH_POWER:Number = 0.05; private const PUSH_X:int = 45; private const PUSH_Y:int = 25; public var isActive:Boolean;// = true public var target:b2Body; public var prevObject:BasicObject; public function Cursor(){ mouseChildren = false; mouseEnabled = false; } public function setObject(_arg1:BasicObject):void{ prevObject = _arg1; } public function removeObject():void{ var _local1:Sprite; var _local2:Object; if (prevObject){ _local1 = prevObject.sprite; _local2 = {alpha:0, scaleX:0.8, scaleY:0.8, time:15, useFrames:true, transition:Transition.LINEAR, onComplete:_local1.parent.removeChild, onCompleteParams:[_local1]}; Tweener.addTween(_local1, _local2); prevObject.destroy(); }; } public function push():void{ var _local1:b2Vec2; var _local2:b2Vec2; if (((target) && (target.object.isActive))){ _local2 = target.GetPosition(); _local2.x = (_local2.x * 30); _local2.y = (_local2.y * 30); target.object.removeBrakeTween(); if ((((Math.abs((_local2.x - x)) < PUSH_X)) && ((Math.abs((_local2.y - y)) < PUSH_Y)))){ if (scaleX > 0){ _local1 = new b2Vec2(-(PUSH_POWER), 0); } else { _local1 = new b2Vec2(PUSH_POWER, 0); }; target.ApplyImpulse(_local1, target.GetWorldCenter()); this.getChildAt(0).play(); }; }; } } }//package script.input
Section 175
//Music (script.media.Music) package script.media { import flash.events.*; import flash.display.*; import flash.media.*; public class Music extends Sprite { public var enabled:Boolean;// = true private var currentTrack:int;// = 0 private var volume:Number;// = 1 private var musicChannel:SoundChannel; private static const FADE:Number = 0.05; private static var track_1:Sound = (new Music_1() as Sound); private static var track_2:Sound = (new Music_2() as Sound); private function playCurrentTrack():void{ volume = 1; if (musicChannel){ musicChannel.stop(); }; musicChannel = Music[("track_" + currentTrack)].play(0, 99); musicChannel.soundTransform = new SoundTransform(volume); } public function switchMusic(_arg1:Boolean):void{ removeEventListener(Event.ENTER_FRAME, fadeOut); if (((enabled) && (!(_arg1)))){ addEventListener(Event.ENTER_FRAME, fadeOut); }; if (((!(enabled)) && (_arg1))){ playCurrentTrack(); }; enabled = _arg1; } public function playTrack(_arg1:int):void{ if (enabled){ if (currentTrack == 0){ currentTrack = _arg1; playCurrentTrack(); } else { if (_arg1 != currentTrack){ currentTrack = _arg1; addEventListener(Event.ENTER_FRAME, fadeOut); }; }; } else { currentTrack = _arg1; }; } private function fadeOut(_arg1:Event):void{ volume = (volume - FADE); musicChannel.soundTransform = new SoundTransform(volume); if (volume <= 0){ musicChannel.stop(); if (enabled){ playCurrentTrack(); }; removeEventListener(Event.ENTER_FRAME, fadeOut); }; } } }//package script.media
Section 176
//Sounds (script.media.Sounds) package script.media { import flash.media.*; public class Sounds { public static var sndSpring:Sound = (new SndSpring() as Sound); public static var sndComplete:Sound = (new SndComplete() as Sound); public static var sndStar:Sound = (new SndStar() as Sound); public static var sndClose:Sound = (new SndClose() as Sound); public static var sndOpen:Sound = (new SndOpen() as Sound); public static var sndChange:Sound = (new SndChange() as Sound); public static var sndBlow:Sound = (new SndBlow() as Sound); public static var sndClick:Sound = (new SndClick() as Sound); } }//package script.media
Section 177
//CompleteMenu (script.menu.CompleteMenu) package script.menu { import flash.events.*; import script.*; import flash.filters.*; public class CompleteMenu extends CompleteScreen { private var main:Main; public function CompleteMenu(){ main = Main.main; super(); filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; btnNextLevel.addEventListener(MouseEvent.CLICK, nextLevel); btnSelectLevel.addEventListener(MouseEvent.CLICK, selectLevel); btnFunFlow.addEventListener(MouseEvent.CLICK, Links.sponsorLogo); } private function nextLevel(_arg1:MouseEvent):void{ main.score.saveGame(); main.nextLevel(); } public function showMessage(_arg1:String):void{ fldMessage.text = _arg1; } private function selectLevel(_arg1:MouseEvent):void{ main.score.saveGame(); main.game.lock(); main.showLevelMenu().addEventListener(Event.CLOSE, main.game.unlock); } } }//package script.menu
Section 178
//Credits (script.menu.Credits) package script.menu { public class Credits extends Paper { private var credits:CreditsScreen; public function Credits(){ credits = new CreditsScreen(); info.addChild(credits); } } }//package script.menu
Section 179
//FinishMenu (script.menu.FinishMenu) package script.menu { import flash.events.*; import script.*; import com.midasplayer.*; public class FinishMenu extends FinishScreen { private var main:Main; public function FinishMenu(){ main = Main.main; super(); btnSubmit.addEventListener(MouseEvent.CLICK, submitScore); btnMainMenu.addEventListener(MouseEvent.CLICK, mainMenu); btnFunFlow.addEventListener(MouseEvent.CLICK, Links.sponsorLogo); } private function mainMenu(_arg1:MouseEvent):void{ main.fromGameToMenu(); } private function submitScore(_arg1:MouseEvent):void{ FunflowAPI.submitScore(main.score.total); main.fromGameToMenu(); } } }//package script.menu
Section 180
//GameMenu (script.menu.GameMenu) package script.menu { import flash.events.*; import script.render.*; import script.*; import tweener.*; import flash.filters.*; public class GameMenu extends GameMenuSprite { private const SHOW_TIME:Number = 0.5; private var main:Main; public function GameMenu(){ main = Main.main; super(); back.cacheAsBitmap = true; btnWalkthrough.addEventListener(MouseEvent.CLICK, Links.walkthough); btnResume.addEventListener(MouseEvent.CLICK, resumeGame); btnSelectLevel.addEventListener(MouseEvent.CLICK, selectLevel); btnRestart.addEventListener(MouseEvent.CLICK, restartLevel); btnMainMenu.addEventListener(MouseEvent.CLICK, mainMenu); btnSound.addEventListener(MouseEvent.CLICK, switchSound); btnMusic.addEventListener(MouseEvent.CLICK, switchMusic); addEventListener(Event.ADDED_TO_STAGE, init); } private function remove():void{ main.game.uncacheGameScreen(); parent.removeChild(this); main.game.startProgress(); } private function selectLevel(_arg1:MouseEvent):void{ main.game.lock(); main.showLevelMenu().addEventListener(Event.CLOSE, main.game.unlock); } private function init(_arg1:Event):void{ if (main.sound){ btnSound.gotoAndStop(1); } else { btnSound.gotoAndStop(2); }; if (main.music.enabled){ btnMusic.gotoAndStop(1); } else { btnMusic.gotoAndStop(2); }; y = -500; Tweener.addTween(this, {y:0, time:SHOW_TIME, transition:Transition.QUAD_OUT}); mouseEnabled = true; mouseChildren = true; } private function switchMusic(_arg1:MouseEvent):void{ if (main.music.enabled){ main.music.switchMusic(false); btnMusic.gotoAndStop(2); } else { main.music.switchMusic(true); btnMusic.gotoAndStop(1); }; } private function restartLevel(_arg1:MouseEvent):void{ main.game.uncacheGameScreen(); main.game.startProgress(); main.restartLevel(); } private function mainMenu(_arg1:MouseEvent):void{ main.game.uncacheGameScreen(); main.fromGameToMenu(); } private function switchSound(_arg1:MouseEvent):void{ if (main.sound){ main.sound = false; btnSound.gotoAndStop(2); } else { main.sound = true; btnSound.gotoAndStop(1); }; } private function walkthrough(_arg1:MouseEvent):void{ } private function resumeGame(_arg1:MouseEvent):void{ Tweener.addTween(this, {y:500, time:SHOW_TIME, onComplete:remove, transition:Transition.QUAD_IN}); mouseEnabled = false; mouseChildren = false; } } }//package script.menu
Section 181
//GameOverMenu (script.menu.GameOverMenu) package script.menu { import flash.events.*; import script.*; import flash.filters.*; public class GameOverMenu extends GameOverScreen { private var main:Main; public function GameOverMenu(){ main = Main.main; super(); filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; btnTryAgain.addEventListener(MouseEvent.CLICK, tryAgain); btnWalkthrough.addEventListener(MouseEvent.CLICK, Links.walkthough); btnMoreGames.addEventListener(MouseEvent.CLICK, moreGames); } private function gotoFacebook(_arg1:MouseEvent):void{ } private function tryAgain(_arg1:MouseEvent):void{ main.restartLevel(); } public function showMessage(_arg1:String):void{ fldMessage.text = _arg1; } private function moreGames(_arg1:MouseEvent):void{ } private function walkthrough(_arg1:MouseEvent):void{ } } }//package script.menu
Section 182
//LevelButton (script.menu.LevelButton) package script.menu { public class LevelButton extends LevelButtonSprite { public var number:int; public function LevelButton(_arg1:int){ this.number = _arg1; num.text = _arg1; num.mouseEnabled = false; stars.mouseEnabled = false; } public function unlock():void{ alpha = 1; mouseEnabled = true; mouseChildren = true; prevFrame(); } public function lock():void{ alpha = 0.3; mouseEnabled = false; mouseChildren = false; prevFrame(); } } }//package script.menu
Section 183
//LevelMenu (script.menu.LevelMenu) package script.menu { import flash.events.*; import script.*; public class LevelMenu extends Paper { private const LINE_SIZE:int = 6; private const BTN_STEP:int = 48; private const LINES:Array; private var buttons:Array; private var menu:LevelMenuScreen; private var main:Main; public function LevelMenu(){ main = Main.main; buttons = []; LINES = [92, 171, 251, 331]; super(); menu = new LevelMenuScreen(); menu.preview.gotoAndStop("end"); menu.btnEraseScores.addEventListener(MouseEvent.CLICK, eraseScores); info.addChild(menu); addButtons(); addEventListener(Event.ADDED_TO_STAGE, update); } public function addButtons():void{ var _local2:int; var _local3:LevelButton; var _local1:int; while (_local1 < LINES.length) { _local2 = 0; while (_local2 < LINE_SIZE) { _local3 = new LevelButton(((_local1 * LINE_SIZE) + (_local2 + 1))); _local3.x = (28 + (BTN_STEP * _local2)); _local3.y = LINES[_local1]; _local3.addEventListener(MouseEvent.CLICK, pressButton); _local3.addEventListener(MouseEvent.MOUSE_OVER, overButton); _local3.addEventListener(MouseEvent.MOUSE_OUT, outButton); menu.addChild(_local3); buttons.push(_local3); _local2++; }; _local1++; }; } private function eraseScores(_arg1:MouseEvent):void{ main.score.clear(); update(); } private function overButton(_arg1:MouseEvent):void{ var _local2:LevelButton = _arg1.currentTarget; var _local3:int = _local2.number; var _local4:int = main.score.bestScore[(_local3 - 1)]; menu.preview.gotoAndStop(_arg1.currentTarget.number); menu.fldLevel.text = ("Level " + _local3); menu.fldBestScore.text = ("Best score: " + _local4); menu.stars.gotoAndStop(_local2.stars.currentFrame); } private function update(_arg1:Event=null):void{ var _local3:LevelButton; var _local4:int; var _local2:int = main.score.getOpened(); var _local5:int; while (_local5 < buttons.length) { _local3 = buttons[_local5]; _local3.stars.gotoAndStop(1); if (_local5 < _local2){ _local3.unlock(); } else { _local3.lock(); }; if (main.score.solved[_local5]){ _local4 = main.score.bestScore[_local5]; _local3.nextFrame(); if ((((_local4 >= 65)) && ((_local4 < 80)))){ _local3.stars.gotoAndStop(2); }; if ((((_local4 >= 80)) && ((_local4 < 95)))){ _local3.stars.gotoAndStop(3); }; if (_local4 >= 95){ _local3.stars.gotoAndStop(4); }; }; _local5++; }; menu.fldTotalScore.text = ("Total Score: " + main.score.total); menu.fldBestScore.text = "Best score:"; menu.fldLevel.text = "Level"; menu.stars.gotoAndStop(1); } private function outButton(_arg1:MouseEvent):void{ menu.preview.gotoAndStop("end"); menu.fldBestScore.text = "Best score:"; menu.fldLevel.text = "Level"; menu.stars.gotoAndStop(1); } private function pressButton(_arg1:MouseEvent):void{ main.startLevel(_arg1.currentTarget.number); hidePaper(); } } }//package script.menu
Section 184
//MainMenu (script.menu.MainMenu) package script.menu { import flash.events.*; import script.*; public class MainMenu extends MainMenuScreen { private var main:Main; public function MainMenu(){ main = Main.main; super(); btnPlayGame.addEventListener(MouseEvent.CLICK, startGame); btnHiScores.addEventListener(MouseEvent.CLICK, Links.hiScores); btnMoreGames.addEventListener(MouseEvent.CLICK, Links.moreGames); btnCredits.addEventListener(MouseEvent.CLICK, credits); btnHostGame.addEventListener(MouseEvent.CLICK, Links.hostGame); btnFunFlow.addEventListener(MouseEvent.CLICK, Links.sponsorLogo); btnMusic.addEventListener(MouseEvent.CLICK, switchMusic); btnSound.addEventListener(MouseEvent.CLICK, switchSound); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(_arg1:Event):void{ if (main.sound){ btnSound.gotoAndStop(1); } else { btnSound.gotoAndStop(2); }; if (main.music.enabled){ btnMusic.gotoAndStop(1); } else { btnMusic.gotoAndStop(2); }; } private function switchMusic(_arg1:MouseEvent):void{ if (main.music.enabled){ main.music.switchMusic(false); btnMusic.gotoAndStop(2); } else { main.music.switchMusic(true); btnMusic.gotoAndStop(1); }; } private function startGame(_arg1:MouseEvent):void{ lock(); main.showLevelMenu().addEventListener(Event.CLOSE, unlock); } private function credits(_arg1:MouseEvent):void{ lock(); main.showCredits().addEventListener(Event.CLOSE, unlock); } private function switchSound(_arg1:MouseEvent):void{ if (main.sound){ main.sound = false; btnSound.gotoAndStop(2); } else { main.sound = true; btnSound.gotoAndStop(1); }; } public function unlock(_arg1:Event):void{ _arg1.currentTarget.removeEventListener(Event.CLOSE, unlock); mouseEnabled = true; mouseChildren = true; } public function lock():void{ mouseEnabled = false; mouseChildren = false; } } }//package script.menu
Section 185
//Paper (script.menu.Paper) package script.menu { import flash.events.*; import script.*; import script.media.*; import flash.filters.*; public class Paper extends PaperSprite { private var main:Main; public function Paper(){ main = Main.main; super(); filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; addEventListener(Event.ADDED_TO_STAGE, init); btnMainMenu.addEventListener(MouseEvent.CLICK, hidePaper); } private function init(_arg1:Event):void{ if (main.sound){ Sounds.sndOpen.play(); }; mouseEnabled = true; mouseChildren = true; gotoAndPlay("Show"); } protected function hidePaper(_arg1:Event=null):void{ if (main.sound){ Sounds.sndClose.play(); }; mouseEnabled = false; mouseChildren = false; gotoAndPlay("Hide"); addEventListener(Event.ENTER_FRAME, checkEndFrame); } private function checkEndFrame(_arg1:Event):void{ if (currentFrame == totalFrames){ removeEventListener(Event.ENTER_FRAME, checkEndFrame); parent.removeChild(this); dispatchEvent(new Event(Event.CLOSE)); }; } } }//package script.menu
Section 186
//StartWindow (script.menu.StartWindow) package script.menu { import tweener.*; import flash.filters.*; public class StartWindow extends StartWindowSprite { public function StartWindow(){ filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; } public function init():void{ } private function removeThis():void{ parent.removeChild(this); } public function hideWindow():void{ if (!parent){ return; }; gotoAndPlay("Hide"); var _local1:Object = {alpha:0, time:10, delay:12, useFrames:true, onComplete:removeThis, transition:Transition.QUAD_IN}; Tweener.addTween(this, _local1); } } }//package script.menu
Section 187
//Tutorial_1 (script.menu.Tutorial_1) package script.menu { import tweener.*; import flash.filters.*; public class Tutorial_1 extends Tut_1_Sprite { public function Tutorial_1(){ filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; movie.stop(); } public function init():void{ movie.play(); } private function removeThis():void{ parent.removeChild(this); } public function hideWindow():void{ if (!parent){ return; }; gotoAndPlay("Hide"); var _local1:Object = {alpha:0, time:10, delay:12, useFrames:true, onComplete:removeThis, transition:Transition.QUAD_IN}; Tweener.addTween(this, _local1); } } }//package script.menu
Section 188
//Tutorial_3 (script.menu.Tutorial_3) package script.menu { import tweener.*; import flash.filters.*; public class Tutorial_3 extends Tut_3_Sprite { public function Tutorial_3(){ filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; movie.stop(); } public function init():void{ movie.play(); } private function removeThis():void{ parent.removeChild(this); } public function hideWindow():void{ if (!parent){ return; }; gotoAndPlay("Hide"); var _local1:Object = {alpha:0, time:10, delay:12, useFrames:true, onComplete:removeThis, transition:Transition.QUAD_IN}; Tweener.addTween(this, _local1); } } }//package script.menu
Section 189
//Tutorial_4 (script.menu.Tutorial_4) package script.menu { import tweener.*; import flash.filters.*; public class Tutorial_4 extends Tut_4_Sprite { public function Tutorial_4(){ filters = [new DropShadowFilter(4, 60, 0, 0.8, 20, 20)]; movie.stop(); } public function init():void{ movie.play(); } private function removeThis():void{ parent.removeChild(this); } public function hideWindow():void{ if (!parent){ return; }; gotoAndPlay("Hide"); var _local1:Object = {alpha:0, time:10, delay:12, useFrames:true, onComplete:removeThis, transition:Transition.QUAD_IN}; Tweener.addTween(this, _local1); } } }//package script.menu
Section 190
//CachedBitmap (script.render.CachedBitmap) package script.render { import flash.display.*; public class CachedBitmap extends Sprite { private var sourceSprite:Sprite; private var index:int; private var sourceParent:Sprite; private var bitmap:BitmapData; public function CachedBitmap(_arg1:Sprite, _arg2:Sprite, _arg3:int, _arg4:BitmapData){ this.sourceSprite = _arg1; this.sourceParent = _arg2; this.bitmap = _arg4; mouseChildren = false; mouseEnabled = false; } public function destroy():void{ bitmap.dispose(); sourceSprite = null; sourceParent = null; } public function returnSource():void{ sourceParent.removeChild(this); sourceParent.addChildAt(sourceSprite, index); destroy(); } } }//package script.render
Section 191
//Fade (script.render.Fade) package script.render { import flash.display.*; import flash.geom.*; import tweener.*; public class Fade { private static const BG_COLOR:uint = 0; private static const MINIMUM:int = -255; public static function fadeIn(_arg1:Sprite, _arg2:int, _arg3:int=0):Bitmap{ var _local4:DisplayObjectContainer = _arg1.parent; var _local5:int = _local4.getChildIndex(_arg1); var _local6:Bitmap = new Bitmap(new BitmapData(700, 525, false, BG_COLOR)); _local6.bitmapData.draw(_arg1); _local4.removeChild(_arg1); _local4.addChildAt(_local6, _local5); var _local7:ColorTransform = _local6.transform.colorTransform; _local7.redOffset = MINIMUM; _local7.blueOffset = MINIMUM; _local7.greenOffset = MINIMUM; _local6.transform.colorTransform = _local7; var _local8:Object = {_color_redOffset:0, _color_greenOffset:0, _color_blueOffset:0, time:_arg2, delay:_arg3, useFrames:true, transition:Transition.LINEAR}; Tweener.addTimeout(endFadeIn, _arg2, [_local6, _arg1]); Tweener.addTween(_local6, _local8); return (_local6); } private static function endFadeIn(_arg1:Bitmap, _arg2:Sprite):void{ var _local3:Sprite = _arg1.parent; var _local4:int = _local3.getChildIndex(_arg1); _local3.removeChild(_arg1); _local3.addChildAt(_arg2, _local4); _arg1.bitmapData.dispose(); _arg1 = null; } public static function fadeOut(_arg1:Sprite, _arg2:int, _arg3:int=0):void{ var _local4:DisplayObject = _arg1.parent; var _local5:int = _local4.getChildIndex(_arg1); var _local6:Bitmap = new Bitmap(new BitmapData(700, 525, false, BG_COLOR)); _local6.bitmapData.draw(_arg1); var _local7:ColorTransform = _local6.transform.colorTransform; _local4.removeChild(_arg1); _local4.addChildAt(_local6, _local5); var _local8:Object = {_color_redOffset:MINIMUM, _color_greenOffset:MINIMUM, _color_blueOffset:MINIMUM, time:_arg2, delay:_arg3, useFrames:true, transition:Transition.LINEAR}; Tweener.addTimeout(endFadeOut, _arg2, [_local6, _arg1]); Tweener.addTween(_local6, _local8); } private static function endFadeOut(_arg1:Bitmap, _arg2:Sprite):void{ _arg1.parent.removeChild(_arg1); _arg1.bitmapData.dispose(); _arg1 = null; } } }//package script.render
Section 192
//Render (script.render.Render) package script.render { import flash.display.*; import flash.geom.*; public class Render { private static const WIDTH:int = 700; private static const HEIGHT:int = 525; public static function renderDisplay(_arg1:Sprite, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=true):CachedBitmap{ var _local5:Sprite = _arg1.parent; var _local6:int = _local5.getChildIndex(_arg1); var _local7:BitmapData = new BitmapData(WIDTH, HEIGHT, _arg3, 0); _local7.draw(_arg1, null, null, null, null, true); var _local8:CachedBitmap = new CachedBitmap(_arg1, _local5, _local6, _local7); _local8.graphics.beginBitmapFill(_local7, null, false, _arg2); _local8.graphics.drawRect(0, 0, WIDTH, HEIGHT); _local8.graphics.endFill(); if (_arg4){ _local5.removeChild(_arg1); _local5.addChildAt(_local8, _local6); }; return (_local8); } } }//package script.render
Section 193
//Links (script.Links) package script { import flash.events.*; import com.midasplayer.*; public class Links { public static function hostGame(_arg1:Event=null):void{ FunflowAPI.openAddToWebsiteLink(); } public static function walkthough(_arg1:Event=null):void{ FunflowAPI.openSolutionsLink(); } public static function moreGames(_arg1:Event=null):void{ FunflowAPI.openOtherGamesLink(); } public static function sponsorLogo(_arg1:Event=null):void{ FunflowAPI.openSignLink(); } public static function hiScores(_arg1:Event=null):void{ FunflowAPI.openHighscoresLink(); } } }//package script
Section 194
//Main (script.Main) package script { import flash.events.*; import script.gameplay.*; import flash.display.*; import script.render.*; import script.menu.*; import script.media.*; import com.midasplayer.*; import tweener.*; import tweener.properties.*; public class Main extends Sprite { public const RESTART_FADE:int = 15; public const MENU_FADE:int = 40; private var levelMenu:LevelMenu; public var sound:Boolean;// = true private var finishMenu:FinishMenu; public var score:ScoreSystem; private var credits:Credits; public var music:Music; private var gameOverMenu:GameOverMenu; public var levelNumber:int;// = 1 private var gameMenu:GameMenu; public var game:Game; private var mainMenu:MainMenu; private var completeMenu:CompleteMenu; public static var main:Main; public function Main():void{ if (stage){ init(); } else { addEventListener(Event.ADDED_TO_STAGE, init); }; } public function startLevel(_arg1:int):void{ levelNumber = _arg1; Tweener.removeAllTweens(); Tweener.addTimeout(playGame, MENU_FADE); if (contains(mainMenu)){ Fade.fadeOut(mainMenu, MENU_FADE); }; if (((game) && (contains(game)))){ Fade.fadeOut(game, MENU_FADE); game.destroy(); }; } private function playGame(_arg1:Event=null):void{ if (game){ game.destroy(); }; game = new Game(levelNumber); game.start(Levels[("level_" + levelNumber)], Levels.instances); game.setLevelNumber(levelNumber); addChildAt(game, 0); Fade.fadeIn(game, RESTART_FADE); game.addEventListener(GameEvent.GAME_OVER, gameOver); game.addEventListener(GameEvent.LEVEL_COMPLETE, levelComplete); game.addEventListener(GameEvent.RESTART_LEVEL, restartLevel); game.addEventListener(GameEvent.SHOW_GAME_MENU, showGameMenu); if (levelNumber < 6){ music.playTrack(2); } else { if (levelNumber < 12){ music.playTrack(1); } else { if (levelNumber < 18){ music.playTrack(2); } else { if (levelNumber < 24){ music.playTrack(1); }; }; }; }; } public function showGameMenu(_arg1:GameEvent=null):void{ game.addChild(gameMenu); } private function init(_arg1:Event=null):void{ removeEventListener(Event.ADDED_TO_STAGE, init); main = this; mainMenu = new MainMenu(); credits = new Credits(); levelMenu = new LevelMenu(); gameMenu = new GameMenu(); completeMenu = new CompleteMenu(); gameOverMenu = new GameOverMenu(); finishMenu = new FinishMenu(); music = new Music(); score = new ScoreSystem(); showMainMenu(); stage.focus = this; score.loadGame(); music.playTrack(2); } public function showMainMenu():void{ addChildAt(mainMenu, 0); Fade.fadeIn(mainMenu, MENU_FADE); } public function fromGameToMenu():void{ Tweener.addTimeout(showMainMenu, RESTART_FADE); Fade.fadeOut(game, RESTART_FADE); game.removeEventListener(GameEvent.GAME_OVER, gameOver); game.removeEventListener(GameEvent.LEVEL_COMPLETE, levelComplete); game.removeEventListener(GameEvent.RESTART_LEVEL, restartLevel); game.removeEventListener(GameEvent.SHOW_GAME_MENU, showGameMenu); game.destroy(); } private function levelComplete(_arg1:GameEvent):void{ var _local2:Boolean; if (sound){ Sounds.sndComplete.play(); }; if (score.getSolved() == (ScoreSystem.LEVELS - 1)){ _local2 = true; }; score.solveLevel(levelNumber, game.getTime()); if (((_local2) && ((score.getSolved() == ScoreSystem.LEVELS)))){ game.addChild(finishMenu); finishMenu.gotoAndPlay(2); finishMenu.fldTotalScore.text = ("Total score: " + score.total); } else { game.addChild(completeMenu); completeMenu.gotoAndPlay(2); completeMenu.fldLevelScore.text = ("Level score: " + game.getTime()); completeMenu.fldTotalScore.text = ("Total score: " + score.total); }; } public function nextLevel():void{ if (FunflowAPI.isHome){ FunflowAPI.submitLevel(levelNumber); }; if (levelNumber < ScoreSystem.LEVELS){ levelNumber++; restartLevel(); } else { showLevelMenu(); }; } public function showCredits():Sprite{ return (addChild(credits)); } private function gameOver(_arg1:GameEvent):void{ if (sound){ Sounds.sndOpen.play(); }; game.addChild(gameOverMenu); gameOverMenu.showMessage(_arg1.message); gameOverMenu.gotoAndPlay(2); } public function showLevelMenu():Sprite{ return (addChild(levelMenu)); } public function restartLevel(_arg1:GameEvent=null):void{ Tweener.removeAllTweens(); Tweener.addTimeout(playGame, RESTART_FADE); Fade.fadeOut(game, RESTART_FADE); game.destroy(); } } }//package script
Section 195
//Preloader (script.Preloader) package script { import flash.events.*; import flash.display.*; import com.midasplayer.extras.*; import flash.filters.*; import tweener.*; import flash.utils.*; import script.render.*; import tweener.properties.*; import com.midasplayer.*; import flash.system.*; public class Preloader extends MovieClip { private var MOCHI:String;// = "320c4907" private var back:Background; private var preloader:PreloaderScreen; private var GAME_NAME:String;// = "go-home-ball-2" public function Preloader(){ stage.displayState = "normal"; stage.frameRate = 45; stage.stageFocusRect = false; stage.showDefaultContextMenu = false; FunflowAPI.addEventListener(FunflowAPI.INITIALIZED_EVENT, funflowInit); FunflowAPI.addEventListener(FunflowAPI.HOST_BANNED_EVENT, funflowInit); FunflowAPI.init(GAME_NAME, loaderInfo); addEventListener(Event.ENTER_FRAME, checkFrame); loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener); back = new Background(); preloader = new PreloaderScreen(); preloader.btnPlay.visible = false; preloader.filters = [new DropShadowFilter(4, 55, 0, 0.4, 15, 15)]; addChild(back); addChild(preloader); preloader.btnFunFlow.addEventListener(MouseEvent.CLICK, Links.sponsorLogo); } private function progressListener(_arg1:ProgressEvent):void{ var _local2:Number = _arg1.bytesLoaded; var _local3:Number = _arg1.bytesTotal; var _local4:int = Math.floor((17 * (_local2 / _local3))); preloader.fldPrecent.text = (Math.round((100 * (_local2 / _local3))) + "%"); preloader.bar.gotoAndStop(_local4); } private function checkFrame(_arg1:Event):void{ if (currentFrame == totalFrames){ removeEventListener(Event.ENTER_FRAME, checkFrame); preloader.btnPlay.visible = true; preloader.btnPlay.addEventListener(MouseEvent.MOUSE_DOWN, loadingComplete); preloader.removeChild(preloader.fldPrecent); ColorShortcuts.init(); FilterShortcuts.init(); }; } private function playGame():void{ stop(); loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressListener); if (contains(back)){ removeChild(back); }; removeChild(preloader); var _local1:Class = (getDefinitionByName("script.Main") as Class); addChild((new (_local1) as DisplayObject)); } private function loadingComplete(_arg1:MouseEvent):void{ preloader.mouseEnabled = false; preloader.mouseChildren = false; preloader.gotoAndPlay("Hide"); addEventListener(Event.ENTER_FRAME, checkHidePreloader); } private function checkHidePreloader(_arg1:Event):void{ if (preloader.currentFrame == preloader.totalFrames){ removeEventListener(Event.ENTER_FRAME, checkHidePreloader); Tweener.addTimeout(playGame, 40); Fade.fadeOut(back, 40); }; } private function funflowInit(_arg1:Event):void{ MochiBot.track(this, MOCHI); } } }//package script
Section 196
//ColorShortcuts (tweener.properties.ColorShortcuts) package tweener.properties { import flash.geom.*; import flash.filters.*; import tweener.*; public class ColorShortcuts { private static var LUMINANCE_B:Number = 0.072169; private static var LUMINANCE_G:Number = 0.71516; private static var LUMINANCE_R:Number = 0.212671; public function ColorShortcuts(){ trace("This is an static class and should not be instantiated."); } public static function _color_splitter(_arg1, _arg2:Array):Array{ var _local3:Array = new Array(); if (_arg1 == null){ _local3.push({name:"_color_redMultiplier", value:1}); _local3.push({name:"_color_redOffset", value:0}); _local3.push({name:"_color_greenMultiplier", value:1}); _local3.push({name:"_color_greenOffset", value:0}); _local3.push({name:"_color_blueMultiplier", value:1}); _local3.push({name:"_color_blueOffset", value:0}); } else { _local3.push({name:"_color_redMultiplier", value:0}); _local3.push({name:"_color_redOffset", value:AuxFunctions.numberToR(_arg1)}); _local3.push({name:"_color_greenMultiplier", value:0}); _local3.push({name:"_color_greenOffset", value:AuxFunctions.numberToG(_arg1)}); _local3.push({name:"_color_blueMultiplier", value:0}); _local3.push({name:"_color_blueOffset", value:AuxFunctions.numberToB(_arg1)}); }; return (_local3); } public static function _contrast_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:Number; var _local6:Number; _local5 = (_arg2 + 1); _local6 = Math.round((_arg2 * -128)); var _local7:ColorTransform = new ColorTransform(_local5, _local5, _local5, 1, _local6, _local6, _local6, 0); _arg1.transform.colorTransform = _local7; } public static function _brightness_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local4:Boolean = _arg2[0]; var _local5:ColorTransform = _arg1.transform.colorTransform; var _local6:Number = (1 - (((_local5.redMultiplier + _local5.greenMultiplier) + _local5.blueMultiplier) / 3)); var _local7:Number = (((_local5.redOffset + _local5.greenOffset) + _local5.blueOffset) / 3); if (_local4){ return (((_local7 > 0)) ? (_local7 / 0xFF) : -(_local6)); //unresolved jump }; return ((_local7 / 100)); } public static function _saturation_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local4:Array = getObjectMatrix(_arg1); var _local5:Boolean = _arg2[0]; var _local6:Number = (_local5) ? (1 / 3) : LUMINANCE_R; var _local7:Number = (_local5) ? (1 / 3) : LUMINANCE_G; var _local8:Number = (_local5) ? (1 / 3) : LUMINANCE_B; var _local9:Number = (((((_local4[0] - _local6) / (1 - _local6)) + ((_local4[6] - _local7) / (1 - _local7))) + ((_local4[12] - _local8) / (1 - _local8))) / 3); var _local10:Number = (1 - (((((((_local4[1] / _local7) + (_local4[2] / _local8)) + (_local4[5] / _local6)) + (_local4[7] / _local8)) + (_local4[10] / _local6)) + (_local4[11] / _local7)) / 6)); return (((_local9 + _local10) / 2)); } public static function _oldColor_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ return ((_arg1.transform.colorTransform[_arg2[0]] * 100)); } public static function _brightness_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local6:Number; var _local7:Number; var _local5:Boolean = _arg3[0]; if (_local5){ _local6 = (1 - Math.abs(_arg2)); _local7 = ((_arg2 > 0)) ? Math.round((_arg2 * 0xFF)) : 0; } else { _local6 = 1; _local7 = Math.round((_arg2 * 100)); }; var _local8:ColorTransform = new ColorTransform(_local6, _local6, _local6, 1, _local7, _local7, _local7, 0); _arg1.transform.colorTransform = _local8; } public static function _saturation_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:Boolean = _arg3[0]; var _local6:Number = (_local5) ? (1 / 3) : LUMINANCE_R; var _local7:Number = (_local5) ? (1 / 3) : LUMINANCE_G; var _local8:Number = (_local5) ? (1 / 3) : LUMINANCE_B; var _local9:Number = _arg2; var _local10:Number = (1 - _local9); var _local11:Number = (_local6 * _local10); var _local12:Number = (_local7 * _local10); var _local13:Number = (_local8 * _local10); var _local14:Array = [(_local11 + _local9), _local12, _local13, 0, 0, _local11, (_local12 + _local9), _local13, 0, 0, _local11, _local12, (_local13 + _local9), 0, 0, 0, 0, 0, 1, 0]; setObjectMatrix(_arg1, _local14); } private static function getObjectMatrix(_arg1:Object):Array{ var _local2:Number = 0; while (_local2 < _arg1.filters.length) { if ((_arg1.filters[_local2] is ColorMatrixFilter)){ return (_arg1.filters[_local2].matrix.concat()); }; _local2++; }; return ([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]); } public static function getHueDistance(_arg1:Array, _arg2:Array):Number{ return (((Math.abs((_arg1[0] - _arg2[0])) + Math.abs((_arg1[1] - _arg2[1]))) + Math.abs((_arg1[2] - _arg2[2])))); } public static function _hue_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ setObjectMatrix(_arg1, getHueMatrix(_arg2)); } public static function _hue_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local6:Number; var _local8:Number; var _local4:Array = getObjectMatrix(_arg1); var _local5:Array = []; _local5[0] = {angle:-179.9, matrix:getHueMatrix(-179.9)}; _local5[1] = {angle:180, matrix:getHueMatrix(180)}; _local6 = 0; while (_local6 < _local5.length) { _local5[_local6].distance = getHueDistance(_local4, _local5[_local6].matrix); _local6++; }; var _local7:Number = 15; _local6 = 0; while (_local6 < _local7) { if (_local5[0].distance < _local5[1].distance){ _local8 = 1; } else { _local8 = 0; }; _local5[_local8].angle = ((_local5[0].angle + _local5[1].angle) / 2); _local5[_local8].matrix = getHueMatrix(_local5[_local8].angle); _local5[_local8].distance = getHueDistance(_local4, _local5[_local8].matrix); _local6++; }; return (_local5[_local8].angle); } public static function getHueMatrix(_arg1:Number):Array{ var _local2:Number = ((_arg1 * Math.PI) / 180); var _local3:Number = LUMINANCE_R; var _local4:Number = LUMINANCE_G; var _local5:Number = LUMINANCE_B; var _local6:Number = Math.cos(_local2); var _local7:Number = Math.sin(_local2); var _local8:Array = [((_local3 + (_local6 * (1 - _local3))) + (_local7 * -(_local3))), ((_local4 + (_local6 * -(_local4))) + (_local7 * -(_local4))), ((_local5 + (_local6 * -(_local5))) + (_local7 * (1 - _local5))), 0, 0, ((_local3 + (_local6 * -(_local3))) + (_local7 * 0.143)), ((_local4 + (_local6 * (1 - _local4))) + (_local7 * 0.14)), ((_local5 + (_local6 * -(_local5))) + (_local7 * -0.283)), 0, 0, ((_local3 + (_local6 * -(_local3))) + (_local7 * -((1 - _local3)))), ((_local4 + (_local6 * -(_local4))) + (_local7 * _local4)), ((_local5 + (_local6 * (1 - _local5))) + (_local7 * _local5)), 0, 0, 0, 0, 0, 1, 0]; return (_local8); } public static function _color_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ return (_arg1.transform.colorTransform[_arg2[0]]); } public static function init():void{ Tweener.registerSpecialProperty("_color_ra", _oldColor_property_get, _oldColor_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_ga", _oldColor_property_get, _oldColor_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_ba", _oldColor_property_get, _oldColor_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_aa", _oldColor_property_get, _oldColor_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]); Tweener.registerSpecialProperty("_color_redMultiplier", _color_property_get, _color_property_set, ["redMultiplier"]); Tweener.registerSpecialProperty("_color_redOffset", _color_property_get, _color_property_set, ["redOffset"]); Tweener.registerSpecialProperty("_color_greenMultiplier", _color_property_get, _color_property_set, ["greenMultiplier"]); Tweener.registerSpecialProperty("_color_greenOffset", _color_property_get, _color_property_set, ["greenOffset"]); Tweener.registerSpecialProperty("_color_blueMultiplier", _color_property_get, _color_property_set, ["blueMultiplier"]); Tweener.registerSpecialProperty("_color_blueOffset", _color_property_get, _color_property_set, ["blueOffset"]); Tweener.registerSpecialProperty("_color_alphaMultiplier", _color_property_get, _color_property_set, ["alphaMultiplier"]); Tweener.registerSpecialProperty("_color_alphaOffset", _color_property_get, _color_property_set, ["alphaOffset"]); Tweener.registerSpecialPropertySplitter("_color", _color_splitter); Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter); Tweener.registerSpecialProperty("_brightness", _brightness_get, _brightness_set, [false]); Tweener.registerSpecialProperty("_tintBrightness", _brightness_get, _brightness_set, [true]); Tweener.registerSpecialProperty("_contrast", _contrast_get, _contrast_set); Tweener.registerSpecialProperty("_hue", _hue_get, _hue_set); Tweener.registerSpecialProperty("_saturation", _saturation_get, _saturation_set, [false]); Tweener.registerSpecialProperty("_dumbSaturation", _saturation_get, _saturation_set, [true]); } private static function setObjectMatrix(_arg1:Object, _arg2:Array):void{ var _local6:ColorMatrixFilter; var _local3:Array = _arg1.filters.concat(); var _local4:Boolean; var _local5:Number = 0; while (_local5 < _local3.length) { if ((_local3[_local5] is ColorMatrixFilter)){ _local3[_local5].matrix = _arg2.concat(); _local4 = true; }; _local5++; }; if (!_local4){ _local6 = new ColorMatrixFilter(_arg2); _local3[_local3.length] = _local6; }; _arg1.filters = _local3; } public static function _color_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:ColorTransform = _arg1.transform.colorTransform; _local5[_arg3[0]] = _arg2; _arg1.transform.colorTransform = _local5; } public static function _oldColor_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local5:ColorTransform = _arg1.transform.colorTransform; _local5[_arg3[0]] = (_arg2 / 100); _arg1.transform.colorTransform = _local5; } public static function _contrast_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local5:Number; var _local6:Number; var _local4:ColorTransform = _arg1.transform.colorTransform; _local5 = ((((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3) - 1); _local6 = ((((_local4.redOffset + _local4.greenOffset) + _local4.blueOffset) / 3) / -128); return (((_local5 + _local6) / 2)); } public static function _colorTransform_splitter(_arg1:Object, _arg2:Array):Array{ var _local3:Array = new Array(); if (_arg1 == null){ _local3.push({name:"_color_redMultiplier", value:1}); _local3.push({name:"_color_redOffset", value:0}); _local3.push({name:"_color_greenMultiplier", value:1}); _local3.push({name:"_color_greenOffset", value:0}); _local3.push({name:"_color_blueMultiplier", value:1}); _local3.push({name:"_color_blueOffset", value:0}); } else { _local3.push({name:"_color_redMultiplier", value:_arg1.redMultiplier}); _local3.push({name:"_color_redOffset", value:_arg1.redOffset}); _local3.push({name:"_color_blueMultiplier", value:_arg1.blueMultiplier}); _local3.push({name:"_color_blueOffset", value:_arg1.blueOffset}); _local3.push({name:"_color_greenMultiplier", value:_arg1.greenMultiplier}); _local3.push({name:"_color_greenOffset", value:_arg1.greenOffset}); _local3.push({name:"_color_alphaMultiplier", value:_arg1.alphaMultiplier}); _local3.push({name:"_color_alphaOffset", value:_arg1.alphaOffset}); }; return (_local3); } } }//package tweener.properties
Section 197
//FilterShortcuts (tweener.properties.FilterShortcuts) package tweener.properties { import flash.display.*; import flash.geom.*; import flash.filters.*; import tweener.*; public class FilterShortcuts { public function FilterShortcuts(){ trace("This is an static class and should not be instantiated."); } public static function init():void{ Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter); Tweener.registerSpecialProperty("_Bevel_angle", _filter_property_get, _filter_property_set, [BevelFilter, "angle"]); Tweener.registerSpecialProperty("_Bevel_blurX", _filter_property_get, _filter_property_set, [BevelFilter, "blurX"]); Tweener.registerSpecialProperty("_Bevel_blurY", _filter_property_get, _filter_property_set, [BevelFilter, "blurY"]); Tweener.registerSpecialProperty("_Bevel_distance", _filter_property_get, _filter_property_set, [BevelFilter, "distance"]); Tweener.registerSpecialProperty("_Bevel_highlightAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "highlightAlpha"]); Tweener.registerSpecialPropertySplitter("_Bevel_highlightColor", _generic_color_splitter, ["_Bevel_highlightColor_r", "_Bevel_highlightColor_g", "_Bevel_highlightColor_b"]); Tweener.registerSpecialProperty("_Bevel_highlightColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "r"]); Tweener.registerSpecialProperty("_Bevel_highlightColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "g"]); Tweener.registerSpecialProperty("_Bevel_highlightColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "highlightColor", "color", "b"]); Tweener.registerSpecialProperty("_Bevel_knockout", _filter_property_get, _filter_property_set, [BevelFilter, "knockout"]); Tweener.registerSpecialProperty("_Bevel_quality", _filter_property_get, _filter_property_set, [BevelFilter, "quality"]); Tweener.registerSpecialProperty("_Bevel_shadowAlpha", _filter_property_get, _filter_property_set, [BevelFilter, "shadowAlpha"]); Tweener.registerSpecialPropertySplitter("_Bevel_shadowColor", _generic_color_splitter, ["_Bevel_shadowColor_r", "_Bevel_shadowColor_g", "_Bevel_shadowColor_b"]); Tweener.registerSpecialProperty("_Bevel_shadowColor_r", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "r"]); Tweener.registerSpecialProperty("_Bevel_shadowColor_g", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "g"]); Tweener.registerSpecialProperty("_Bevel_shadowColor_b", _filter_property_get, _filter_property_set, [BevelFilter, "shadowColor", "color", "b"]); Tweener.registerSpecialProperty("_Bevel_strength", _filter_property_get, _filter_property_set, [BevelFilter, "strength"]); Tweener.registerSpecialProperty("_Bevel_type", _filter_property_get, _filter_property_set, [BevelFilter, "type"]); Tweener.registerSpecialProperty("_Blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]); Tweener.registerSpecialProperty("_Blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]); Tweener.registerSpecialProperty("_Blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]); Tweener.registerSpecialPropertySplitter("_ColorMatrix_matrix", _generic_matrix_splitter, [[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0], ["_ColorMatrix_matrix_rr", "_ColorMatrix_matrix_rg", "_ColorMatrix_matrix_rb", "_ColorMatrix_matrix_ra", "_ColorMatrix_matrix_ro", "_ColorMatrix_matrix_gr", "_ColorMatrix_matrix_gg", "_ColorMatrix_matrix_gb", "_ColorMatrix_matrix_ga", "_ColorMatrix_matrix_go", "_ColorMatrix_matrix_br", "_ColorMatrix_matrix_bg", "_ColorMatrix_matrix_bb", "_ColorMatrix_matrix_ba", "_ColorMatrix_matrix_bo", "_ColorMatrix_matrix_ar", "_ColorMatrix_matrix_ag", "_ColorMatrix_matrix_ab", "_ColorMatrix_matrix_aa", "_ColorMatrix_matrix_ao"]]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_rr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 0]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_rg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 1]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_rb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 2]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ra", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 3]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ro", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 4]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_gr", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 5]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_gg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 6]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_gb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 7]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ga", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 8]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_go", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 9]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_br", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 10]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_bg", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 11]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_bb", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 12]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ba", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 13]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_bo", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 14]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ar", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 15]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ag", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 16]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ab", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 17]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_aa", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 18]); Tweener.registerSpecialProperty("_ColorMatrix_matrix_ao", _filter_property_get, _filter_property_set, [ColorMatrixFilter, "matrix", "matrix", 19]); Tweener.registerSpecialProperty("_Convolution_alpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "alpha"]); Tweener.registerSpecialProperty("_Convolution_bias", _filter_property_get, _filter_property_set, [ConvolutionFilter, "bias"]); Tweener.registerSpecialProperty("_Convolution_clamp", _filter_property_get, _filter_property_set, [ConvolutionFilter, "clamp"]); Tweener.registerSpecialPropertySplitter("_Convolution_color", _generic_color_splitter, ["_Convolution_color_r", "_Convolution_color_g", "_Convolution_color_b"]); Tweener.registerSpecialProperty("_Convolution_color_r", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "r"]); Tweener.registerSpecialProperty("_Convolution_color_g", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "g"]); Tweener.registerSpecialProperty("_Convolution_color_b", _filter_property_get, _filter_property_set, [ConvolutionFilter, "color", "color", "b"]); Tweener.registerSpecialProperty("_Convolution_divisor", _filter_property_get, _filter_property_set, [ConvolutionFilter, "divisor"]); Tweener.registerSpecialProperty("_Convolution_matrixX", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixX"]); Tweener.registerSpecialProperty("_Convolution_matrixY", _filter_property_get, _filter_property_set, [ConvolutionFilter, "matrixY"]); Tweener.registerSpecialProperty("_Convolution_preserveAlpha", _filter_property_get, _filter_property_set, [ConvolutionFilter, "preserveAlpha"]); Tweener.registerSpecialProperty("_DisplacementMap_alpha", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "alpha"]); Tweener.registerSpecialPropertySplitter("_DisplacementMap_color", _generic_color_splitter, ["_DisplacementMap_color_r", "_DisplacementMap_color_r", "_DisplacementMap_color_r"]); Tweener.registerSpecialProperty("_DisplacementMap_color_r", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "r"]); Tweener.registerSpecialProperty("_DisplacementMap_color_g", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "g"]); Tweener.registerSpecialProperty("_DisplacementMap_color_b", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "color", "color", "b"]); Tweener.registerSpecialProperty("_DisplacementMap_componentX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentX"]); Tweener.registerSpecialProperty("_DisplacementMap_componentY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "componentY"]); Tweener.registerSpecialProperty("_DisplacementMap_mapBitmap", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapBitmap"]); Tweener.registerSpecialPropertySplitter("_DisplacementMap_mapPoint", _generic_point_splitter, ["_DisplacementMap_mapPoint_x", "_DisplacementMap_mapPoint_y"]); Tweener.registerSpecialProperty("_DisplacementMap_mapPoint_x", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint", "point", "x"]); Tweener.registerSpecialProperty("_DisplacementMap_mapPoint_y", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mapPoint", "point", "y"]); Tweener.registerSpecialProperty("_DisplacementMap_mode", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "mode"]); Tweener.registerSpecialProperty("_DisplacementMap_scaleX", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleX"]); Tweener.registerSpecialProperty("_DisplacementMap_scaleY", _filter_property_get, _filter_property_set, [DisplacementMapFilter, "scaleY"]); Tweener.registerSpecialProperty("_DropShadow_alpha", _filter_property_get, _filter_property_set, [DropShadowFilter, "alpha"]); Tweener.registerSpecialProperty("_DropShadow_angle", _filter_property_get, _filter_property_set, [DropShadowFilter, "angle"]); Tweener.registerSpecialProperty("_DropShadow_blurX", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurX"]); Tweener.registerSpecialProperty("_DropShadow_blurY", _filter_property_get, _filter_property_set, [DropShadowFilter, "blurY"]); Tweener.registerSpecialPropertySplitter("_DropShadow_color", _generic_color_splitter, ["_DropShadow_color_r", "_DropShadow_color_g", "_DropShadow_color_b"]); Tweener.registerSpecialProperty("_DropShadow_color_r", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "r"]); Tweener.registerSpecialProperty("_DropShadow_color_g", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "g"]); Tweener.registerSpecialProperty("_DropShadow_color_b", _filter_property_get, _filter_property_set, [DropShadowFilter, "color", "color", "b"]); Tweener.registerSpecialProperty("_DropShadow_distance", _filter_property_get, _filter_property_set, [DropShadowFilter, "distance"]); Tweener.registerSpecialProperty("_DropShadow_hideObject", _filter_property_get, _filter_property_set, [DropShadowFilter, "hideObject"]); Tweener.registerSpecialProperty("_DropShadow_inner", _filter_property_get, _filter_property_set, [DropShadowFilter, "inner"]); Tweener.registerSpecialProperty("_DropShadow_knockout", _filter_property_get, _filter_property_set, [DropShadowFilter, "knockout"]); Tweener.registerSpecialProperty("_DropShadow_quality", _filter_property_get, _filter_property_set, [DropShadowFilter, "quality"]); Tweener.registerSpecialProperty("_DropShadow_strength", _filter_property_get, _filter_property_set, [DropShadowFilter, "strength"]); Tweener.registerSpecialProperty("_Glow_alpha", _filter_property_get, _filter_property_set, [GlowFilter, "alpha"]); Tweener.registerSpecialProperty("_Glow_blurX", _filter_property_get, _filter_property_set, [GlowFilter, "blurX"]); Tweener.registerSpecialProperty("_Glow_blurY", _filter_property_get, _filter_property_set, [GlowFilter, "blurY"]); Tweener.registerSpecialPropertySplitter("_Glow_color", _generic_color_splitter, ["_Glow_color_r", "_Glow_color_g", "_Glow_color_b"]); Tweener.registerSpecialProperty("_Glow_color_r", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "r"]); Tweener.registerSpecialProperty("_Glow_color_g", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "g"]); Tweener.registerSpecialProperty("_Glow_color_b", _filter_property_get, _filter_property_set, [GlowFilter, "color", "color", "b"]); Tweener.registerSpecialProperty("_Glow_inner", _filter_property_get, _filter_property_set, [GlowFilter, "inner"]); Tweener.registerSpecialProperty("_Glow_knockout", _filter_property_get, _filter_property_set, [GlowFilter, "knockout"]); Tweener.registerSpecialProperty("_Glow_quality", _filter_property_get, _filter_property_set, [GlowFilter, "quality"]); Tweener.registerSpecialProperty("_Glow_strength", _filter_property_get, _filter_property_set, [GlowFilter, "strength"]); Tweener.registerSpecialProperty("_GradientBevel_angle", _filter_property_get, _filter_property_set, [GradientBevelFilter, "angle"]); Tweener.registerSpecialProperty("_GradientBevel_blurX", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurX"]); Tweener.registerSpecialProperty("_GradientBevel_blurY", _filter_property_get, _filter_property_set, [GradientBevelFilter, "blurY"]); Tweener.registerSpecialProperty("_GradientBevel_distance", _filter_property_get, _filter_property_set, [GradientBevelFilter, "distance"]); Tweener.registerSpecialProperty("_GradientBevel_quality", _filter_property_get, _filter_property_set, [GradientBevelFilter, "quality"]); Tweener.registerSpecialProperty("_GradientBevel_strength", _filter_property_get, _filter_property_set, [GradientBevelFilter, "strength"]); Tweener.registerSpecialProperty("_GradientBevel_type", _filter_property_get, _filter_property_set, [GradientBevelFilter, "type"]); Tweener.registerSpecialProperty("_GradientGlow_angle", _filter_property_get, _filter_property_set, [GradientGlowFilter, "angle"]); Tweener.registerSpecialProperty("_GradientGlow_blurX", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurX"]); Tweener.registerSpecialProperty("_GradientGlow_blurY", _filter_property_get, _filter_property_set, [GradientGlowFilter, "blurY"]); Tweener.registerSpecialProperty("_GradientGlow_distance", _filter_property_get, _filter_property_set, [GradientGlowFilter, "distance"]); Tweener.registerSpecialProperty("_GradientGlow_knockout", _filter_property_get, _filter_property_set, [GradientGlowFilter, "knockout"]); Tweener.registerSpecialProperty("_GradientGlow_quality", _filter_property_get, _filter_property_set, [GradientGlowFilter, "quality"]); Tweener.registerSpecialProperty("_GradientGlow_strength", _filter_property_get, _filter_property_set, [GradientGlowFilter, "strength"]); Tweener.registerSpecialProperty("_GradientGlow_type", _filter_property_get, _filter_property_set, [GradientGlowFilter, "type"]); } public static function _filter_property_get(_arg1:Object, _arg2:Array, _arg3:Object=null):Number{ var _local5:Number; var _local9:Object; var _local10:String; var _local4:Array = _arg1.filters; var _local6:Object = _arg2[0]; var _local7:String = _arg2[1]; var _local8:String = _arg2[2]; _local5 = 0; while (_local5 < _local4.length) { if ((_local4[_local5] is Class(_local6))){ if (_local8 == "color"){ _local10 = _arg2[3]; if (_local10 == "r"){ return (AuxFunctions.numberToR(_local4[_local5][_local7])); }; if (_local10 == "g"){ return (AuxFunctions.numberToG(_local4[_local5][_local7])); }; if (_local10 == "b"){ return (AuxFunctions.numberToB(_local4[_local5][_local7])); }; } else { if (_local8 == "matrix"){ return (_local4[_local5][_local7][_arg2[3]]); }; if (_local8 == "point"){ return (_local4[_local5][_local7][_arg2[3]]); }; return (_local4[_local5][_local7]); }; }; _local5++; }; switch (_local6){ case BevelFilter: _local9 = {angle:NaN, blurX:0, blurY:0, distance:0, highlightAlpha:1, highlightColor:NaN, knockout:null, quality:NaN, shadowAlpha:1, shadowColor:NaN, strength:2, type:null}; break; case BlurFilter: _local9 = {blurX:0, blurY:0, quality:NaN}; break; case ColorMatrixFilter: _local9 = {matrix:[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]}; break; case ConvolutionFilter: _local9 = {alpha:0, bias:0, clamp:null, color:NaN, divisor:1, matrix:[1], matrixX:1, matrixY:1, preserveAlpha:null}; break; case DisplacementMapFilter: _local9 = {alpha:0, color:NaN, componentX:null, componentY:null, mapBitmap:null, mapPoint:null, mode:null, scaleX:0, scaleY:0}; break; case DropShadowFilter: _local9 = {distance:0, angle:NaN, color:NaN, alpha:1, blurX:0, blurY:0, strength:1, quality:NaN, inner:null, knockout:null, hideObject:null}; break; case GlowFilter: _local9 = {alpha:1, blurX:0, blurY:0, color:NaN, inner:null, knockout:null, quality:NaN, strength:2}; break; case GradientBevelFilter: _local9 = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null}; break; case GradientGlowFilter: _local9 = {alphas:null, angle:NaN, blurX:0, blurY:0, colors:null, distance:0, knockout:null, quality:NaN, ratios:NaN, strength:1, type:null}; break; }; if (_local8 == "color"){ return (NaN); }; if (_local8 == "matrix"){ return (_local9[_local7][_arg2[3]]); }; if (_local8 == "point"){ return (_local9[_local7][_arg2[3]]); }; return (_local9[_local7]); } public static function _filter_property_set(_arg1:Object, _arg2:Number, _arg3:Array, _arg4:Object=null):void{ var _local6:Number; var _local10:BitmapFilter; var _local11:String; var _local12:Array; var _local13:Point; var _local5:Array = _arg1.filters; var _local7:Object = _arg3[0]; var _local8:String = _arg3[1]; var _local9:String = _arg3[2]; _local6 = 0; while (_local6 < _local5.length) { if ((_local5[_local6] is Class(_local7))){ if (_local9 == "color"){ _local11 = _arg3[3]; if (_local11 == "r"){ _local5[_local6][_local8] = ((_local5[_local6][_local8] & 0xFFFF) | (_arg2 << 16)); }; if (_local11 == "g"){ _local5[_local6][_local8] = ((_local5[_local6][_local8] & 0xFF00FF) | (_arg2 << 8)); }; if (_local11 == "b"){ _local5[_local6][_local8] = ((_local5[_local6][_local8] & 0xFFFF00) | _arg2); }; } else { if (_local9 == "matrix"){ _local12 = _local5[_local6][_local8]; _local12[_arg3[3]] = _arg2; _local5[_local6][_local8] = _local12; } else { if (_local9 == "point"){ _local13 = Point(_local5[_local6][_local8]); _local13[_arg3[3]] = _arg2; _local5[_local6][_local8] = _local13; } else { _local5[_local6][_local8] = _arg2; }; }; }; _arg1.filters = _local5; return; }; _local6++; }; if (_local5 == null){ _local5 = new Array(); }; switch (_local7){ case BevelFilter: _local10 = new BevelFilter(0, 45, 0xFFFFFF, 1, 0, 1, 0, 0); break; case BlurFilter: _local10 = new BlurFilter(0, 0); break; case ColorMatrixFilter: _local10 = new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]); break; case ConvolutionFilter: _local10 = new ConvolutionFilter(1, 1, [1], 1, 0, true, true, 0, 0); break; case DisplacementMapFilter: _local10 = new DisplacementMapFilter(new BitmapData(10, 10), new Point(0, 0), 0, 1, 0, 0); break; case DropShadowFilter: _local10 = new DropShadowFilter(0, 45, 0, 1, 0, 0); break; case GlowFilter: _local10 = new GlowFilter(0xFF0000, 1, 0, 0); break; case GradientBevelFilter: _local10 = new GradientBevelFilter(0, 45, [0xFFFFFF, 0], [1, 1], [32, 223], 0, 0); break; case GradientGlowFilter: _local10 = new GradientGlowFilter(0, 45, [0xFFFFFF, 0], [1, 1], [32, 223], 0, 0); break; }; _local5.push(_local10); _arg1.filters = _local5; _filter_property_set(_arg1, _arg2, _arg3); } public static function _generic_color_splitter(_arg1:Number, _arg2:Array):Array{ var _local3:Array = new Array(); _local3.push({name:_arg2[0], value:AuxFunctions.numberToR(_arg1)}); _local3.push({name:_arg2[1], value:AuxFunctions.numberToG(_arg1)}); _local3.push({name:_arg2[2], value:AuxFunctions.numberToB(_arg1)}); return (_local3); } public static function _generic_point_splitter(_arg1:Point, _arg2:Array):Array{ var _local3:Array = new Array(); _local3.push({name:_arg2[0], value:_arg1.x}); _local3.push({name:_arg2[1], value:_arg1.y}); return (_local3); } public static function _generic_matrix_splitter(_arg1:Array, _arg2:Array):Array{ if (_arg1 == null){ _arg1 = _arg2[0].concat(); }; var _local3:Array = new Array(); var _local4:Number = 0; while (_local4 < _arg1.length) { _local3.push({name:_arg2[1][_local4], value:_arg1[_local4]}); _local4++; }; return (_local3); } public static function _filter_splitter(_arg1:BitmapFilter, _arg2:Array, _arg3:Object=null):Array{ var _local4:Array = new Array(); if ((_arg1 is BevelFilter)){ _local4.push({name:"_Bevel_angle", value:BevelFilter(_arg1).angle}); _local4.push({name:"_Bevel_blurX", value:BevelFilter(_arg1).blurX}); _local4.push({name:"_Bevel_blurY", value:BevelFilter(_arg1).blurY}); _local4.push({name:"_Bevel_distance", value:BevelFilter(_arg1).distance}); _local4.push({name:"_Bevel_highlightAlpha", value:BevelFilter(_arg1).highlightAlpha}); _local4.push({name:"_Bevel_highlightColor", value:BevelFilter(_arg1).highlightColor}); _local4.push({name:"_Bevel_knockout", value:BevelFilter(_arg1).knockout}); _local4.push({name:"_Bevel_quality", value:BevelFilter(_arg1).quality}); _local4.push({name:"_Bevel_shadowAlpha", value:BevelFilter(_arg1).shadowAlpha}); _local4.push({name:"_Bevel_shadowColor", value:BevelFilter(_arg1).shadowColor}); _local4.push({name:"_Bevel_strength", value:BevelFilter(_arg1).strength}); _local4.push({name:"_Bevel_type", value:BevelFilter(_arg1).type}); } else { if ((_arg1 is BlurFilter)){ _local4.push({name:"_Blur_blurX", value:BlurFilter(_arg1).blurX}); _local4.push({name:"_Blur_blurY", value:BlurFilter(_arg1).blurY}); _local4.push({name:"_Blur_quality", value:BlurFilter(_arg1).quality}); } else { if ((_arg1 is ColorMatrixFilter)){ _local4.push({name:"_ColorMatrix_matrix", value:ColorMatrixFilter(_arg1).matrix}); } else { if ((_arg1 is ConvolutionFilter)){ _local4.push({name:"_Convolution_alpha", value:ConvolutionFilter(_arg1).alpha}); _local4.push({name:"_Convolution_bias", value:ConvolutionFilter(_arg1).bias}); _local4.push({name:"_Convolution_clamp", value:ConvolutionFilter(_arg1).clamp}); _local4.push({name:"_Convolution_color", value:ConvolutionFilter(_arg1).color}); _local4.push({name:"_Convolution_divisor", value:ConvolutionFilter(_arg1).divisor}); _local4.push({name:"_Convolution_matrixX", value:ConvolutionFilter(_arg1).matrixX}); _local4.push({name:"_Convolution_matrixY", value:ConvolutionFilter(_arg1).matrixY}); _local4.push({name:"_Convolution_preserveAlpha", value:ConvolutionFilter(_arg1).preserveAlpha}); } else { if ((_arg1 is DisplacementMapFilter)){ _local4.push({name:"_DisplacementMap_alpha", value:DisplacementMapFilter(_arg1).alpha}); _local4.push({name:"_DisplacementMap_color", value:DisplacementMapFilter(_arg1).color}); _local4.push({name:"_DisplacementMap_componentX", value:DisplacementMapFilter(_arg1).componentX}); _local4.push({name:"_DisplacementMap_componentY", value:DisplacementMapFilter(_arg1).componentY}); _local4.push({name:"_DisplacementMap_mapBitmap", value:DisplacementMapFilter(_arg1).mapBitmap}); _local4.push({name:"_DisplacementMap_mapPoint", value:DisplacementMapFilter(_arg1).mapPoint}); _local4.push({name:"_DisplacementMap_mode", value:DisplacementMapFilter(_arg1).mode}); _local4.push({name:"_DisplacementMap_scaleX", value:DisplacementMapFilter(_arg1).scaleX}); _local4.push({name:"_DisplacementMap_scaleY", value:DisplacementMapFilter(_arg1).scaleY}); } else { if ((_arg1 is DropShadowFilter)){ _local4.push({name:"_DropShadow_alpha", value:DropShadowFilter(_arg1).alpha}); _local4.push({name:"_DropShadow_angle", value:DropShadowFilter(_arg1).angle}); _local4.push({name:"_DropShadow_blurX", value:DropShadowFilter(_arg1).blurX}); _local4.push({name:"_DropShadow_blurY", value:DropShadowFilter(_arg1).blurY}); _local4.push({name:"_DropShadow_color", value:DropShadowFilter(_arg1).color}); _local4.push({name:"_DropShadow_distance", value:DropShadowFilter(_arg1).distance}); _local4.push({name:"_DropShadow_hideObject", value:DropShadowFilter(_arg1).hideObject}); _local4.push({name:"_DropShadow_inner", value:DropShadowFilter(_arg1).inner}); _local4.push({name:"_DropShadow_knockout", value:DropShadowFilter(_arg1).knockout}); _local4.push({name:"_DropShadow_quality", value:DropShadowFilter(_arg1).quality}); _local4.push({name:"_DropShadow_strength", value:DropShadowFilter(_arg1).strength}); } else { if ((_arg1 is GlowFilter)){ _local4.push({name:"_Glow_alpha", value:GlowFilter(_arg1).alpha}); _local4.push({name:"_Glow_blurX", value:GlowFilter(_arg1).blurX}); _local4.push({name:"_Glow_blurY", value:GlowFilter(_arg1).blurY}); _local4.push({name:"_Glow_color", value:GlowFilter(_arg1).color}); _local4.push({name:"_Glow_inner", value:GlowFilter(_arg1).inner}); _local4.push({name:"_Glow_knockout", value:GlowFilter(_arg1).knockout}); _local4.push({name:"_Glow_quality", value:GlowFilter(_arg1).quality}); _local4.push({name:"_Glow_strength", value:GlowFilter(_arg1).strength}); } else { if ((_arg1 is GradientBevelFilter)){ _local4.push({name:"_GradientBevel_angle", value:GradientBevelFilter(_arg1).strength}); _local4.push({name:"_GradientBevel_blurX", value:GradientBevelFilter(_arg1).blurX}); _local4.push({name:"_GradientBevel_blurY", value:GradientBevelFilter(_arg1).blurY}); _local4.push({name:"_GradientBevel_distance", value:GradientBevelFilter(_arg1).distance}); _local4.push({name:"_GradientBevel_quality", value:GradientBevelFilter(_arg1).quality}); _local4.push({name:"_GradientBevel_strength", value:GradientBevelFilter(_arg1).strength}); _local4.push({name:"_GradientBevel_type", value:GradientBevelFilter(_arg1).type}); } else { if ((_arg1 is GradientGlowFilter)){ _local4.push({name:"_GradientGlow_angle", value:GradientGlowFilter(_arg1).strength}); _local4.push({name:"_GradientGlow_blurX", value:GradientGlowFilter(_arg1).blurX}); _local4.push({name:"_GradientGlow_blurY", value:GradientGlowFilter(_arg1).blurY}); _local4.push({name:"_GradientGlow_distance", value:GradientGlowFilter(_arg1).distance}); _local4.push({name:"_GradientGlow_knockout", value:GradientGlowFilter(_arg1).knockout}); _local4.push({name:"_GradientGlow_quality", value:GradientGlowFilter(_arg1).quality}); _local4.push({name:"_GradientGlow_strength", value:GradientGlowFilter(_arg1).strength}); _local4.push({name:"_GradientGlow_type", value:GradientGlowFilter(_arg1).type}); } else { trace("Tweener FilterShortcuts Error :: Unknown filter class used"); }; }; }; }; }; }; }; }; }; return (_local4); } } }//package tweener.properties
Section 198
//AuxFunctions (tweener.AuxFunctions) package tweener { public class AuxFunctions { public static function getObjectLength(_arg1:Object):uint{ var _local3:String; var _local2:uint; 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 _local3:Object; var _local5:String; var _local2:Object = {}; var _local4:int; while (_local4 < _args.length) { _local3 = _args[_local4]; for (_local5 in _local3) { if (_local3[_local5] == null){ delete _local2[_local5]; } else { _local2[_local5] = _local3[_local5]; }; }; _local4++; }; return (_local2); } } }//package tweener
Section 199
//Equations (tweener.Equations) package tweener { 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 _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * (0.3 * 1.5)) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); }; --_arg1; return ((((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) * 0.5) + _arg3) + _arg2)); } public static function 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 = (((!(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 = (((!(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 = (((!(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 _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; --_arg1; return ((-(((_local8 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6)))) + _arg2)); } public static function 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 _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; var _local6:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.period)))) ? (_arg4 * 0.3) : _arg5.period; var _local8:Number = (((!(Boolean(_arg5))) || (isNaN(_arg5.amplitude)))) ? 0 : _arg5.amplitude; if (((!(Boolean(_local8))) || ((_local8 < Math.abs(_arg3))))){ _local8 = _arg3; _local7 = (_local6 / 4); } else { _local7 = ((_local6 / (2 * Math.PI)) * Math.asin((_arg3 / _local8))); }; return (((((_local8 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * (2 * Math.PI)) / _local6))) + _arg3) + _arg2)); } public static function 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 tweener
Section 200
//PropertyInfoObj (tweener.PropertyInfoObj) package tweener { public class PropertyInfoObj { public var modifierParameters:Array; public var isSpecialProperty:Boolean; public var valueComplete:Number; public var modifierFunction:Function; public var extra:Object; public var valueStart:Number; public var hasModifier:Boolean; public var arrayIndex:Number; public var originalValueComplete:Object; 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 = "\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 = new PropertyInfoObj(valueStart, valueComplete, originalValueComplete, arrayIndex, extra, isSpecialProperty, modifierFunction, modifierParameters); return (_local1); } } }//package tweener
Section 201
//SpecialProperty (tweener.SpecialProperty) package tweener { public class SpecialProperty { public var parameters:Array; public var getValue:Function; public var preProcess:Function; public var setValue:Function; public function SpecialProperty(_arg1:Function, _arg2:Function, _arg3:Array=null, _arg4:Function=null){ getValue = _arg1; setValue = _arg2; parameters = _arg3; preProcess = _arg4; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialProperty "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("setValue:" + String(setValue))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("preProcess:" + String(preProcess))); _local1 = (_local1 + "]"); return (_local1); } } }//package tweener
Section 202
//SpecialPropertyModifier (tweener.SpecialPropertyModifier) package tweener { 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 = ""; _local1 = (_local1 + "[SpecialPropertyModifier "); _local1 = (_local1 + ("modifyValues:" + String(modifyValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("getValue:" + String(getValue))); _local1 = (_local1 + "]"); return (_local1); } } }//package tweener
Section 203
//SpecialPropertySplitter (tweener.SpecialPropertySplitter) package tweener { public class SpecialPropertySplitter { public var parameters:Array; public var splitValues:Function; public function SpecialPropertySplitter(_arg1:Function, _arg2:Array){ splitValues = _arg1; parameters = _arg2; } public function toString():String{ var _local1 = ""; _local1 = (_local1 + "[SpecialPropertySplitter "); _local1 = (_local1 + ("splitValues:" + String(splitValues))); _local1 = (_local1 + ", "); _local1 = (_local1 + ("parameters:" + String(parameters))); _local1 = (_local1 + "]"); return (_local1); } } }//package tweener
Section 204
//Transition (tweener.Transition) package tweener { public class Transition { public static const BOUNCE_IN:String = "easeinbounce"; public static const STRONG_OUT_IN:String = "easeoutinexpo"; public static const SINE_IN_OUT:String = "easeinoutsine"; public static const CUBIC_OUT_IN:String = "easeoutincubic"; public static const QUAD_IN_OUT:String = "easeinoutquad"; public static const CIRC_OUT:String = "easeoutcirc"; public static const QUART_OUT:String = "easeoutquart"; public static const STRONG_OUT:String = "easeoutexpo"; public static const SINE_IN:String = "easeinsine"; public static const CUBIC_OUT:String = "easeoutcubic"; public static const QUAD_IN:String = "easeinquad"; public static const ELASTIC_OUT_IN:String = "easeoutinelastic"; public static const QUINT_OUT:String = "easeoutquint"; public static const LINEAR:String = "linear"; public static const QUINT_IN_OUT:String = "easeinoutquint"; public static const ELASTIC_OUT:String = "easeoutelastic"; public static const BACK_OUT_IN:String = "easeoutinback"; public static const QUAD_OUT:String = "easeoutquad"; public static const QUINT_IN:String = "easeinquint"; public static const CIRC_IN_OUT:String = "easeinoutcirc"; public static const QUART_IN_OUT:String = "easeinoutquart"; public static const QUART_IN:String = "easeinquart"; public static const SINE_OUT_IN:String = "easeoutinsine"; public static const CUBIC_IN_OUT:String = "easeinoutcubic"; public static const STRONG_IN_OUT:String = "easeinoutexpo"; public static const CIRC_IN:String = "easeincirc"; public static const QUAD_OUT_IN:String = "easeoutinquad"; public static const BACK_OUT:String = "easeoutback"; public static const CUBIC_IN:String = "easeincubic"; public static const STRONG_IN:String = "easeinexpo"; public static const BOUNCE_IN_OUT:String = "easeinoutbounce"; public static const ELASTIC_IN_OUT:String = "easeinoutelastic"; public static const EASE_NONE:String = "easenone"; public static const QUINT_OUT_IN:String = "easeoutinquint"; public static const BOUNCE_OUT_IN:String = "easeoutinbounce"; public static const ELASTIC_IN:String = "easeinelastic"; public static const QUART_OUT_IN:String = "easeoutinquart"; public static const BOUNCE_OUT:String = "easeoutbounce"; public static const BACK_IN_OUT:String = "easeinoutback"; public static const SINE_OUT:String = "easeoutsine"; public static const BACK_IN:String = "easeinback"; public static const CIRC_OUT_IN:String = "easeoutincirc"; } }//package tweener
Section 205
//Tweener (tweener.Tweener) package tweener { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tweener { private static var _timeScale:Number = 1; private static var _currentTimeFrame:Number; private static var _specialPropertySplitterList:Object; public static var autoOverwrite:Boolean = true; private static var _engineExists:Boolean = false; private static var _currentTime:Number; private static var _tweenList:Array; private static var _specialPropertyModifierList:Object; 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 addTimeout(_arg1:Function, _arg2:int, _arg3:Array=null):Boolean{ _arg2++; addTween(new Object(), {delay:_arg2, useFrames:true, onComplete:_arg1, onCompleteParams:_arg3}); } public static function registerSpecialPropertyModifier(_arg1:String, _arg2:Function, _arg3:Function):void{ if (!_inited){ init(); }; var _local4:SpecialPropertyModifier = new SpecialPropertyModifier(_arg2, _arg3); _specialPropertyModifierList[_arg1] = _local4; } public static function registerSpecialProperty(_arg1:String, _arg2:Function, _arg3:Function, _arg4:Array=null, _arg5:Function=null):void{ if (!_inited){ init(); }; var _local6:SpecialProperty = new SpecialProperty(_arg2, _arg3, _arg4, _arg5); _specialPropertyList[_arg1] = _local6; } public static function 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 _local8:Function; var _local9:TweenListObj; var _local10:Number; var _local11:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local4 = _arg1.concat(); } else { _local4 = [_arg1]; }; var _local5:Object = _arg2; if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local6:Number = (isNaN(_local5.time)) ? 0 : _local5.time; var _local7:Number = (isNaN(_local5.delay)) ? 0 : _local5.delay; if (typeof(_local5.transition) == "string"){ _local11 = _local5.transition.toLowerCase(); _local8 = _transitionList[_local11]; } else { _local8 = _local5.transition; }; if (!Boolean(_local8)){ _local8 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local4.length) { if (_local5.useFrames == true){ _local9 = new TweenListObj(_local4[_local3], (_currentTimeFrame + (_local7 / _timeScale)), (_currentTimeFrame + ((_local7 + _local6) / _timeScale)), true, _local8, _local5.transitionParams); } else { _local9 = new TweenListObj(_local4[_local3], (_currentTime + ((_local7 * 1000) / _timeScale)), (_currentTime + (((_local7 * 1000) + (_local6 * 1000)) / _timeScale)), false, _local8, _local5.transitionParams); }; _local9.properties = null; _local9.onStart = _local5.onStart; _local9.onUpdate = _local5.onUpdate; _local9.onComplete = _local5.onComplete; _local9.onOverwrite = _local5.onOverwrite; _local9.onStartParams = _local5.onStartParams; _local9.onUpdateParams = _local5.onUpdateParams; _local9.onCompleteParams = _local5.onCompleteParams; _local9.onOverwriteParams = _local5.onOverwriteParams; _local9.onStartScope = _local5.onStartScope; _local9.onUpdateScope = _local5.onUpdateScope; _local9.onCompleteScope = _local5.onCompleteScope; _local9.onOverwriteScope = _local5.onOverwriteScope; _local9.onErrorScope = _local5.onErrorScope; _local9.isCaller = true; _local9.count = _local5.count; _local9.waitFrames = _local5.waitFrames; _tweenList.push(_local9); if ((((_local6 == 0)) && ((_local7 == 0)))){ _local10 = (_tweenList.length - 1); updateTweenByIndex(_local10); removeTweenByIndex(_local10); }; _local3++; }; return (true); } public static function pauseAllTweens():Boolean{ var _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { pauseTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function removeTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local5:SpecialPropertySplitter; var _local6:Array; var _local7:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ if (_specialPropertySplitterList[_args[_local4]]){ _local5 = _specialPropertySplitterList[_args[_local4]]; _local6 = _local5.splitValues(_arg1, null); _local7 = 0; while (_local7 < _local6.length) { _local3.push(_local6[_local7].name); _local7++; }; } else { _local3.push(_args[_local4]); }; }; _local4++; }; return (affectTweens(removeTweenByIndex, _arg1, _local3)); } public static function updateFrame():void{ _currentTimeFrame++; } public static function splitTweens(_arg1:Number, _arg2:Array):uint{ var _local5:uint; var _local6:String; var _local7:Boolean; var _local3:TweenListObj = _tweenList[_arg1]; var _local4:TweenListObj = _local3.clone(false); _local5 = 0; while (_local5 < _arg2.length) { _local6 = _arg2[_local5]; if (Boolean(_local3.properties[_local6])){ _local3.properties[_local6] = undefined; delete _local3.properties[_local6]; }; _local5++; }; for (_local6 in _local4.properties) { _local7 = false; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5] == _local6){ _local7 = true; break; }; _local5++; }; if (!_local7){ _local4.properties[_local6] = undefined; delete _local4.properties[_local6]; }; }; _tweenList.push(_local4); return ((_tweenList.length - 1)); } public static function resumeTweenByIndex(_arg1:Number):Boolean{ var _local2:TweenListObj = _tweenList[_arg1]; if ((((_local2 == null)) || (!(_local2.isPaused)))){ return (false); }; var _local3:Number = getCurrentTweeningTime(_local2); _local2.timeStart = (_local2.timeStart + (_local3 - _local2.timePaused)); _local2.timeComplete = (_local2.timeComplete + (_local3 - _local2.timePaused)); _local2.timePaused = undefined; _local2.isPaused = false; return (true); } public static function getVersion():String{ return ("AS3 1.33.74"); } public static function onEnterFrame(_arg1:Event):void{ updateTime(); updateFrame(); var _local2:Boolean; _local2 = updateTweens(); if (!_local2){ stopEngine(); }; } public static function updateTime():void{ _currentTime = getTimer(); } private static function updateTweenByIndex(_arg1:Number):Boolean{ var tTweening:TweenListObj; var mustUpdate:Boolean; var nv:Number; var t:Number; var b:Number; var c:Number; var d:Number; var pName:String; var eventScope:Object; var tScope:Object; var tProperty:Object; var pv:Number; var i = _arg1; tTweening = _tweenList[i]; if ((((tTweening == null)) || (!(Boolean(tTweening.scope))))){ return (false); }; var isOver:Boolean; var cTime:Number = getCurrentTweeningTime(tTweening); if (cTime >= tTweening.timeStart){ tScope = tTweening.scope; if (tTweening.isCaller){ do { t = (((tTweening.timeComplete - tTweening.timeStart) / tTweening.count) * (tTweening.timesCalled + 1)); b = tTweening.timeStart; c = (tTweening.timeComplete - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d); } while (!(cTime >= nv)); } else { mustUpdate = (((((tTweening.skipUpdates < 1)) || (!(tTweening.skipUpdates)))) || ((tTweening.updatesSkipped >= tTweening.skipUpdates))); if (cTime >= tTweening.timeComplete){ isOver = true; mustUpdate = true; }; if (!tTweening.hasStarted){ if (Boolean(tTweening.onStart)){ eventScope = (Boolean(tTweening.onStartScope)) ? tTweening.onStartScope : tScope; try { tTweening.onStart.apply(eventScope, tTweening.onStartParams); } catch(e2:Error) { handleError(tTweening, e2, "onStart"); }; }; for (pName in tTweening.properties) { if (tTweening.properties[pName].isSpecialProperty){ if (Boolean(_specialPropertyList[pName].preProcess)){ tTweening.properties[pName].valueComplete = _specialPropertyList[pName].preProcess(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].originalValueComplete, tTweening.properties[pName].extra); }; pv = _specialPropertyList[pName].getValue(tScope, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { pv = tScope[pName]; }; tTweening.properties[pName].valueStart = (isNaN(pv)) ? tTweening.properties[pName].valueComplete : pv; }; mustUpdate = true; tTweening.hasStarted = true; }; if (mustUpdate){ for (pName in tTweening.properties) { tProperty = tTweening.properties[pName]; if (isOver){ nv = tProperty.valueComplete; } else { if (tProperty.hasModifier){ t = (cTime - tTweening.timeStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, 0, 1, d, tTweening.transitionParams); nv = tProperty.modifierFunction(tProperty.valueStart, tProperty.valueComplete, nv, tProperty.modifierParameters); } else { t = (cTime - tTweening.timeStart); b = tProperty.valueStart; c = (tProperty.valueComplete - tProperty.valueStart); d = (tTweening.timeComplete - tTweening.timeStart); nv = tTweening.transition(t, b, c, d, tTweening.transitionParams); }; }; if (tTweening.rounded){ nv = Math.round(nv); }; if (tProperty.isSpecialProperty){ _specialPropertyList[pName].setValue(tScope, nv, _specialPropertyList[pName].parameters, tTweening.properties[pName].extra); } else { tScope[pName] = nv; }; }; tTweening.updatesSkipped = 0; if (Boolean(tTweening.onUpdate)){ eventScope = (Boolean(tTweening.onUpdateScope)) ? tTweening.onUpdateScope : tScope; try { tTweening.onUpdate.apply(eventScope, tTweening.onUpdateParams); } catch(e3:Error) { handleError(tTweening, e3, "onUpdate"); }; }; } else { tTweening.updatesSkipped++; }; }; if (((isOver) && (Boolean(tTweening.onComplete)))){ eventScope = (Boolean(tTweening.onCompleteScope)) ? tTweening.onCompleteScope : tScope; try { tTweening.onComplete.apply(eventScope, tTweening.onCompleteParams); } catch(e4:Error) { handleError(tTweening, e4, "onComplete"); }; }; return (!(isOver)); }; return (true); } public static function 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 _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { resumeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } private static function 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 _local2:uint; if (!Boolean(_tweenList)){ return (false); }; var _local1:Boolean; _local2 = 0; while (_local2 < _tweenList.length) { removeTweenByIndex(_local2); _local1 = true; _local2++; }; return (_local1); } public static function addTween(_arg1:Object=null, _arg2:Object=null):Boolean{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:Array; var _local13:Function; var _local14:Object; var _local15:TweenListObj; var _local16:Number; var _local17:Array; var _local18:Array; var _local19:Array; var _local20:String; if (!Boolean(_arg1)){ return (false); }; if ((_arg1 is Array)){ _local6 = _arg1.concat(); } else { _local6 = [_arg1]; }; var _local7:Object = TweenListObj.makePropertiesChain(_arg2); if (!_inited){ init(); }; if (((!(_engineExists)) || (!(Boolean(__tweener_controller__))))){ startEngine(); }; var _local8:Number = (isNaN(_local7.time)) ? 0 : _local7.time; var _local9:Number = (isNaN(_local7.delay)) ? 0 : _local7.delay; var _local10:Array = new Array(); var _local11:Object = {overwrite:true, time:true, delay:true, useFrames:true, skipUpdates:true, transition:true, transitionParams:true, onStart:true, onUpdate:true, onComplete:true, onOverwrite:true, onError:true, rounded:true, onStartParams:true, onUpdateParams:true, onCompleteParams:true, onOverwriteParams:true, onStartScope:true, onUpdateScope:true, onCompleteScope:true, onOverwriteScope:true, onErrorScope:true}; var _local12:Object = new Object(); for (_local5 in _local7) { if (!_local11[_local5]){ if (_specialPropertySplitterList[_local5]){ _local17 = _specialPropertySplitterList[_local5].splitValues(_local7[_local5], _specialPropertySplitterList[_local5].parameters); _local3 = 0; while (_local3 < _local17.length) { if (_specialPropertySplitterList[_local17[_local3].name]){ _local18 = _specialPropertySplitterList[_local17[_local3].name].splitValues(_local17[_local3].value, _specialPropertySplitterList[_local17[_local3].name].parameters); _local4 = 0; while (_local4 < _local18.length) { _local10[_local18[_local4].name] = {valueStart:undefined, valueComplete:_local18[_local4].value, arrayIndex:_local18[_local4].arrayIndex, isSpecialProperty:false}; _local4++; }; } else { _local10[_local17[_local3].name] = {valueStart:undefined, valueComplete:_local17[_local3].value, arrayIndex:_local17[_local3].arrayIndex, isSpecialProperty:false}; }; _local3++; }; } else { if (_specialPropertyModifierList[_local5] != undefined){ _local19 = _specialPropertyModifierList[_local5].modifyValues(_local7[_local5]); _local3 = 0; while (_local3 < _local19.length) { _local12[_local19[_local3].name] = {modifierParameters:_local19[_local3].parameters, modifierFunction:_specialPropertyModifierList[_local5].getValue}; _local3++; }; } else { _local10[_local5] = {valueStart:undefined, valueComplete:_local7[_local5]}; }; }; }; }; for (_local5 in _local10) { if (_specialPropertyList[_local5] != undefined){ _local10[_local5].isSpecialProperty = true; } else { if (_local6[0][_local5] == undefined){ printError((((("The property '" + _local5) + "' doesn't seem to be a normal object property of ") + String(_local6[0])) + " or a registered special property.")); }; }; }; for (_local5 in _local12) { if (_local10[_local5] != undefined){ _local10[_local5].modifierParameters = _local12[_local5].modifierParameters; _local10[_local5].modifierFunction = _local12[_local5].modifierFunction; }; }; if (typeof(_local7.transition) == "string"){ _local20 = _local7.transition.toLowerCase(); _local13 = _transitionList[_local20]; } else { _local13 = _local7.transition; }; if (!Boolean(_local13)){ _local13 = _transitionList["easeoutexpo"]; }; _local3 = 0; while (_local3 < _local6.length) { _local14 = new Object(); for (_local5 in _local10) { _local14[_local5] = new PropertyInfoObj(_local10[_local5].valueStart, _local10[_local5].valueComplete, _local10[_local5].valueComplete, _local10[_local5].arrayIndex, {}, _local10[_local5].isSpecialProperty, _local10[_local5].modifierFunction, _local10[_local5].modifierParameters); }; if (_local7.useFrames == true){ _local15 = new TweenListObj(_local6[_local3], (_currentTimeFrame + (_local9 / _timeScale)), (_currentTimeFrame + ((_local9 + _local8) / _timeScale)), true, _local13, _local7.transitionParams); } else { _local15 = new TweenListObj(_local6[_local3], (_currentTime + ((_local9 * 1000) / _timeScale)), (_currentTime + (((_local9 * 1000) + (_local8 * 1000)) / _timeScale)), false, _local13, _local7.transitionParams); }; _local15.properties = _local14; _local15.onStart = _local7.onStart; _local15.onUpdate = _local7.onUpdate; _local15.onComplete = _local7.onComplete; _local15.onOverwrite = _local7.onOverwrite; _local15.onError = _local7.onError; _local15.onStartParams = _local7.onStartParams; _local15.onUpdateParams = _local7.onUpdateParams; _local15.onCompleteParams = _local7.onCompleteParams; _local15.onOverwriteParams = _local7.onOverwriteParams; _local15.onStartScope = _local7.onStartScope; _local15.onUpdateScope = _local7.onUpdateScope; _local15.onCompleteScope = _local7.onCompleteScope; _local15.onOverwriteScope = _local7.onOverwriteScope; _local15.onErrorScope = _local7.onErrorScope; _local15.rounded = _local7.rounded; _local15.skipUpdates = _local7.skipUpdates; if (((_local7.overwrite == undefined)) ? autoOverwrite : _local7.overwrite){ removeTweensByTime(_local15.scope, _local15.properties, _local15.timeStart, _local15.timeComplete); }; _tweenList.push(_local15); if ((((_local8 == 0)) && ((_local9 == 0)))){ _local16 = (_tweenList.length - 1); updateTweenByIndex(_local16); removeTweenByIndex(_local16); }; _local3++; }; return (true); } public static function 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 _local5:uint; var _local6:Array; var _local7:uint; var _local8:uint; var _local9:uint; var _local4:Boolean; if (!Boolean(_tweenList)){ return (false); }; _local5 = 0; while (_local5 < _tweenList.length) { if (((_tweenList[_local5]) && ((_tweenList[_local5].scope == _arg2)))){ if (_arg3.length == 0){ _arg1(_local5); _local4 = true; } else { _local6 = new Array(); _local7 = 0; while (_local7 < _arg3.length) { if (Boolean(_tweenList[_local5].properties[_arg3[_local7]])){ _local6.push(_arg3[_local7]); }; _local7++; }; if (_local6.length > 0){ _local8 = AuxFunctions.getObjectLength(_tweenList[_local5].properties); if (_local8 == _local6.length){ _arg1(_local5); _local4 = true; } else { _local9 = splitTweens(_local5, _local6); _arg1(_local9); _local4 = true; }; }; }; }; _local5++; }; return (_local4); } public static function getTweens(_arg1:Object):Array{ var _local2:uint; var _local3:String; if (!Boolean(_tweenList)){ return ([]); }; var _local4:Array = new Array(); _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ for (_local3 in _tweenList[_local2].properties) { _local4.push(_local3); }; }; _local2++; }; return (_local4); } public static function 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 = _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; if (!Boolean(_tweenList)){ return (0); }; var _local3:Number = 0; _local2 = 0; while (_local2 < _tweenList.length) { if (((Boolean(_tweenList[_local2])) && ((_tweenList[_local2].scope == _arg1)))){ _local3 = (_local3 + AuxFunctions.getObjectLength(_tweenList[_local2].properties)); }; _local2++; }; return (_local3); } private static function 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 removedLocally:Boolean; var i:uint; var pName:String; var eventScope:Object; var p_scope = _arg1; var p_properties = _arg2; var p_timeStart = _arg3; var p_timeComplete = _arg4; var removed:Boolean; var tl:uint = _tweenList.length; i = 0; while (i < tl) { if (((Boolean(_tweenList[i])) && ((p_scope == _tweenList[i].scope)))){ if ((((p_timeComplete > _tweenList[i].timeStart)) && ((p_timeStart < _tweenList[i].timeComplete)))){ removedLocally = false; for (pName in _tweenList[i].properties) { if (Boolean(p_properties[pName])){ if (Boolean(_tweenList[i].onOverwrite)){ eventScope = (Boolean(_tweenList[i].onOverwriteScope)) ? _tweenList[i].onOverwriteScope : _tweenList[i].scope; try { _tweenList[i].onOverwrite.apply(eventScope, _tweenList[i].onOverwriteParams); } catch(e:Error) { handleError(_tweenList[i], e, "onOverwrite"); }; }; _tweenList[i].properties[pName] = undefined; delete _tweenList[i].properties[pName]; removedLocally = true; removed = true; }; }; if (removedLocally){ if (AuxFunctions.getObjectLength(_tweenList[i].properties) == 0){ removeTweenByIndex(i); }; }; }; }; i = (i + 1); }; return (removed); } public static function registerSpecialPropertySplitter(_arg1:String, _arg2:Function, _arg3:Array=null):void{ if (!_inited){ init(); }; var _local4:SpecialPropertySplitter = 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 _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(resumeTweenByIndex, _arg1, _local3)); } public static function pauseTweens(_arg1:Object, ... _args):Boolean{ var _local4:uint; var _local3:Array = new Array(); _local4 = 0; while (_local4 < _args.length) { if ((((typeof(_args[_local4]) == "string")) && ((_local3.indexOf(_args[_local4]) == -1)))){ _local3.push(_args[_local4]); }; _local4++; }; return (affectTweens(pauseTweenByIndex, _arg1, _local3)); } } }//package tweener
Section 206
//TweenListObj (tweener.TweenListObj) package tweener { public class TweenListObj { public var hasStarted:Boolean; public var onUpdate:Function; public var useFrames:Boolean; public var count:Number; public var onOverwriteParams:Array; public var timeStart: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 isCaller:Boolean; public var timePaused:Number; public var transition:Function; public var onCompleteParams:Array; public var onError:Function; public var timesCalled:Number; 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 _local3:String; var _local2:TweenListObj = new TweenListObj(scope, timeStart, timeComplete, useFrames, transition, transitionParams); _local2.properties = new Array(); for (_local3 in properties) { _local2.properties[_local3] = properties[_local3].clone(); }; _local2.skipUpdates = skipUpdates; _local2.updatesSkipped = updatesSkipped; if (!_arg1){ _local2.onStart = onStart; _local2.onUpdate = onUpdate; _local2.onComplete = onComplete; _local2.onOverwrite = onOverwrite; _local2.onError = onError; _local2.onStartParams = onStartParams; _local2.onUpdateParams = onUpdateParams; _local2.onCompleteParams = onCompleteParams; _local2.onOverwriteParams = onOverwriteParams; _local2.onStartScope = onStartScope; _local2.onUpdateScope = onUpdateScope; _local2.onCompleteScope = onCompleteScope; _local2.onOverwriteScope = onOverwriteScope; _local2.onErrorScope = onErrorScope; }; _local2.rounded = rounded; _local2.isPaused = isPaused; _local2.timePaused = timePaused; _local2.isCaller = isCaller; _local2.count = count; _local2.timesCalled = timesCalled; _local2.waitFrames = waitFrames; _local2.hasStarted = hasStarted; return (_local2); } public function toString():String{ var _local3:String; var _local1 = "\n[TweenListObj "; _local1 = (_local1 + ("scope:" + String(scope))); _local1 = (_local1 + ", properties:"); var _local2:Boolean; for (_local3 in properties) { if (!_local2){ _local1 = (_local1 + ","); }; _local1 = (_local1 + ("[name:" + properties[_local3].name)); _local1 = (_local1 + (",valueStart:" + properties[_local3].valueStart)); _local1 = (_local1 + (",valueComplete:" + properties[_local3].valueComplete)); _local1 = (_local1 + "]"); _local2 = false; }; _local1 = (_local1 + (", timeStart:" + String(timeStart))); _local1 = (_local1 + (", timeComplete:" + String(timeComplete))); _local1 = (_local1 + (", useFrames:" + String(useFrames))); _local1 = (_local1 + (", transition:" + String(transition))); _local1 = (_local1 + (", transitionParams:" + String(transitionParams))); if (skipUpdates){ _local1 = (_local1 + (", skipUpdates:" + String(skipUpdates))); }; if (updatesSkipped){ _local1 = (_local1 + (", updatesSkipped:" + String(updatesSkipped))); }; if (Boolean(onStart)){ _local1 = (_local1 + (", onStart:" + String(onStart))); }; if (Boolean(onUpdate)){ _local1 = (_local1 + (", onUpdate:" + String(onUpdate))); }; if (Boolean(onComplete)){ _local1 = (_local1 + (", onComplete:" + String(onComplete))); }; if (Boolean(onOverwrite)){ _local1 = (_local1 + (", onOverwrite:" + String(onOverwrite))); }; if (Boolean(onError)){ _local1 = (_local1 + (", onError:" + String(onError))); }; if (onStartParams){ _local1 = (_local1 + (", onStartParams:" + String(onStartParams))); }; if (onUpdateParams){ _local1 = (_local1 + (", onUpdateParams:" + String(onUpdateParams))); }; if (onCompleteParams){ _local1 = (_local1 + (", onCompleteParams:" + String(onCompleteParams))); }; if (onOverwriteParams){ _local1 = (_local1 + (", onOverwriteParams:" + String(onOverwriteParams))); }; if (onStartScope){ _local1 = (_local1 + (", onStartScope:" + String(onStartScope))); }; if (onUpdateScope){ _local1 = (_local1 + (", onUpdateScope:" + String(onUpdateScope))); }; if (onCompleteScope){ _local1 = (_local1 + (", onCompleteScope:" + String(onCompleteScope))); }; if (onOverwriteScope){ _local1 = (_local1 + (", onOverwriteScope:" + String(onOverwriteScope))); }; if (onErrorScope){ _local1 = (_local1 + (", onErrorScope:" + String(onErrorScope))); }; if (rounded){ _local1 = (_local1 + (", rounded:" + String(rounded))); }; if (isPaused){ _local1 = (_local1 + (", isPaused:" + String(isPaused))); }; if (timePaused){ _local1 = (_local1 + (", timePaused:" + String(timePaused))); }; if (isCaller){ _local1 = (_local1 + (", isCaller:" + String(isCaller))); }; if (count){ _local1 = (_local1 + (", count:" + String(count))); }; if (timesCalled){ _local1 = (_local1 + (", timesCalled:" + String(timesCalled))); }; if (waitFrames){ _local1 = (_local1 + (", waitFrames:" + String(waitFrames))); }; if (hasStarted){ _local1 = (_local1 + (", hasStarted:" + String(hasStarted))); }; _local1 = (_local1 + "]\n"); return (_local1); } public static function makePropertiesChain(_arg1:Object):Object{ var _local3:Object; var _local4:Object; var _local5:Object; var _local6:Number; var _local7:Number; var _local8:Number; var _local2:Object = _arg1.base; if (_local2){ _local3 = {}; if ((_local2 is Array)){ _local4 = []; _local8 = 0; while (_local8 < _local2.length) { _local4.push(_local2[_local8]); _local8++; }; } else { _local4 = [_local2]; }; _local4.push(_arg1); _local6 = _local4.length; _local7 = 0; while (_local7 < _local6) { if (_local4[_local7]["base"]){ _local5 = AuxFunctions.concatObjects(makePropertiesChain(_local4[_local7]["base"]), _local4[_local7]); } else { _local5 = _local4[_local7]; }; _local3 = AuxFunctions.concatObjects(_local3, _local5); _local7++; }; if (_local3["base"]){ delete _local3["base"]; }; return (_local3); //unresolved jump }; return (_arg1); } } }//package tweener
Section 207
//Back_1 (Back_1) package { import flash.display.*; public dynamic class Back_1 extends MovieClip { } }//package
Section 208
//Back_2 (Back_2) package { import flash.display.*; public dynamic class Back_2 extends MovieClip { } }//package
Section 209
//Background (Background) package { import flash.display.*; public dynamic class Background extends MovieClip { } }//package
Section 210
//Balk_1 (Balk_1) package { import flash.display.*; public dynamic class Balk_1 extends MovieClip { } }//package
Section 211
//Balk_2 (Balk_2) package { import flash.display.*; public dynamic class Balk_2 extends MovieClip { } }//package
Section 212
//BallBlueSprite (BallBlueSprite) package { import flash.display.*; public dynamic class BallBlueSprite extends MovieClip { public function BallBlueSprite(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package
Section 213
//BallOrangeSprite (BallOrangeSprite) package { import flash.display.*; public dynamic class BallOrangeSprite extends MovieClip { public function BallOrangeSprite(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package
Section 214
//BallRedSprite (BallRedSprite) package { import flash.display.*; public dynamic class BallRedSprite extends MovieClip { public function BallRedSprite(){ addFrameScript(0, frame1, 10, frame11); } function frame1(){ stop(); } function frame11(){ stop(); } } }//package
Section 215
//BasketSprite (BasketSprite) package { import flash.display.*; public dynamic class BasketSprite extends MovieClip { public var front:MovieClip; public var btnDrop:SimpleButton; public var back:MovieClip; } }//package
Section 216
//BridgeLeft (BridgeLeft) package { import flash.display.*; public dynamic class BridgeLeft extends MovieClip { } }//package
Section 217
//BridgeNode_1 (BridgeNode_1) package { import flash.display.*; public dynamic class BridgeNode_1 extends MovieClip { } }//package
Section 218
//BridgeNode_2 (BridgeNode_2) package { import flash.display.*; public dynamic class BridgeNode_2 extends MovieClip { } }//package
Section 219
//BridgeNode_3 (BridgeNode_3) package { import flash.display.*; public dynamic class BridgeNode_3 extends MovieClip { } }//package
Section 220
//BridgeRight (BridgeRight) package { import flash.display.*; public dynamic class BridgeRight extends MovieClip { } }//package
Section 221
//BtnMainMenu (BtnMainMenu) package { import flash.display.*; public dynamic class BtnMainMenu extends SimpleButton { } }//package
Section 222
//Bush_1 (Bush_1) package { import flash.display.*; public dynamic class Bush_1 extends MovieClip { } }//package
Section 223
//Bush_2 (Bush_2) package { import flash.display.*; public dynamic class Bush_2 extends MovieClip { } }//package
Section 224
//Bush_3 (Bush_3) package { import flash.display.*; public dynamic class Bush_3 extends MovieClip { } }//package
Section 225
//Bush_4 (Bush_4) package { import flash.display.*; public dynamic class Bush_4 extends MovieClip { } }//package
Section 226
//Bush_5 (Bush_5) package { import flash.display.*; public dynamic class Bush_5 extends MovieClip { } }//package
Section 227
//Catapult_Spoon (Catapult_Spoon) package { import flash.display.*; public dynamic class Catapult_Spoon extends MovieClip { } }//package
Section 228
//Catapult_Stand (Catapult_Stand) package { import flash.display.*; public dynamic class Catapult_Stand extends MovieClip { } }//package
Section 229
//CirclePoint (CirclePoint) package { import flash.display.*; public dynamic class CirclePoint extends MovieClip { public function CirclePoint(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 230
//CompleteScreen (CompleteScreen) package { import flash.display.*; import flash.text.*; public dynamic class CompleteScreen extends MovieClip { public var btnSelectLevel:SimpleButton; public var btnFunFlow:SimpleButton; public var btnNextLevel:SimpleButton; public var fldLevelScore:TextField; public var fldTotalScore:TextField; public function CompleteScreen(){ addFrameScript(0, frame1, 33, frame34); } function frame1(){ stop(); } function frame34(){ stop(); } } }//package
Section 231
//CreditsScreen (CreditsScreen) package { import flash.display.*; public dynamic class CreditsScreen extends MovieClip { } }//package
Section 232
//CursorSprite (CursorSprite) package { import flash.display.*; public dynamic class CursorSprite extends MovieClip { public var cross:MovieClip; public function CursorSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); cross.visible = false; } } }//package
Section 233
//Elevator_H (Elevator_H) package { import flash.display.*; public dynamic class Elevator_H extends MovieClip { } }//package
Section 234
//Elevator_L (Elevator_L) package { import flash.display.*; public dynamic class Elevator_L extends MovieClip { } }//package
Section 235
//ExitBlueSprite (ExitBlueSprite) package { import flash.display.*; public dynamic class ExitBlueSprite extends MovieClip { public var front:MovieClip; public var back:MovieClip; } }//package
Section 236
//ExitOrangeSprite (ExitOrangeSprite) package { import flash.display.*; public dynamic class ExitOrangeSprite extends MovieClip { public var front:MovieClip; public var back:MovieClip; } }//package
Section 237
//ExitRedSprite (ExitRedSprite) package { import flash.display.*; public dynamic class ExitRedSprite extends MovieClip { public var front:MovieClip; public var back:MovieClip; } }//package
Section 238
//FinishScreen (FinishScreen) package { import flash.display.*; import flash.text.*; public dynamic class FinishScreen extends MovieClip { public var btnMainMenu:SimpleButton; public var btnFunFlow:SimpleButton; public var fldTotalScore:TextField; public var btnSubmit:SimpleButton; public function FinishScreen(){ addFrameScript(0, frame1, 33, frame34); } function frame1(){ stop(); } function frame34(){ stop(); } } }//package
Section 239
//GameMenuSprite (GameMenuSprite) package { import flash.display.*; public dynamic class GameMenuSprite extends MovieClip { public var btnSelectLevel:SimpleButton; public var btnSound:MovieClip; public var btnRestart:SimpleButton; public var btnMusic:MovieClip; public var btnMainMenu:BtnMainMenu; public var btnResume:SimpleButton; public var btnWalkthrough:SimpleButton; public var back:MovieClip; } }//package
Section 240
//GameOverScreen (GameOverScreen) package { import flash.display.*; import flash.text.*; public dynamic class GameOverScreen extends MovieClip { public var btnMoreGames:SimpleButton; public var fldMessage:TextField; public var btnWalkthrough:SimpleButton; public var btnTryAgain:SimpleButton; public function GameOverScreen(){ addFrameScript(0, frame1, 33, frame34); } function frame1(){ stop(); } function frame34(){ stop(); } } }//package
Section 241
//Grass_1 (Grass_1) package { import flash.display.*; public dynamic class Grass_1 extends MovieClip { } }//package
Section 242
//Grass_2 (Grass_2) package { import flash.display.*; public dynamic class Grass_2 extends MovieClip { } }//package
Section 243
//Grass_3 (Grass_3) package { import flash.display.*; public dynamic class Grass_3 extends MovieClip { } }//package
Section 244
//Grass_4 (Grass_4) package { import flash.display.*; public dynamic class Grass_4 extends MovieClip { } }//package
Section 245
//Ground (Ground) package { import flash.display.*; public dynamic class Ground extends MovieClip { } }//package
Section 246
//Ground_2 (Ground_2) package { import flash.display.*; public dynamic class Ground_2 extends MovieClip { } }//package
Section 247
//Ground_3 (Ground_3) package { import flash.display.*; public dynamic class Ground_3 extends MovieClip { } }//package
Section 248
//Ground_4 (Ground_4) package { import flash.display.*; public dynamic class Ground_4 extends MovieClip { } }//package
Section 249
//Gutter_1 (Gutter_1) package { import flash.display.*; public dynamic class Gutter_1 extends MovieClip { } }//package
Section 250
//Gutter_2 (Gutter_2) package { import flash.display.*; public dynamic class Gutter_2 extends MovieClip { } }//package
Section 251
//Idol_1 (Idol_1) package { import flash.display.*; public dynamic class Idol_1 extends MovieClip { } }//package
Section 252
//Idol_2 (Idol_2) package { import flash.display.*; public dynamic class Idol_2 extends MovieClip { } }//package
Section 253
//Idol_3 (Idol_3) package { import flash.display.*; public dynamic class Idol_3 extends MovieClip { } }//package
Section 254
//Idol_4 (Idol_4) package { import flash.display.*; public dynamic class Idol_4 extends MovieClip { } }//package
Section 255
//Idol_5 (Idol_5) package { import flash.display.*; public dynamic class Idol_5 extends MovieClip { } }//package
Section 256
//InterfaceScreen (InterfaceScreen) package { import flash.display.*; import flash.text.*; public dynamic class InterfaceScreen extends MovieClip { public var btnHand:MovieClip; public var btnRestart:SimpleButton; public var fldTime:TextField; public var btnFunFlow:SimpleButton; public var numbers:MovieClip; public var btnSpring:MovieClip; public var fldStars:TextField; public var btnStick:MovieClip; public var fldLevel:TextField; public var fldScore:TextField; public var btnMenu:SimpleButton; } }//package
Section 257
//Island_1 (Island_1) package { import flash.display.*; public dynamic class Island_1 extends MovieClip { } }//package
Section 258
//Island_130 (Island_130) package { import flash.display.*; public dynamic class Island_130 extends MovieClip { } }//package
Section 259
//Island_190 (Island_190) package { import flash.display.*; public dynamic class Island_190 extends MovieClip { } }//package
Section 260
//Island_240 (Island_240) package { import flash.display.*; public dynamic class Island_240 extends MovieClip { } }//package
Section 261
//Island_270 (Island_270) package { import flash.display.*; public dynamic class Island_270 extends MovieClip { } }//package
Section 262
//Island_70 (Island_70) package { import flash.display.*; public dynamic class Island_70 extends MovieClip { } }//package
Section 263
//LevelButtonSprite (LevelButtonSprite) package { import flash.display.*; import flash.text.*; public dynamic class LevelButtonSprite extends MovieClip { public var stars:MovieClip; public var num:TextField; public function LevelButtonSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 264
//LevelMenuScreen (LevelMenuScreen) package { import flash.display.*; import flash.text.*; public dynamic class LevelMenuScreen extends MovieClip { public var fldBestScore:TextField; public var btnEraseScores:SimpleButton; public var stars:MovieClip; public var fldTotalScore:TextField; public var fldLevel:TextField; public var preview:MovieClip; } }//package
Section 265
//Liana_1 (Liana_1) package { import flash.display.*; public dynamic class Liana_1 extends MovieClip { } }//package
Section 266
//MainMenuScreen (MainMenuScreen) package { import flash.display.*; public dynamic class MainMenuScreen extends MovieClip { public var btnHiScores:SimpleButton; public var btnSound:MovieClip; public var btnMusic:MovieClip; public var btnHostGame:SimpleButton; public var btnFunFlow:SimpleButton; public var btnMoreGames:SimpleButton; public var btnCredits:SimpleButton; public var btnPlayGame:SimpleButton; public function MainMenuScreen(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 267
//MotorSprite (MotorSprite) package { import flash.display.*; public dynamic class MotorSprite extends MovieClip { public function MotorSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 268
//Music_1 (Music_1) package { import flash.media.*; public dynamic class Music_1 extends Sound { } }//package
Section 269
//Music_2 (Music_2) package { import flash.media.*; public dynamic class Music_2 extends Sound { } }//package
Section 270
//PaperSprite (PaperSprite) package { import flash.display.*; public dynamic class PaperSprite extends MovieClip { public var btnMainMenu:BtnMainMenu; public var paperMask:MovieClip; public var info:MovieClip; public function PaperSprite(){ addFrameScript(29, frame30, 60, frame61); } function frame30(){ stop(); } function frame61(){ stop(); } } }//package
Section 271
//PinSprite (PinSprite) package { import flash.display.*; public dynamic class PinSprite extends MovieClip { public function PinSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 272
//Platform_1 (Platform_1) package { import flash.display.*; public dynamic class Platform_1 extends MovieClip { } }//package
Section 273
//Platform_2 (Platform_2) package { import flash.display.*; public dynamic class Platform_2 extends MovieClip { } }//package
Section 274
//PreloaderScreen (PreloaderScreen) package { import flash.display.*; import flash.text.*; public dynamic class PreloaderScreen extends MovieClip { public var bar:MovieClip; public var btnFunFlow:SimpleButton; public var fldPrecent:TextField; public var btnPlay:SimpleButton; public function PreloaderScreen(){ addFrameScript(33, frame34, 68, frame69); } function frame34(){ stop(); } function frame69(){ stop(); } } }//package
Section 275
//RailSprite (RailSprite) package { import flash.display.*; public dynamic class RailSprite extends MovieClip { public function RailSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 276
//RectPoint (RectPoint) package { import flash.display.*; public dynamic class RectPoint extends MovieClip { public function RectPoint(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 277
//Rope_Node (Rope_Node) package { import flash.display.*; public dynamic class Rope_Node extends MovieClip { } }//package
Section 278
//Rope_Roll (Rope_Roll) package { import flash.display.*; public dynamic class Rope_Roll extends MovieClip { } }//package
Section 279
//SndBlow (SndBlow) package { import flash.media.*; public dynamic class SndBlow extends Sound { } }//package
Section 280
//SndChange (SndChange) package { import flash.media.*; public dynamic class SndChange extends Sound { } }//package
Section 281
//SndClick (SndClick) package { import flash.media.*; public dynamic class SndClick extends Sound { } }//package
Section 282
//SndClose (SndClose) package { import flash.media.*; public dynamic class SndClose extends Sound { } }//package
Section 283
//SndComplete (SndComplete) package { import flash.media.*; public dynamic class SndComplete extends Sound { } }//package
Section 284
//SndOpen (SndOpen) package { import flash.media.*; public dynamic class SndOpen extends Sound { } }//package
Section 285
//SndSpring (SndSpring) package { import flash.media.*; public dynamic class SndSpring extends Sound { } }//package
Section 286
//SndStar (SndStar) package { import flash.media.*; public dynamic class SndStar extends Sound { } }//package
Section 287
//Spines_1 (Spines_1) package { import flash.display.*; public dynamic class Spines_1 extends MovieClip { } }//package
Section 288
//Spoke (Spoke) package { import flash.display.*; public dynamic class Spoke extends MovieClip { } }//package
Section 289
//SpokeOnRopeH (SpokeOnRopeH) package { import flash.display.*; public dynamic class SpokeOnRopeH extends MovieClip { } }//package
Section 290
//SpokeOnRopeV (SpokeOnRopeV) package { import flash.display.*; public dynamic class SpokeOnRopeV extends MovieClip { } }//package
Section 291
//Springboard (Springboard) package { import flash.display.*; public dynamic class Springboard extends MovieClip { } }//package
Section 292
//SpringSprite (SpringSprite) package { import flash.display.*; public dynamic class SpringSprite extends MovieClip { public function SpringSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 293
//StarSprite (StarSprite) package { import flash.display.*; public dynamic class StarSprite extends MovieClip { } }//package
Section 294
//Starter_L (Starter_L) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.geom.*; import flash.text.*; import flash.media.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; public dynamic class Starter_L extends MovieClip { public var starter:MovieClip; public function Starter_L(){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 14, frame15, 21, frame22, 26, frame27); } function frame15(){ starter.num.nextFrame(); } function frame1(){ stop(); } function frame22(){ starter.play(); } function frame5(){ starter.play(); } function frame2(){ if (starter.num.currentFrame == 5){ gotoAndStop(1); }; } function frame27(){ gotoAndPlay(2); } } }//package
Section 295
//Starter_R (Starter_R) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.geom.*; import flash.text.*; import flash.media.*; import flash.system.*; import adobe.utils.*; import flash.accessibility.*; import flash.errors.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; public dynamic class Starter_R extends MovieClip { public var starter:MovieClip; public function Starter_R(){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 14, frame15, 19, frame20, 26, frame27); } function frame15(){ starter.num.nextFrame(); } function frame1(){ stop(); } function frame5(){ starter.play(); } function frame20(){ starter.play(); } function frame2(){ if (starter.num.currentFrame == 5){ gotoAndStop(1); }; } function frame27(){ gotoAndPlay(2); } } }//package
Section 296
//StartWindowSprite (StartWindowSprite) package { import flash.display.*; public dynamic class StartWindowSprite extends MovieClip { public var btnStart:SimpleButton; public function StartWindowSprite(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 297
//StickSprite (StickSprite) package { import flash.display.*; public dynamic class StickSprite extends MovieClip { public var cross:MovieClip; public function StickSprite(){ addFrameScript(0, frame1); } function frame1(){ cross.visible = false; stop(); } } }//package
Section 298
//Stone_1 (Stone_1) package { import flash.display.*; public dynamic class Stone_1 extends MovieClip { } }//package
Section 299
//Stone_2 (Stone_2) package { import flash.display.*; public dynamic class Stone_2 extends MovieClip { } }//package
Section 300
//Stone_3 (Stone_3) package { import flash.display.*; public dynamic class Stone_3 extends MovieClip { } }//package
Section 301
//Sun (Sun) package { import flash.display.*; public dynamic class Sun extends MovieClip { } }//package
Section 302
//Tree_1 (Tree_1) package { import flash.display.*; public dynamic class Tree_1 extends MovieClip { } }//package
Section 303
//Tree_2 (Tree_2) package { import flash.display.*; public dynamic class Tree_2 extends MovieClip { } }//package
Section 304
//Tree_3 (Tree_3) package { import flash.display.*; public dynamic class Tree_3 extends MovieClip { } }//package
Section 305
//Tree_4 (Tree_4) package { import flash.display.*; public dynamic class Tree_4 extends MovieClip { } }//package
Section 306
//Tree_5 (Tree_5) package { import flash.display.*; public dynamic class Tree_5 extends MovieClip { } }//package
Section 307
//Tree_Up (Tree_Up) package { import flash.display.*; public dynamic class Tree_Up extends MovieClip { } }//package
Section 308
//TruckBody (TruckBody) package { import flash.display.*; public dynamic class TruckBody extends MovieClip { } }//package
Section 309
//TruckWheel (TruckWheel) package { import flash.display.*; public dynamic class TruckWheel extends MovieClip { } }//package
Section 310
//TSpringSprite (TSpringSprite) package { import flash.display.*; public dynamic class TSpringSprite extends MovieClip { public function TSpringSprite(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 311
//Tut_1_Sprite (Tut_1_Sprite) package { import flash.display.*; public dynamic class Tut_1_Sprite extends MovieClip { public var movie:MovieClip; public var btnStart:SimpleButton; public function Tut_1_Sprite(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 312
//Tut_3_Sprite (Tut_3_Sprite) package { import flash.display.*; public dynamic class Tut_3_Sprite extends MovieClip { public var movie:MovieClip; public var btnStart:SimpleButton; public function Tut_3_Sprite(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 313
//Tut_4_Sprite (Tut_4_Sprite) package { import flash.display.*; public dynamic class Tut_4_Sprite extends MovieClip { public var movie:MovieClip; public var btnStart:SimpleButton; public function Tut_4_Sprite(){ addFrameScript(0, frame1, 19, frame20); } function frame1(){ stop(); } function frame20(){ stop(); } } }//package
Section 314
//WheelSprite (WheelSprite) package { import flash.display.*; public dynamic class WheelSprite extends MovieClip { } }//package
Section 315
//Wood_Bridge_1 (Wood_Bridge_1) package { import flash.display.*; public dynamic class Wood_Bridge_1 extends MovieClip { } }//package
Section 316
//Wood_Bridge_2 (Wood_Bridge_2) package { import flash.display.*; public dynamic class Wood_Bridge_2 extends MovieClip { } }//package
Section 317
//Wood_Bridge_3 (Wood_Bridge_3) package { import flash.display.*; public dynamic class Wood_Bridge_3 extends MovieClip { } }//package
Section 318
//Wood_Bridge_4 (Wood_Bridge_4) package { import flash.display.*; public dynamic class Wood_Bridge_4 extends MovieClip { } }//package

Library Items

Symbol 1 GraphicUsed by:2 51 79
Symbol 2 MovieClipUses:1Used by:56
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClipUses:3Used by:56 380 728 835 847 884 900 906
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:56
Symbol 7 FontUsed by:8 9 11 137 141 144 147 150 153 156 159 162 165 168 171 174 177 180 183 186 189 192 195 198 201 204 207 328 329 331 332 334 335 337 338 340 341 372 373 374 376 377 378 473 474 494 572 575 578 587 695 696 698 699 701 702 704 705 720 721 722 723 725 726 770 771 772 773 776 777 780 781 782 783 802 805 806 807 808 809 810 811 812 813 814 815 816 830 831 834 836 837 838 839 841 842 844 845
Symbol 8 TextUses:7Used by:56
Symbol 9 EditableTextUses:7 852Used by:56
Symbol 10 GraphicUsed by:14
Symbol 11 TextUses:7Used by:14
Symbol 12 GraphicUsed by:14
Symbol 13 GraphicUsed by:14
Symbol 14 ButtonUses:10 11 12 13Used by:56
Symbol 15 GraphicUsed by:31
Symbol 16 GraphicUsed by:31
Symbol 17 GraphicUsed by:31
Symbol 18 GraphicUsed by:31
Symbol 19 GraphicUsed by:31
Symbol 20 GraphicUsed by:31
Symbol 21 GraphicUsed by:31
Symbol 22 GraphicUsed by:31
Symbol 23 GraphicUsed by:31
Symbol 24 GraphicUsed by:31
Symbol 25 GraphicUsed by:31
Symbol 26 GraphicUsed by:31
Symbol 27 GraphicUsed by:31
Symbol 28 GraphicUsed by:31
Symbol 29 GraphicUsed by:31
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30Used by:56
Symbol 32 GraphicUsed by:48
Symbol 33 GraphicUsed by:48
Symbol 34 GraphicUsed by:48
Symbol 35 GraphicUsed by:48
Symbol 36 GraphicUsed by:48
Symbol 37 GraphicUsed by:48
Symbol 38 GraphicUsed by:48
Symbol 39 GraphicUsed by:48
Symbol 40 GraphicUsed by:48
Symbol 41 GraphicUsed by:48
Symbol 42 GraphicUsed by:48
Symbol 43 GraphicUsed by:48
Symbol 44 GraphicUsed by:48
Symbol 45 GraphicUsed by:48
Symbol 46 GraphicUsed by:48
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClip {Preloader_fla.PreloadBar_7} [Preloader_fla.PreloadBar_7]Uses:32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47Used by:56
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:51 343
Symbol 51 ButtonUses:50 1Used by:56
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:52Used by:56 380 728 835 847 884 900 906
Symbol 54 GraphicUsed by:55
Symbol 55 MovieClipUses:54Used by:56 380 728 835 847 884 900 906
Symbol 56 MovieClip {PreloaderScreen} [PreloaderScreen]Uses:2 4 6 8 9 14 31 48 51 53 55
Symbol 57 GraphicUsed by:79
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClipUses:58Used by:79
Symbol 60 GraphicUsed by:79
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:77 78
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:63Used by:77 78
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:77 78
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:77 78
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:77 78
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:77 78
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:77 78
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:75Used by:77 78
Symbol 77 MovieClipUses:62 64 66 68 70 72 74 76Used by:79
Symbol 78 MovieClipUses:72 74 66 62 64 76 68 70Used by:79
Symbol 79 MovieClip {Background} [Background]Uses:1 57 59 60 77 78
Symbol 80 BitmapUsed by:81
Symbol 81 GraphicUses:80Used by:92
Symbol 82 GraphicUsed by:92
Symbol 83 GraphicUsed by:92
Symbol 84 GraphicUsed by:92 623 637
Symbol 85 ShapeTweeningUsed by:92
Symbol 86 GraphicUsed by:92
Symbol 87 GraphicUsed by:92
Symbol 88 GraphicUsed by:92
Symbol 89 GraphicUsed by:92
Symbol 90 GraphicUsed by:92
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClip {BallBlueSprite} [BallBlueSprite]Uses:81 82 83 84 85 86 87 88 89 90 91
Symbol 93 BitmapUsed by:94
Symbol 94 GraphicUses:93Used by:95
Symbol 95 MovieClip {SpokeOnRopeV} [SpokeOnRopeV]Uses:94
Symbol 96 GraphicUsed by:118 119
Symbol 97 GraphicUsed by:117
Symbol 98 GraphicUsed by:99
Symbol 99 MovieClipUses:98Used by:115 116
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClipUses:100Used by:115 116
Symbol 102 GraphicUsed by:103
Symbol 103 MovieClipUses:102Used by:115 116
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClipUses:104Used by:115 116
Symbol 106 GraphicUsed by:107
Symbol 107 MovieClipUses:106Used by:115 116
Symbol 108 GraphicUsed by:109
Symbol 109 MovieClipUses:108Used by:115 116
Symbol 110 GraphicUsed by:115 116
Symbol 111 GraphicUsed by:112
Symbol 112 MovieClipUses:111Used by:115 116
Symbol 113 GraphicUsed by:114
Symbol 114 MovieClipUses:113Used by:115 116
Symbol 115 MovieClipUses:99 101 103 105 107 109 110 112 114Used by:117
Symbol 116 MovieClipUses:109 112 99 110 103 101 114 105 107Used by:117
Symbol 117 MovieClipUses:97 115 116Used by:118 119
Symbol 118 MovieClip {Back_1} [Back_1]Uses:96 117
Symbol 119 MovieClip {Back_2} [Back_2]Uses:96 117
Symbol 120 GraphicUsed by:122
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClip {RailSprite} [RailSprite]Uses:120 121
Symbol 123 BitmapUsed by:124
Symbol 124 GraphicUses:123Used by:125
Symbol 125 MovieClip {WheelSprite} [WheelSprite]Uses:124
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:128
Symbol 128 MovieClip {BridgeNode_1} [BridgeNode_1]Uses:127
Symbol 129 BitmapUsed by:130
Symbol 130 GraphicUses:129Used by:131
Symbol 131 MovieClip {BridgeNode_2} [BridgeNode_2]Uses:130
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClip {Spoke} [Spoke]Uses:132
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:136
Symbol 136 MovieClip {BridgeNode_3} [BridgeNode_3]Uses:135
Symbol 137 TextUses:7Used by:211
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:211
Symbol 140 GraphicUsed by:211
Symbol 141 TextUses:7Used by:211
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:211
Symbol 144 TextUses:7Used by:211
Symbol 145 BitmapUsed by:146
Symbol 146 GraphicUses:145Used by:211
Symbol 147 TextUses:7Used by:211
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:211
Symbol 150 TextUses:7Used by:211
Symbol 151 BitmapUsed by:152
Symbol 152 GraphicUses:151Used by:211
Symbol 153 TextUses:7Used by:211
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:211
Symbol 156 TextUses:7Used by:211
Symbol 157 BitmapUsed by:158
Symbol 158 GraphicUses:157Used by:211
Symbol 159 TextUses:7Used by:211
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:211
Symbol 162 TextUses:7Used by:211
Symbol 163 BitmapUsed by:164
Symbol 164 GraphicUses:163Used by:211
Symbol 165 TextUses:7Used by:211
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:211
Symbol 168 TextUses:7Used by:211
Symbol 169 BitmapUsed by:170
Symbol 170 GraphicUses:169Used by:211
Symbol 171 TextUses:7Used by:211
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:211
Symbol 174 TextUses:7Used by:211
Symbol 175 BitmapUsed by:176
Symbol 176 GraphicUses:175Used by:211
Symbol 177 TextUses:7Used by:211
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:211
Symbol 180 TextUses:7Used by:211
Symbol 181 BitmapUsed by:182
Symbol 182 GraphicUses:181Used by:211
Symbol 183 TextUses:7Used by:211
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:211
Symbol 186 TextUses:7Used by:211
Symbol 187 BitmapUsed by:188
Symbol 188 GraphicUses:187Used by:211
Symbol 189 TextUses:7Used by:211
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:211
Symbol 192 TextUses:7Used by:211
Symbol 193 BitmapUsed by:194
Symbol 194 GraphicUses:193Used by:211
Symbol 195 TextUses:7Used by:211
Symbol 196 BitmapUsed by:197
Symbol 197 GraphicUses:196Used by:211
Symbol 198 TextUses:7Used by:211
Symbol 199 BitmapUsed by:200
Symbol 200 GraphicUses:199Used by:211
Symbol 201 TextUses:7Used by:211
Symbol 202 BitmapUsed by:203
Symbol 203 GraphicUses:202Used by:211
Symbol 204 TextUses:7Used by:211
Symbol 205 BitmapUsed by:206
Symbol 206 GraphicUses:205Used by:211
Symbol 207 TextUses:7Used by:211
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:211
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClip {Menu_fla.Preview_120} [Menu_fla.Preview_120]Uses:137 139 140 141 143 144 146 147 149 150 152 153 155 156 158 159 161 162 164 165 167 168 170 171 173 174 176 177 179 180 182 183 185 186 188 189 191 192 194 195 197 198 200 201 203 204 206 207 209 210Used by:784
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:214
Symbol 214 MovieClip {SpokeOnRopeH} [SpokeOnRopeH]Uses:213
Symbol 215 GraphicUsed by:237
Symbol 216 GraphicUsed by:217
Symbol 217 MovieClipUses:216Used by:237 310 409 539 542 547 595 602 606 656 769 868 871
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClipUses:218Used by:237 409 539 542 547 595 602 606 656 769 868 871
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClipUses:220Used by:237 409 539 542 595 602 606 656
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:222Used by:237 409 539 542 547 595 602 606 656 769 868 871
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:237 409 539 542 547 595 602 606 868
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClipUses:226Used by:237 409 539 542 547 595 602 606 656 769 868 871
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:228Used by:237 409 539 542 547 595 602 606 656 769
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:237 409 539 542 595 606 656 769 868 871
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClipUses:232Used by:237 539 595 769 868 871
Symbol 234 GraphicUsed by:235
Symbol 235 MovieClipUses:234Used by:237 310 409 539 542 547 595 606 656 769
Symbol 236 GraphicUsed by:237
Symbol 237 MovieClip {Island_130} [Island_130]Uses:215 217 219 221 223 225 227 229 231 233 235 236
Symbol 238 GraphicUsed by:240
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClip {CirclePoint} [CirclePoint]Uses:238 239
Symbol 241 GraphicUsed by:264 330 333 336 339 342 343 371 375 379 583 724 727 840 843 846
Symbol 242 GraphicUsed by:264
Symbol 243 GraphicUsed by:244
Symbol 244 MovieClipUses:243Used by:264
Symbol 245 GraphicUsed by:264
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246Used by:262 263
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClipUses:248Used by:262 263
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:250Used by:262 263
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClipUses:252Used by:262 263
Symbol 254 GraphicUsed by:255
Symbol 255 MovieClipUses:254Used by:262 263
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClipUses:256Used by:262 263
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClipUses:258Used by:262 263
Symbol 260 GraphicUsed by:261
Symbol 261 MovieClipUses:260Used by:262 263
Symbol 262 MovieClipUses:247 249 251 253 255 257 259 261Used by:264
Symbol 263 MovieClipUses:257 259 251 247 249 261 253 255Used by:264
Symbol 264 MovieClipUses:241 242 244 245 262 263Used by:360
Symbol 265 GraphicUsed by:317
Symbol 266 GraphicUsed by:317
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:269
Symbol 269 MovieClipUses:268Used by:317 694
Symbol 270 GraphicUsed by:310
Symbol 271 GraphicUsed by:272
Symbol 272 MovieClipUses:271Used by:310
Symbol 273 GraphicUsed by:274
Symbol 274 MovieClipUses:273Used by:310
Symbol 275 GraphicUsed by:276
Symbol 276 MovieClipUses:275Used by:310 539 595 602
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClipUses:277Used by:310
Symbol 279 GraphicUsed by:280
Symbol 280 MovieClipUses:279Used by:310
Symbol 281 GraphicUsed by:282
Symbol 282 MovieClipUses:281Used by:310
Symbol 283 GraphicUsed by:284
Symbol 284 MovieClipUses:283Used by:310
Symbol 285 GraphicUsed by:286
Symbol 286 MovieClipUses:285Used by:310
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClipUses:287Used by:310
Symbol 289 GraphicUsed by:290
Symbol 290 MovieClipUses:289Used by:310
Symbol 291 GraphicUsed by:292
Symbol 292 MovieClipUses:291Used by:310
Symbol 293 GraphicUsed by:294
Symbol 294 MovieClipUses:293Used by:310
Symbol 295 GraphicUsed by:296
Symbol 296 MovieClipUses:295Used by:310
Symbol 297 GraphicUsed by:298
Symbol 298 MovieClipUses:297Used by:310
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClipUses:299Used by:310
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:301Used by:310
Symbol 303 GraphicUsed by:304
Symbol 304 MovieClipUses:303Used by:310
Symbol 305 GraphicUsed by:306
Symbol 306 MovieClipUses:305Used by:310
Symbol 307 GraphicUsed by:308
Symbol 308 MovieClipUses:307Used by:310
Symbol 309 GraphicUsed by:310
Symbol 310 MovieClipUses:270 272 274 217 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 306 235 308 309Used by:317
Symbol 311 GraphicUsed by:312
Symbol 312 MovieClipUses:311Used by:317
Symbol 313 GraphicUsed by:314
Symbol 314 MovieClipUses:313Used by:317
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClipUses:315Used by:317 694
Symbol 317 MovieClipUses:265 266 269 310 312 314 316Used by:360
Symbol 318 GraphicUsed by:325
Symbol 319 GraphicUsed by:320
Symbol 320 MovieClipUses:319Used by:325
Symbol 321 BitmapUsed by:322
Symbol 322 GraphicUses:321Used by:323
Symbol 323 MovieClipUses:322Used by:325
Symbol 324 GraphicUsed by:325
Symbol 325 MovieClipUses:318 320 323 324Used by:360
Symbol 326 GraphicUsed by:327
Symbol 327 MovieClipUses:326Used by:330 333 336 339 342 476 697 700 703 706
Symbol 328 TextUses:7Used by:330
Symbol 329 TextUses:7Used by:330
Symbol 330 ButtonUses:327 328 329 241Used by:360
Symbol 331 TextUses:7Used by:333
Symbol 332 TextUses:7Used by:333
Symbol 333 ButtonUses:327 331 332 241Used by:360
Symbol 334 TextUses:7Used by:336
Symbol 335 TextUses:7Used by:336
Symbol 336 ButtonUses:327 334 335 241Used by:360
Symbol 337 TextUses:7Used by:339
Symbol 338 TextUses:7Used by:339
Symbol 339 ButtonUses:327 337 338 241Used by:360
Symbol 340 TextUses:7Used by:342
Symbol 341 TextUses:7Used by:342
Symbol 342 ButtonUses:327 340 341 241Used by:360
Symbol 343 ButtonUses:50 241Used by:360 380 588 728
Symbol 344 GraphicUsed by:345
Symbol 345 MovieClipUses:344Used by:349 351 369 370 899
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClipUses:346Used by:349 351
Symbol 348 GraphicUsed by:349 351 357 358
Symbol 349 ButtonUses:345 347 348Used by:352
Symbol 350 GraphicUsed by:351 358
Symbol 351 ButtonUses:345 347 350 348Used by:352
Symbol 352 MovieClip {Menu_fla.SwitchSound_52} [Menu_fla.SwitchSound_52]Uses:349 351Used by:360 707
Symbol 353 GraphicUsed by:354
Symbol 354 MovieClipUses:353Used by:357 358 512 513
Symbol 355 GraphicUsed by:356
Symbol 356 MovieClipUses:355Used by:357 358
Symbol 357 ButtonUses:354 356 348Used by:359
Symbol 358 ButtonUses:354 356 350 348Used by:359
Symbol 359 MovieClip {Menu_fla.SwitchMusic_57} [Menu_fla.SwitchMusic_57]Uses:357 358Used by:360 707
Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen]Uses:264 317 325 330 333 336 339 342 343 352 359
Symbol 361 GraphicUsed by:362
Symbol 362 MovieClip {Tree_Up} [Tree_Up]Uses:361
Symbol 363 BitmapUsed by:364
Symbol 364 GraphicUses:363Used by:365
Symbol 365 MovieClip {TruckWheel} [TruckWheel]Uses:364
Symbol 366 GraphicUsed by:367
Symbol 367 MovieClipUses:366Used by:369 370 899
Symbol 368 GraphicUsed by:369 512 525 586
Symbol 369 ButtonUses:345 367 368Used by:370
Symbol 370 MovieClip {Menu_fla.SpringSwitch_109} [Menu_fla.SpringSwitch_109]Uses:369 345 367Used by:588
Symbol 371 MovieClipUses:241Used by:380 488 728 835 847
Symbol 372 TextUses:7Used by:380
Symbol 373 TextUses:7Used by:375
Symbol 374 TextUses:7Used by:375
Symbol 375 ButtonUses:373 374 241Used by:380
Symbol 376 EditableTextUses:7 852Used by:380 728
Symbol 377 TextUses:7Used by:379
Symbol 378 TextUses:7Used by:379
Symbol 379 ButtonUses:377 378 241Used by:380
Symbol 380 MovieClip {FinishScreen} [FinishScreen]Uses:371 4 372 343 375 376 379 53 55
Symbol 381 GraphicUsed by:388
Symbol 382 GraphicUsed by:383
Symbol 383 MovieClipUses:382Used by:388 899
Symbol 384 GraphicUsed by:385
Symbol 385 MovieClipUses:384Used by:388
Symbol 386 GraphicUsed by:387
Symbol 387 MovieClipUses:386Used by:388 899
Symbol 388 MovieClip {Menu_fla.Numbers_98} [Menu_fla.Numbers_98]Uses:381 383 385 387Used by:588
Symbol 389 GraphicUsed by:409
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClipUses:390Used by:409 539 542 547 595 602 606 656
Symbol 392 GraphicUsed by:393
Symbol 393 MovieClipUses:392Used by:409 539 542 547 595 602 606
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClipUses:394Used by:409 539 542 547 595 602 606 656
Symbol 396 GraphicUsed by:397
Symbol 397 MovieClipUses:396Used by:409 539 542 547 595 602 606 656
Symbol 398 GraphicUsed by:399
Symbol 399 MovieClipUses:398Used by:409 539 542 547 595 602 606 656
Symbol 400 GraphicUsed by:401
Symbol 401 MovieClipUses:400Used by:409 539 542 547 595 602 606 656
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClipUses:402Used by:409 539 542 547 595 602 606 656
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:409 539 542 547 595 602 606
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClipUses:406Used by:409 539 542 547 595 602 606 656
Symbol 408 GraphicUsed by:409
Symbol 409 MovieClip {Island_240} [Island_240]Uses:389 391 393 217 219 221 223 225 227 395 397 399 229 401 403 231 405 407 235 408
Symbol 410 GraphicUsed by:423
Symbol 411 GraphicUsed by:422 713
Symbol 412 GraphicUsed by:422
Symbol 413 GraphicUsed by:418
Symbol 414 GraphicUsed by:418
Symbol 415 GraphicUsed by:418
Symbol 416 GraphicUsed by:418
Symbol 417 GraphicUsed by:418
Symbol 418 MovieClip {Art_fla.Numbers_63} [Art_fla.Numbers_63]Uses:413 414 415 416 417Used by:422 713
Symbol 419 GraphicUsed by:422 713
Symbol 420 GraphicUsed by:422 713
Symbol 421 GraphicUsed by:422 713
Symbol 422 MovieClip {Art_fla.Starter_Sprite_L_65} [Art_fla.Starter_Sprite_L_65]Uses:411 412 418 419 420 421Used by:423
Symbol 423 MovieClip {Starter_L} [Starter_L]Uses:410 422
Symbol 424 GraphicUsed by:425
Symbol 425 MovieClipUses:424Used by:428 905
Symbol 426 GraphicUsed by:427
Symbol 427 MovieClipUses:426Used by:428 905
Symbol 428 MovieClip {SpringSprite} [SpringSprite]Uses:425 427
Symbol 429 BitmapUsed by:430 607 674
Symbol 430 GraphicUses:429Used by:431
Symbol 431 MovieClipUses:430Used by:435
Symbol 432 BitmapUsed by:433
Symbol 433 GraphicUses:432Used by:434
Symbol 434 MovieClipUses:433Used by:435 609 676
Symbol 435 MovieClip {ExitRedSprite} [ExitRedSprite]Uses:431 434
Symbol 436 Sound {SndClose} [SndClose]
Symbol 437 Sound {SndOpen} [SndOpen]
Symbol 438 BitmapUsed by:439
Symbol 439 GraphicUses:438Used by:470
Symbol 440 BitmapUsed by:441
Symbol 441 GraphicUses:440Used by:470
Symbol 442 BitmapUsed by:443
Symbol 443 GraphicUses:442Used by:470
Symbol 444 BitmapUsed by:445
Symbol 445 GraphicUses:444Used by:470
Symbol 446 BitmapUsed by:447
Symbol 447 GraphicUses:446Used by:470
Symbol 448 BitmapUsed by:449
Symbol 449 GraphicUses:448Used by:470
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:470
Symbol 452 BitmapUsed by:453
Symbol 453 GraphicUses:452Used by:470
Symbol 454 BitmapUsed by:455
Symbol 455 GraphicUses:454Used by:470
Symbol 456 BitmapUsed by:457
Symbol 457 GraphicUses:456Used by:470
Symbol 458 BitmapUsed by:459
Symbol 459 GraphicUses:458Used by:470
Symbol 460 BitmapUsed by:461
Symbol 461 GraphicUses:460Used by:470
Symbol 462 BitmapUsed by:463
Symbol 463 GraphicUses:462Used by:470
Symbol 464 BitmapUsed by:465
Symbol 465 GraphicUses:464Used by:470
Symbol 466 BitmapUsed by:467
Symbol 467 GraphicUses:466Used by:470
Symbol 468 BitmapUsed by:469
Symbol 469 GraphicUses:468Used by:470
Symbol 470 MovieClip {StarSprite} [StarSprite]Uses:439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469
Symbol 471 GraphicUsed by:472
Symbol 472 MovieClipUses:471Used by:488
Symbol 473 TextUses:7Used by:476
Symbol 474 TextUses:7Used by:476
Symbol 475 GraphicUsed by:476 697 700 703 706
Symbol 476 Button {BtnMainMenu} [BtnMainMenu]Uses:327 473 474 475Used by:488 707
Symbol 477 BitmapUsed by:478
Symbol 478 GraphicUses:477Used by:479
Symbol 479 MovieClipUses:478Used by:488 835
Symbol 480 BitmapUsed by:481
Symbol 481 GraphicUses:480Used by:482
Symbol 482 MovieClipUses:481Used by:488 835
Symbol 483 BitmapUsed by:484
Symbol 484 GraphicUses:483Used by:485
Symbol 485 MovieClipUses:484Used by:488
Symbol 486 GraphicUsed by:487
Symbol 487 MovieClipUses:486Used by:488
Symbol 488 MovieClip {PaperSprite} [PaperSprite]Uses:371 472 476 479 482 485 487
Symbol 489 GraphicUsed by:493
Symbol 490 GraphicUsed by:493
Symbol 491 GraphicUsed by:493
Symbol 492 GraphicUsed by:493
Symbol 493 ButtonUses:489 490 491 492Used by:501
Symbol 494 EditableTextUses:7Used by:501
Symbol 495 GraphicUsed by:499
Symbol 496 GraphicUsed by:499
Symbol 497 GraphicUsed by:499
Symbol 498 GraphicUsed by:499
Symbol 499 MovieClip {Menu_fla.Stars_mini_64} [Menu_fla.Stars_mini_64]Uses:495 496 497 498Used by:501
Symbol 500 GraphicUsed by:501
Symbol 501 MovieClip {LevelButtonSprite} [LevelButtonSprite]Uses:493 494 499 500
Symbol 502 GraphicUsed by:504
Symbol 503 GraphicUsed by:504
Symbol 504 MovieClip {TSpringSprite} [TSpringSprite]Uses:502 503
Symbol 505 GraphicUsed by:506
Symbol 506 MovieClip {Bush_2} [Bush_2]Uses:505
Symbol 507 Sound {SndBlow} [SndBlow]
Symbol 508 GraphicUsed by:509
Symbol 509 MovieClip {Bush_1} [Bush_1]Uses:508
Symbol 510 GraphicUsed by:511
Symbol 511 MovieClipUses:510Used by:512 513 899
Symbol 512 ButtonUses:354 511 368Used by:513
Symbol 513 MovieClip {Menu_fla.StickSwitch_106} [Menu_fla.StickSwitch_106]Uses:512 354 511Used by:588
Symbol 514 GraphicUsed by:515
Symbol 515 MovieClip {Bush_4} [Bush_4]Uses:514
Symbol 516 Sound {SndComplete} [SndComplete]
Symbol 517 GraphicUsed by:518
Symbol 518 MovieClip {Bush_3} [Bush_3]Uses:517
Symbol 519 GraphicUsed by:520
Symbol 520 MovieClip {Bush_5} [Bush_5]Uses:519
Symbol 521 GraphicUsed by:522
Symbol 522 MovieClipUses:521Used by:525 526
Symbol 523 GraphicUsed by:524
Symbol 524 MovieClipUses:523Used by:525 526 899
Symbol 525 ButtonUses:522 524 368Used by:526
Symbol 526 MovieClip {Menu_fla.HandSwitch_112} [Menu_fla.HandSwitch_112]Uses:525 522 524Used by:588
Symbol 527 GraphicUsed by:539
Symbol 528 GraphicUsed by:529
Symbol 529 MovieClipUses:528Used by:539 595 602
Symbol 530 GraphicUsed by:531
Symbol 531 MovieClipUses:530Used by:539 595 602
Symbol 532 GraphicUsed by:533
Symbol 533 MovieClipUses:532Used by:539 595 602
Symbol 534 GraphicUsed by:535
Symbol 535 MovieClipUses:534Used by:539 595 602
Symbol 536 GraphicUsed by:537
Symbol 537 MovieClipUses:536Used by:539 595
Symbol 538 GraphicUsed by:539
Symbol 539 MovieClip {Ground_3} [Ground_3]Uses:527 529 393 217 531 276 391 221 395 401 403 223 225 405 533 219 227 233 407 535 397 399 229 231 235 537 538
Symbol 540 GraphicUsed by:542
Symbol 541 GraphicUsed by:542
Symbol 542 MovieClip {Ground_2} [Ground_2]Uses:540 391 393 217 219 221 223 225 227 395 397 399 229 401 403 231 405 407 235 541
Symbol 543 GraphicUsed by:544
Symbol 544 MovieClip {Wood_Bridge_2} [Wood_Bridge_2]Uses:543
Symbol 545 GraphicUsed by:547
Symbol 546 GraphicUsed by:547
Symbol 547 MovieClip {Ground_4} [Ground_4]Uses:545 395 393 217 219 223 225 227 397 399 229 401 403 405 407 235 391 546
Symbol 548 GraphicUsed by:549
Symbol 549 MovieClip {Wood_Bridge_3} [Wood_Bridge_3]Uses:548
Symbol 550 GraphicUsed by:551
Symbol 551 MovieClip {Wood_Bridge_1} [Wood_Bridge_1]Uses:550
Symbol 552 GraphicUsed by:553
Symbol 553 MovieClip {Idol_4} [Idol_4]Uses:552
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClip {Idol_3} [Idol_3]Uses:554
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClip {Idol_5} [Idol_5]Uses:556
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClip {Wood_Bridge_4} [Wood_Bridge_4]Uses:558
Symbol 560 GraphicUsed by:561
Symbol 561 MovieClip {Idol_2} [Idol_2]Uses:560
Symbol 562 GraphicUsed by:563
Symbol 563 MovieClip {Idol_1} [Idol_1]Uses:562
Symbol 564 GraphicUsed by:565
Symbol 565 MovieClip {BridgeLeft} [BridgeLeft]Uses:564
Symbol 566 GraphicUsed by:567
Symbol 567 MovieClipUses:566Used by:588
Symbol 568 GraphicUsed by:569
Symbol 569 MovieClipUses:568Used by:588
Symbol 570 GraphicUsed by:571
Symbol 571 MovieClipUses:570Used by:588
Symbol 572 EditableTextUses:7 852Used by:588
Symbol 573 GraphicUsed by:574
Symbol 574 MovieClipUses:573Used by:588
Symbol 575 EditableTextUses:7 852Used by:588
Symbol 576 GraphicUsed by:577
Symbol 577 MovieClipUses:576Used by:588
Symbol 578 EditableTextUses:7 852Used by:588
Symbol 579 GraphicUsed by:580
Symbol 580 MovieClipUses:579Used by:588
Symbol 581 GraphicUsed by:582
Symbol 582 MovieClipUses:581Used by:583
Symbol 583 ButtonUses:582 241Used by:588
Symbol 584 GraphicUsed by:585
Symbol 585 MovieClipUses:584Used by:586
Symbol 586 ButtonUses:585 368Used by:588
Symbol 587 EditableTextUses:7 852Used by:588
Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen]Uses:567 569 571 572 574 575 577 578 580 388 583 586 513 370 526 343 587
Symbol 589 GraphicUsed by:590
Symbol 590 MovieClip {Grass_3} [Grass_3]Uses:589
Symbol 591 GraphicUsed by:592
Symbol 592 MovieClip {Grass_4} [Grass_4]Uses:591
Symbol 593 GraphicUsed by:595
Symbol 594 GraphicUsed by:595
Symbol 595 MovieClip {Ground} [Ground]Uses:593 529 393 217 531 276 219 535 391 221 397 395 401 403 223 225 399 405 533 229 231 407 227 233 235 537 594
Symbol 596 GraphicUsed by:597
Symbol 597 MovieClip {Grass_1} [Grass_1]Uses:596
Symbol 598 GraphicUsed by:599
Symbol 599 MovieClip {Grass_2} [Grass_2]Uses:598
Symbol 600 GraphicUsed by:602
Symbol 601 GraphicUsed by:602
Symbol 602 MovieClip {Island_1} [Island_1]Uses:600 529 393 397 217 221 531 276 535 391 395 401 403 223 225 399 405 533 229 219 407 227 601
Symbol 603 Sound {SndClick} [SndClick]
Symbol 604 GraphicUsed by:606
Symbol 605 GraphicUsed by:606
Symbol 606 MovieClip {Island_270} [Island_270]Uses:604 391 393 217 219 221 223 225 227 395 397 399 229 401 403 231 405 407 235 605
Symbol 607 GraphicUses:429Used by:608
Symbol 608 MovieClipUses:607Used by:609
Symbol 609 MovieClip {ExitBlueSprite} [ExitBlueSprite]Uses:608 434
Symbol 610 GraphicUsed by:611
Symbol 611 MovieClip {Platform_1} [Platform_1]Uses:610
Symbol 612 BitmapUsed by:613 881
Symbol 613 GraphicUses:612Used by:623
Symbol 614 GraphicUsed by:623
Symbol 615 GraphicUsed by:623
Symbol 616 ShapeTweeningUsed by:623
Symbol 617 GraphicUsed by:623
Symbol 618 GraphicUsed by:623
Symbol 619 GraphicUsed by:623
Symbol 620 GraphicUsed by:623
Symbol 621 GraphicUsed by:623
Symbol 622 GraphicUsed by:623
Symbol 623 MovieClip {BallRedSprite} [BallRedSprite]Uses:613 614 615 84 616 617 618 619 620 621 622
Symbol 624 GraphicUsed by:625
Symbol 625 MovieClip {Platform_2} [Platform_2]Uses:624
Symbol 626 BitmapUsed by:627
Symbol 627 GraphicUses:626Used by:637
Symbol 628 GraphicUsed by:637
Symbol 629 GraphicUsed by:637
Symbol 630 ShapeTweeningUsed by:637
Symbol 631 GraphicUsed by:637
Symbol 632 GraphicUsed by:637
Symbol 633 GraphicUsed by:637
Symbol 634 GraphicUsed by:637
Symbol 635 GraphicUsed by:637
Symbol 636 GraphicUsed by:637
Symbol 637 MovieClip {BallOrangeSprite} [BallOrangeSprite]Uses:627 628 629 84 630 631 632 633 634 635 636
Symbol 638 BitmapUsed by:639
Symbol 639 GraphicUses:638Used by:640
Symbol 640 MovieClipUses:639Used by:653
Symbol 641 GraphicUsed by:642
Symbol 642 MovieClipUses:641Used by:647
Symbol 643 GraphicUsed by:644
Symbol 644 MovieClipUses:643Used by:647
Symbol 645 BitmapUsed by:646
Symbol 646 GraphicUses:645Used by:647
Symbol 647 MovieClip {Art_fla.BasketFront_24} [Art_fla.BasketFront_24]Uses:642 644 646Used by:653
Symbol 648 GraphicUsed by:652
Symbol 649 GraphicUsed by:652
Symbol 650 GraphicUsed by:652
Symbol 651 GraphicUsed by:652
Symbol 652 ButtonUses:648 649 650 651Used by:653
Symbol 653 MovieClip {BasketSprite} [BasketSprite]Uses:640 647 652
Symbol 654 GraphicUsed by:656
Symbol 655 GraphicUsed by:656
Symbol 656 MovieClip {Island_190} [Island_190]Uses:654 217 219 221 223 227 395 397 399 229 401 403 231 407 235 391 655
Symbol 657 BitmapUsed by:658
Symbol 658 GraphicUses:657Used by:659
Symbol 659 MovieClip {TruckBody} [TruckBody]Uses:658
Symbol 660 GraphicUsed by:662
Symbol 661 GraphicUsed by:662
Symbol 662 MovieClip {MotorSprite} [MotorSprite]Uses:660 661
Symbol 663 Sound {SndChange} [SndChange]
Symbol 664 GraphicUsed by:665
Symbol 665 MovieClip {Springboard} [Springboard]Uses:664
Symbol 666 GraphicUsed by:667
Symbol 667 MovieClip {Liana_1} [Liana_1]Uses:666
Symbol 668 Sound {SndStar} [SndStar]
Symbol 669 GraphicUsed by:673
Symbol 670 GraphicUsed by:671
Symbol 671 MovieClipUses:670Used by:673 801
Symbol 672 GraphicUsed by:673
Symbol 673 MovieClip {StickSprite} [StickSprite]Uses:669 671 672Used by:801
Symbol 674 GraphicUses:429Used by:675
Symbol 675 MovieClipUses:674Used by:676
Symbol 676 MovieClip {ExitOrangeSprite} [ExitOrangeSprite]Uses:675 434
Symbol 677 GraphicUsed by:678
Symbol 678 MovieClip {Balk_1} [Balk_1]Uses:677
Symbol 679 GraphicUsed by:680
Symbol 680 MovieClip {Balk_2} [Balk_2]Uses:679
Symbol 681 GraphicUsed by:682
Symbol 682 MovieClip {Catapult_Stand} [Catapult_Stand]Uses:681
Symbol 683 GraphicUsed by:684
Symbol 684 MovieClip {Rope_Roll} [Rope_Roll]Uses:683
Symbol 685 GraphicUsed by:687
Symbol 686 GraphicUsed by:687
Symbol 687 MovieClip {RectPoint} [RectPoint]Uses:685 686
Symbol 688 BitmapUsed by:689
Symbol 689 GraphicUses:688Used by:690
Symbol 690 MovieClip {Elevator_L} [Elevator_L]Uses:689
Symbol 691 GraphicUsed by:694
Symbol 692 GraphicUsed by:693
Symbol 693 MovieClipUses:692Used by:694
Symbol 694 MovieClipUses:691 269 693 316Used by:707
Symbol 695 TextUses:7Used by:697
Symbol 696 TextUses:7Used by:697
Symbol 697 ButtonUses:327 695 696 475Used by:707
Symbol 698 TextUses:7Used by:700
Symbol 699 TextUses:7Used by:700
Symbol 700 ButtonUses:327 698 699 475Used by:707
Symbol 701 TextUses:7Used by:703
Symbol 702 TextUses:7Used by:703
Symbol 703 ButtonUses:327 701 702 475Used by:707
Symbol 704 TextUses:7Used by:706
Symbol 705 TextUses:7Used by:706
Symbol 706 ButtonUses:327 704 705 475Used by:707
Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite]Uses:694 476 697 700 703 706 359 352
Symbol 708 BitmapUsed by:709
Symbol 709 GraphicUses:708Used by:710
Symbol 710 MovieClip {Elevator_H} [Elevator_H]Uses:709
Symbol 711 GraphicUsed by:714
Symbol 712 GraphicUsed by:713
Symbol 713 MovieClip {Art_fla.Starter_Sprite_R_62} [Art_fla.Starter_Sprite_R_62]Uses:411 712 418 419 420 421Used by:714
Symbol 714 MovieClip {Starter_R} [Starter_R]Uses:711 713
Symbol 715 GraphicUsed by:716
Symbol 716 MovieClip {BridgeRight} [BridgeRight]Uses:715
Symbol 717 Sound {SndSpring} [SndSpring]
Symbol 718 GraphicUsed by:719
Symbol 719 MovieClip {Sun} [Sun]Uses:718
Symbol 720 TextUses:7Used by:728
Symbol 721 EditableTextUses:7 852Used by:728
Symbol 722 TextUses:7Used by:724
Symbol 723 TextUses:7Used by:724
Symbol 724 ButtonUses:722 723 241Used by:728
Symbol 725 TextUses:7Used by:727
Symbol 726 TextUses:7Used by:727
Symbol 727 ButtonUses:725 726 241Used by:728
Symbol 728 MovieClip {CompleteScreen} [CompleteScreen]Uses:371 4 720 721 343 724 727 376 53 55
Symbol 729 GraphicUsed by:730
Symbol 730 MovieClipUses:729Used by:744 750 763 766
Symbol 731 GraphicUsed by:732
Symbol 732 MovieClipUses:731Used by:744 750 763 766
Symbol 733 GraphicUsed by:734
Symbol 734 MovieClipUses:733Used by:744 763
Symbol 735 GraphicUsed by:736
Symbol 736 MovieClipUses:735Used by:744 750 763 766
Symbol 737 GraphicUsed by:738
Symbol 738 MovieClipUses:737Used by:744 750 763
Symbol 739 GraphicUsed by:740
Symbol 740 MovieClipUses:739Used by:744 750 763 766
Symbol 741 GraphicUsed by:742
Symbol 742 MovieClipUses:741Used by:744 750 763 766
Symbol 743 GraphicUsed by:744
Symbol 744 MovieClip {Tree_2} [Tree_2]Uses:730 732 734 736 738 740 742 743
Symbol 745 GraphicUsed by:750
Symbol 746 GraphicUsed by:747
Symbol 747 MovieClipUses:746Used by:750 766
Symbol 748 GraphicUsed by:750
Symbol 749 GraphicUsed by:750
Symbol 750 MovieClip {Tree_1} [Tree_1]Uses:745 732 730 747 748 749 736 742 738 740
Symbol 751 GraphicUsed by:752
Symbol 752 MovieClipUses:751Used by:754
Symbol 753 GraphicUsed by:754
Symbol 754 MovieClip {Tree_4} [Tree_4]Uses:752 753
Symbol 755 GraphicUsed by:759
Symbol 756 GraphicUsed by:759
Symbol 757 GraphicUsed by:759
Symbol 758 GraphicUsed by:759
Symbol 759 MovieClip {Menu_fla.Stars_Big_117} [Menu_fla.Stars_Big_117]Uses:755 756 757 758Used by:784
Symbol 760 GraphicUsed by:761
Symbol 761 MovieClip {Catapult_Spoon} [Catapult_Spoon]Uses:760
Symbol 762 GraphicUsed by:763
Symbol 763 MovieClip {Tree_3} [Tree_3]Uses:730 732 742 734 736 738 740 762
Symbol 764 GraphicUsed by:766
Symbol 765 GraphicUsed by:766
Symbol 766 MovieClip {Tree_5} [Tree_5]Uses:764 747 765 730 736 732 740 742
Symbol 767 GraphicUsed by:769
Symbol 768 GraphicUsed by:769
Symbol 769 MovieClip {Island_70} [Island_70]Uses:767 229 217 223 227 233 235 219 231 768
Symbol 770 TextUses:7Used by:784
Symbol 771 EditableTextUses:7 852Used by:784
Symbol 772 EditableTextUses:7 852Used by:784
Symbol 773 EditableTextUses:7 852Used by:784
Symbol 774 GraphicUsed by:775
Symbol 775 MovieClipUses:774Used by:779
Symbol 776 TextUses:7Used by:779
Symbol 777 TextUses:7Used by:779
Symbol 778 GraphicUsed by:779
Symbol 779 ButtonUses:775 776 777 778Used by:784
Symbol 780 TextUses:7Used by:784
Symbol 781 TextUses:7Used by:784
Symbol 782 TextUses:7Used by:784
Symbol 783 TextUses:7Used by:784
Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen]Uses:770 771 772 773 759 779 211 780 781 782 783
Symbol 785 GraphicUsed by:787
Symbol 786 GraphicUsed by:787
Symbol 787 MovieClip {PinSprite} [PinSprite]Uses:785 786
Symbol 788 GraphicUsed by:789
Symbol 789 MovieClip {Rope_Node} [Rope_Node]Uses:788
Symbol 790 BitmapUsed by:791
Symbol 791 GraphicUses:790Used by:792
Symbol 792 MovieClip {Stone_2} [Stone_2]Uses:791
Symbol 793 GraphicUsed by:794
Symbol 794 MovieClipUses:793Used by:795
Symbol 795 MovieClip {Art_fla.HandSprite_35} [Art_fla.HandSprite_35]Uses:794Used by:801
Symbol 796 BitmapUsed by:797
Symbol 797 GraphicUses:796Used by:798
Symbol 798 MovieClip {Stone_3} [Stone_3]Uses:797
Symbol 799 GraphicUsed by:800
Symbol 800 MovieClipUses:799Used by:801
Symbol 801 MovieClip {CursorSprite} [CursorSprite]Uses:673 671 800 795
Symbol 802 TextUses:7Used by:817
Symbol 803 GraphicUsed by:804
Symbol 804 MovieClipUses:803Used by:817
Symbol 805 EditableTextUses:7 852Used by:817
Symbol 806 TextUses:7Used by:817
Symbol 807 TextUses:7Used by:817
Symbol 808 TextUses:7Used by:817
Symbol 809 TextUses:7Used by:817
Symbol 810 TextUses:7Used by:817
Symbol 811 TextUses:7Used by:817
Symbol 812 TextUses:7Used by:817
Symbol 813 TextUses:7Used by:817
Symbol 814 TextUses:7Used by:817
Symbol 815 TextUses:7Used by:817
Symbol 816 TextUses:7Used by:817
Symbol 817 MovieClip {CreditsScreen} [CreditsScreen]Uses:802 804 805 806 807 808 809 810 811 812 813 814 815 816
Symbol 818 BitmapUsed by:819
Symbol 819 GraphicUses:818Used by:820
Symbol 820 MovieClip {Stone_1} [Stone_1]Uses:819
Symbol 821 GraphicUsed by:824
Symbol 822 GraphicUsed by:823
Symbol 823 MovieClipUses:822Used by:824 829
Symbol 824 MovieClip {Gutter_1} [Gutter_1]Uses:821 823
Symbol 825 GraphicUsed by:826
Symbol 826 MovieClipUses:825Used by:827
Symbol 827 MovieClip {Spines_1} [Spines_1]Uses:826
Symbol 828 GraphicUsed by:829
Symbol 829 MovieClip {Gutter_2} [Gutter_2]Uses:828 823
Symbol 830 TextUses:7Used by:833
Symbol 831 TextUses:7Used by:833
Symbol 832 GraphicUsed by:833
Symbol 833 ButtonUses:830 831 832Used by:835
Symbol 834 TextUses:7Used by:835
Symbol 835 MovieClip {StartWindowSprite} [StartWindowSprite]Uses:371 4 833 834 53 55 479 482
Symbol 836 TextUses:7Used by:847
Symbol 837 EditableTextUses:7 852Used by:847
Symbol 838 TextUses:7Used by:840
Symbol 839 TextUses:7Used by:840
Symbol 840 ButtonUses:838 839 241Used by:847
Symbol 841 TextUses:7Used by:843
Symbol 842 TextUses:7Used by:843
Symbol 843 ButtonUses:841 842 241Used by:847
Symbol 844 TextUses:7Used by:846
Symbol 845 TextUses:7Used by:846
Symbol 846 ButtonUses:844 845 241Used by:847
Symbol 847 MovieClip {GameOverScreen} [GameOverScreen]Uses:371 4 836 837 840 843 846 53 55
Symbol 848 Sound {Music_1} [Music_1]
Symbol 849 Sound {Music_2} [Music_2]
Symbol 850 GraphicUsed by:851 883 899 905
Symbol 851 MovieClipUses:850Used by:884 900 906
Symbol 852 FontUsed by:9 376 572 575 578 587 721 771 772 773 805 837 853 854 857 858 885
Symbol 853 TextUses:852Used by:856
Symbol 854 TextUses:852Used by:856
Symbol 855 GraphicUsed by:856
Symbol 856 ButtonUses:853 854 855Used by:884 900 906
Symbol 857 TextUses:852Used by:884 900 906
Symbol 858 TextUses:852Used by:884 900 906
Symbol 859 GraphicUsed by:883 899 905
Symbol 860 GraphicUsed by:868
Symbol 861 GraphicUsed by:862
Symbol 862 MovieClipUses:861Used by:868
Symbol 863 GraphicUsed by:864
Symbol 864 MovieClipUses:863Used by:868 871
Symbol 865 GraphicUsed by:866
Symbol 866 MovieClipUses:865Used by:868 871
Symbol 867 GraphicUsed by:868
Symbol 868 MovieClipUses:860 217 219 862 223 225 227 864 231 233 866 867Used by:883 899
Symbol 869 GraphicUsed by:871
Symbol 870 GraphicUsed by:871
Symbol 871 MovieClipUses:869 864 217 223 227 233 866 219 231 870Used by:883 905
Symbol 872 GraphicUsed by:873
Symbol 873 MovieClipUses:872Used by:878 883 899
Symbol 874 GraphicUsed by:883 905
Symbol 875 GraphicUsed by:876
Symbol 876 MovieClipUses:875Used by:883 905
Symbol 877 GraphicUsed by:878
Symbol 878 MovieClipUses:877 873Used by:883
Symbol 879 GraphicUsed by:880
Symbol 880 MovieClipUses:879Used by:883
Symbol 881 GraphicUses:612Used by:882
Symbol 882 MovieClipUses:881Used by:883 899 905
Symbol 883 MovieClipUses:850 859 868 871 873 874 876 878 880 882Used by:884
Symbol 884 MovieClip {Tut_1_Sprite} [Tut_1_Sprite]Uses:851 4 856 857 858 883 53 55
Symbol 885 TextUses:852Used by:900
Symbol 886 GraphicUsed by:887
Symbol 887 MovieClipUses:886Used by:899
Symbol 888 GraphicUsed by:899
Symbol 889 GraphicUsed by:899
Symbol 890 GraphicUsed by:891
Symbol 891 MovieClipUses:890Used by:899
Symbol 892 GraphicUsed by:893
Symbol 893 MovieClipUses:892Used by:899
Symbol 894 GraphicUsed by:899
Symbol 895 GraphicUsed by:896
Symbol 896 MovieClipUses:895Used by:899
Symbol 897 GraphicUsed by:898
Symbol 898 MovieClipUses:897Used by:899
Symbol 899 MovieClipUses:850 859 868 887 888 345 367 889 383 891 524 893 511 873 882 894 896 387 898Used by:900
Symbol 900 MovieClip {Tut_4_Sprite} [Tut_4_Sprite]Uses:851 4 856 857 858 885 899 53 55
Symbol 901 GraphicUsed by:902
Symbol 902 MovieClipUses:901Used by:905
Symbol 903 GraphicUsed by:904
Symbol 904 MovieClipUses:903Used by:905
Symbol 905 MovieClipUses:850 859 871 902 874 876 904 882 425 427Used by:906
Symbol 906 MovieClip {Tut_3_Sprite} [Tut_3_Sprite]Uses:851 4 856 857 905 858 53 55

Instance Names

"fldPrecent"Symbol 56 MovieClip {PreloaderScreen} [PreloaderScreen] Frame 1Symbol 9 EditableText
"btnPlay"Symbol 56 MovieClip {PreloaderScreen} [PreloaderScreen] Frame 1Symbol 14 Button
"bar"Symbol 56 MovieClip {PreloaderScreen} [PreloaderScreen] Frame 1Symbol 48 MovieClip {Preloader_fla.PreloadBar_7} [Preloader_fla.PreloadBar_7]
"btnFunFlow"Symbol 56 MovieClip {PreloaderScreen} [PreloaderScreen] Frame 1Symbol 51 Button
"btnPlayGame"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 330 Button
"btnHiScores"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 333 Button
"btnMoreGames"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 336 Button
"btnCredits"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 339 Button
"btnHostGame"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 342 Button
"btnFunFlow"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 343 Button
"btnSound"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 352 MovieClip {Menu_fla.SwitchSound_52} [Menu_fla.SwitchSound_52]
"btnMusic"Symbol 360 MovieClip {MainMenuScreen} [MainMenuScreen] Frame 1Symbol 359 MovieClip {Menu_fla.SwitchMusic_57} [Menu_fla.SwitchMusic_57]
"btn"Symbol 370 MovieClip {Menu_fla.SpringSwitch_109} [Menu_fla.SpringSwitch_109] Frame 1Symbol 369 Button
"btnFunFlow"Symbol 380 MovieClip {FinishScreen} [FinishScreen] Frame 1Symbol 343 Button
"btnMainMenu"Symbol 380 MovieClip {FinishScreen} [FinishScreen] Frame 1Symbol 375 Button
"fldTotalScore"Symbol 380 MovieClip {FinishScreen} [FinishScreen] Frame 1Symbol 376 EditableText
"btnSubmit"Symbol 380 MovieClip {FinishScreen} [FinishScreen] Frame 1Symbol 379 Button
"num"Symbol 422 MovieClip {Art_fla.Starter_Sprite_L_65} [Art_fla.Starter_Sprite_L_65] Frame 1Symbol 418 MovieClip {Art_fla.Numbers_63} [Art_fla.Numbers_63]
"starter"Symbol 423 MovieClip {Starter_L} [Starter_L] Frame 1Symbol 422 MovieClip {Art_fla.Starter_Sprite_L_65} [Art_fla.Starter_Sprite_L_65]
"back"Symbol 435 MovieClip {ExitRedSprite} [ExitRedSprite] Frame 1Symbol 431 MovieClip
"front"Symbol 435 MovieClip {ExitRedSprite} [ExitRedSprite] Frame 1Symbol 434 MovieClip
"paperMask"Symbol 488 MovieClip {PaperSprite} [PaperSprite] Frame 1Symbol 371 MovieClip
"info"Symbol 488 MovieClip {PaperSprite} [PaperSprite] Frame 1Symbol 472 MovieClip
"btnMainMenu"Symbol 488 MovieClip {PaperSprite} [PaperSprite] Frame 1Symbol 476 Button {BtnMainMenu} [BtnMainMenu]
"num"Symbol 501 MovieClip {LevelButtonSprite} [LevelButtonSprite] Frame 1Symbol 494 EditableText
"stars"Symbol 501 MovieClip {LevelButtonSprite} [LevelButtonSprite] Frame 1Symbol 499 MovieClip {Menu_fla.Stars_mini_64} [Menu_fla.Stars_mini_64]
"btn"Symbol 513 MovieClip {Menu_fla.StickSwitch_106} [Menu_fla.StickSwitch_106] Frame 1Symbol 512 Button
"btn"Symbol 526 MovieClip {Menu_fla.HandSwitch_112} [Menu_fla.HandSwitch_112] Frame 1Symbol 525 Button
"fldScore"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 572 EditableText
"fldStars"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 575 EditableText
"fldTime"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 578 EditableText
"numbers"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 388 MovieClip {Menu_fla.Numbers_98} [Menu_fla.Numbers_98]
"btnRestart"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 583 Button
"btnMenu"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 586 Button
"btnStick"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 513 MovieClip {Menu_fla.StickSwitch_106} [Menu_fla.StickSwitch_106]
"btnSpring"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 370 MovieClip {Menu_fla.SpringSwitch_109} [Menu_fla.SpringSwitch_109]
"btnHand"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 526 MovieClip {Menu_fla.HandSwitch_112} [Menu_fla.HandSwitch_112]
"btnFunFlow"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 343 Button
"fldLevel"Symbol 588 MovieClip {InterfaceScreen} [InterfaceScreen] Frame 1Symbol 587 EditableText
"back"Symbol 609 MovieClip {ExitBlueSprite} [ExitBlueSprite] Frame 1Symbol 608 MovieClip
"front"Symbol 609 MovieClip {ExitBlueSprite} [ExitBlueSprite] Frame 1Symbol 434 MovieClip
"back"Symbol 653 MovieClip {BasketSprite} [BasketSprite] Frame 1Symbol 640 MovieClip
"front"Symbol 653 MovieClip {BasketSprite} [BasketSprite] Frame 1Symbol 647 MovieClip {Art_fla.BasketFront_24} [Art_fla.BasketFront_24]
"btnDrop"Symbol 653 MovieClip {BasketSprite} [BasketSprite] Frame 1Symbol 652 Button
"cross"Symbol 673 MovieClip {StickSprite} [StickSprite] Frame 1Symbol 671 MovieClip
"back"Symbol 676 MovieClip {ExitOrangeSprite} [ExitOrangeSprite] Frame 1Symbol 675 MovieClip
"front"Symbol 676 MovieClip {ExitOrangeSprite} [ExitOrangeSprite] Frame 1Symbol 434 MovieClip
"back"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 694 MovieClip
"btnMainMenu"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 476 Button {BtnMainMenu} [BtnMainMenu]
"btnResume"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 697 Button
"btnRestart"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 700 Button
"btnSelectLevel"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 703 Button
"btnWalkthrough"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 706 Button
"btnMusic"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 359 MovieClip {Menu_fla.SwitchMusic_57} [Menu_fla.SwitchMusic_57]
"btnSound"Symbol 707 MovieClip {GameMenuSprite} [GameMenuSprite] Frame 1Symbol 352 MovieClip {Menu_fla.SwitchSound_52} [Menu_fla.SwitchSound_52]
"num"Symbol 713 MovieClip {Art_fla.Starter_Sprite_R_62} [Art_fla.Starter_Sprite_R_62] Frame 1Symbol 418 MovieClip {Art_fla.Numbers_63} [Art_fla.Numbers_63]
"starter"Symbol 714 MovieClip {Starter_R} [Starter_R] Frame 1Symbol 713 MovieClip {Art_fla.Starter_Sprite_R_62} [Art_fla.Starter_Sprite_R_62]
"fldLevelScore"Symbol 728 MovieClip {CompleteScreen} [CompleteScreen] Frame 1Symbol 721 EditableText
"btnFunFlow"Symbol 728 MovieClip {CompleteScreen} [CompleteScreen] Frame 1Symbol 343 Button
"btnNextLevel"Symbol 728 MovieClip {CompleteScreen} [CompleteScreen] Frame 1Symbol 724 Button
"btnSelectLevel"Symbol 728 MovieClip {CompleteScreen} [CompleteScreen] Frame 1Symbol 727 Button
"fldTotalScore"Symbol 728 MovieClip {CompleteScreen} [CompleteScreen] Frame 1Symbol 376 EditableText
"fldLevel"Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen] Frame 1Symbol 771 EditableText
"fldBestScore"Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen] Frame 1Symbol 772 EditableText
"fldTotalScore"Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen] Frame 1Symbol 773 EditableText
"stars"Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen] Frame 1Symbol 759 MovieClip {Menu_fla.Stars_Big_117} [Menu_fla.Stars_Big_117]
"btnEraseScores"Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen] Frame 1Symbol 779 Button
"preview"Symbol 784 MovieClip {LevelMenuScreen} [LevelMenuScreen] Frame 1Symbol 211 MovieClip {Menu_fla.Preview_120} [Menu_fla.Preview_120]
"cross"Symbol 801 MovieClip {CursorSprite} [CursorSprite] Frame 1Symbol 671 MovieClip
"btnStart"Symbol 835 MovieClip {StartWindowSprite} [StartWindowSprite] Frame 1Symbol 833 Button
"fldMessage"Symbol 847 MovieClip {GameOverScreen} [GameOverScreen] Frame 1Symbol 837 EditableText
"btnTryAgain"Symbol 847 MovieClip {GameOverScreen} [GameOverScreen] Frame 1Symbol 840 Button
"btnWalkthrough"Symbol 847 MovieClip {GameOverScreen} [GameOverScreen] Frame 1Symbol 843 Button
"btnMoreGames"Symbol 847 MovieClip {GameOverScreen} [GameOverScreen] Frame 1Symbol 846 Button
"btnStart"Symbol 884 MovieClip {Tut_1_Sprite} [Tut_1_Sprite] Frame 1Symbol 856 Button
"movie"Symbol 884 MovieClip {Tut_1_Sprite} [Tut_1_Sprite] Frame 1Symbol 883 MovieClip
"btnStart"Symbol 900 MovieClip {Tut_4_Sprite} [Tut_4_Sprite] Frame 1Symbol 856 Button
"movie"Symbol 900 MovieClip {Tut_4_Sprite} [Tut_4_Sprite] Frame 1Symbol 899 MovieClip
"btnStart"Symbol 906 MovieClip {Tut_3_Sprite} [Tut_3_Sprite] Frame 1Symbol 856 Button
"movie"Symbol 906 MovieClip {Tut_3_Sprite} [Tut_3_Sprite] Frame 1Symbol 905 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 56 as "PreloaderScreen"
ExportAssets (56)Timeline Frame 1Symbol 79 as "Background"
ExportAssets (56)Timeline Frame 1Symbol 48 as "Preloader_fla.PreloadBar_7"
ExportAssets (56)Timeline Frame 2Symbol 92 as "BallBlueSprite"
ExportAssets (56)Timeline Frame 2Symbol 95 as "SpokeOnRopeV"
ExportAssets (56)Timeline Frame 2Symbol 118 as "Back_1"
ExportAssets (56)Timeline Frame 2Symbol 119 as "Back_2"
ExportAssets (56)Timeline Frame 2Symbol 122 as "RailSprite"
ExportAssets (56)Timeline Frame 2Symbol 125 as "WheelSprite"
ExportAssets (56)Timeline Frame 2Symbol 128 as "BridgeNode_1"
ExportAssets (56)Timeline Frame 2Symbol 131 as "BridgeNode_2"
ExportAssets (56)Timeline Frame 2Symbol 133 as "Spoke"
ExportAssets (56)Timeline Frame 2Symbol 136 as "BridgeNode_3"
ExportAssets (56)Timeline Frame 2Symbol 211 as "Menu_fla.Preview_120"
ExportAssets (56)Timeline Frame 2Symbol 214 as "SpokeOnRopeH"
ExportAssets (56)Timeline Frame 2Symbol 237 as "Island_130"
ExportAssets (56)Timeline Frame 2Symbol 240 as "CirclePoint"
ExportAssets (56)Timeline Frame 2Symbol 360 as "MainMenuScreen"
ExportAssets (56)Timeline Frame 2Symbol 362 as "Tree_Up"
ExportAssets (56)Timeline Frame 2Symbol 365 as "TruckWheel"
ExportAssets (56)Timeline Frame 2Symbol 370 as "Menu_fla.SpringSwitch_109"
ExportAssets (56)Timeline Frame 2Symbol 352 as "Menu_fla.SwitchSound_52"
ExportAssets (56)Timeline Frame 2Symbol 380 as "FinishScreen"
ExportAssets (56)Timeline Frame 2Symbol 388 as "Menu_fla.Numbers_98"
ExportAssets (56)Timeline Frame 2Symbol 409 as "Island_240"
ExportAssets (56)Timeline Frame 2Symbol 423 as "Starter_L"
ExportAssets (56)Timeline Frame 2Symbol 428 as "SpringSprite"
ExportAssets (56)Timeline Frame 2Symbol 435 as "ExitRedSprite"
ExportAssets (56)Timeline Frame 2Symbol 436 as "SndClose"
ExportAssets (56)Timeline Frame 2Symbol 437 as "SndOpen"
ExportAssets (56)Timeline Frame 2Symbol 470 as "StarSprite"
ExportAssets (56)Timeline Frame 2Symbol 488 as "PaperSprite"
ExportAssets (56)Timeline Frame 2Symbol 501 as "LevelButtonSprite"
ExportAssets (56)Timeline Frame 2Symbol 504 as "TSpringSprite"
ExportAssets (56)Timeline Frame 2Symbol 506 as "Bush_2"
ExportAssets (56)Timeline Frame 2Symbol 507 as "SndBlow"
ExportAssets (56)Timeline Frame 2Symbol 509 as "Bush_1"
ExportAssets (56)Timeline Frame 2Symbol 513 as "Menu_fla.StickSwitch_106"
ExportAssets (56)Timeline Frame 2Symbol 515 as "Bush_4"
ExportAssets (56)Timeline Frame 2Symbol 516 as "SndComplete"
ExportAssets (56)Timeline Frame 2Symbol 518 as "Bush_3"
ExportAssets (56)Timeline Frame 2Symbol 520 as "Bush_5"
ExportAssets (56)Timeline Frame 2Symbol 526 as "Menu_fla.HandSwitch_112"
ExportAssets (56)Timeline Frame 2Symbol 539 as "Ground_3"
ExportAssets (56)Timeline Frame 2Symbol 542 as "Ground_2"
ExportAssets (56)Timeline Frame 2Symbol 544 as "Wood_Bridge_2"
ExportAssets (56)Timeline Frame 2Symbol 547 as "Ground_4"
ExportAssets (56)Timeline Frame 2Symbol 549 as "Wood_Bridge_3"
ExportAssets (56)Timeline Frame 2Symbol 551 as "Wood_Bridge_1"
ExportAssets (56)Timeline Frame 2Symbol 553 as "Idol_4"
ExportAssets (56)Timeline Frame 2Symbol 555 as "Idol_3"
ExportAssets (56)Timeline Frame 2Symbol 557 as "Idol_5"
ExportAssets (56)Timeline Frame 2Symbol 559 as "Wood_Bridge_4"
ExportAssets (56)Timeline Frame 2Symbol 561 as "Idol_2"
ExportAssets (56)Timeline Frame 2Symbol 563 as "Idol_1"
ExportAssets (56)Timeline Frame 2Symbol 565 as "BridgeLeft"
ExportAssets (56)Timeline Frame 2Symbol 588 as "InterfaceScreen"
ExportAssets (56)Timeline Frame 2Symbol 590 as "Grass_3"
ExportAssets (56)Timeline Frame 2Symbol 592 as "Grass_4"
ExportAssets (56)Timeline Frame 2Symbol 595 as "Ground"
ExportAssets (56)Timeline Frame 2Symbol 597 as "Grass_1"
ExportAssets (56)Timeline Frame 2Symbol 599 as "Grass_2"
ExportAssets (56)Timeline Frame 2Symbol 602 as "Island_1"
ExportAssets (56)Timeline Frame 2Symbol 603 as "SndClick"
ExportAssets (56)Timeline Frame 2Symbol 606 as "Island_270"
ExportAssets (56)Timeline Frame 2Symbol 609 as "ExitBlueSprite"
ExportAssets (56)Timeline Frame 2Symbol 611 as "Platform_1"
ExportAssets (56)Timeline Frame 2Symbol 623 as "BallRedSprite"
ExportAssets (56)Timeline Frame 2Symbol 625 as "Platform_2"
ExportAssets (56)Timeline Frame 2Symbol 637 as "BallOrangeSprite"
ExportAssets (56)Timeline Frame 2Symbol 653 as "BasketSprite"
ExportAssets (56)Timeline Frame 2Symbol 656 as "Island_190"
ExportAssets (56)Timeline Frame 2Symbol 659 as "TruckBody"
ExportAssets (56)Timeline Frame 2Symbol 662 as "MotorSprite"
ExportAssets (56)Timeline Frame 2Symbol 663 as "SndChange"
ExportAssets (56)Timeline Frame 2Symbol 665 as "Springboard"
ExportAssets (56)Timeline Frame 2Symbol 667 as "Liana_1"
ExportAssets (56)Timeline Frame 2Symbol 668 as "SndStar"
ExportAssets (56)Timeline Frame 2Symbol 673 as "StickSprite"
ExportAssets (56)Timeline Frame 2Symbol 676 as "ExitOrangeSprite"
ExportAssets (56)Timeline Frame 2Symbol 678 as "Balk_1"
ExportAssets (56)Timeline Frame 2Symbol 680 as "Balk_2"
ExportAssets (56)Timeline Frame 2Symbol 476 as "BtnMainMenu"
ExportAssets (56)Timeline Frame 2Symbol 682 as "Catapult_Stand"
ExportAssets (56)Timeline Frame 2Symbol 684 as "Rope_Roll"
ExportAssets (56)Timeline Frame 2Symbol 687 as "RectPoint"
ExportAssets (56)Timeline Frame 2Symbol 690 as "Elevator_L"
ExportAssets (56)Timeline Frame 2Symbol 707 as "GameMenuSprite"
ExportAssets (56)Timeline Frame 2Symbol 499 as "Menu_fla.Stars_mini_64"
ExportAssets (56)Timeline Frame 2Symbol 710 as "Elevator_H"
ExportAssets (56)Timeline Frame 2Symbol 714 as "Starter_R"
ExportAssets (56)Timeline Frame 2Symbol 422 as "Art_fla.Starter_Sprite_L_65"
ExportAssets (56)Timeline Frame 2Symbol 716 as "BridgeRight"
ExportAssets (56)Timeline Frame 2Symbol 717 as "SndSpring"
ExportAssets (56)Timeline Frame 2Symbol 719 as "Sun"
ExportAssets (56)Timeline Frame 2Symbol 728 as "CompleteScreen"
ExportAssets (56)Timeline Frame 2Symbol 744 as "Tree_2"
ExportAssets (56)Timeline Frame 2Symbol 750 as "Tree_1"
ExportAssets (56)Timeline Frame 2Symbol 754 as "Tree_4"
ExportAssets (56)Timeline Frame 2Symbol 759 as "Menu_fla.Stars_Big_117"
ExportAssets (56)Timeline Frame 2Symbol 761 as "Catapult_Spoon"
ExportAssets (56)Timeline Frame 2Symbol 763 as "Tree_3"
ExportAssets (56)Timeline Frame 2Symbol 766 as "Tree_5"
ExportAssets (56)Timeline Frame 2Symbol 769 as "Island_70"
ExportAssets (56)Timeline Frame 2Symbol 784 as "LevelMenuScreen"
ExportAssets (56)Timeline Frame 2Symbol 359 as "Menu_fla.SwitchMusic_57"
ExportAssets (56)Timeline Frame 2Symbol 787 as "PinSprite"
ExportAssets (56)Timeline Frame 2Symbol 418 as "Art_fla.Numbers_63"
ExportAssets (56)Timeline Frame 2Symbol 789 as "Rope_Node"
ExportAssets (56)Timeline Frame 2Symbol 713 as "Art_fla.Starter_Sprite_R_62"
ExportAssets (56)Timeline Frame 2Symbol 792 as "Stone_2"
ExportAssets (56)Timeline Frame 2Symbol 795 as "Art_fla.HandSprite_35"
ExportAssets (56)Timeline Frame 2Symbol 798 as "Stone_3"
ExportAssets (56)Timeline Frame 2Symbol 801 as "CursorSprite"
ExportAssets (56)Timeline Frame 2Symbol 817 as "CreditsScreen"
ExportAssets (56)Timeline Frame 2Symbol 820 as "Stone_1"
ExportAssets (56)Timeline Frame 2Symbol 824 as "Gutter_1"
ExportAssets (56)Timeline Frame 2Symbol 827 as "Spines_1"
ExportAssets (56)Timeline Frame 2Symbol 829 as "Gutter_2"
ExportAssets (56)Timeline Frame 2Symbol 835 as "StartWindowSprite"
ExportAssets (56)Timeline Frame 2Symbol 847 as "GameOverScreen"
ExportAssets (56)Timeline Frame 2Symbol 647 as "Art_fla.BasketFront_24"
ExportAssets (56)Timeline Frame 2Symbol 848 as "Music_1"
ExportAssets (56)Timeline Frame 2Symbol 849 as "Music_2"
ExportAssets (56)Timeline Frame 2Symbol 884 as "Tut_1_Sprite"
ExportAssets (56)Timeline Frame 2Symbol 900 as "Tut_4_Sprite"
ExportAssets (56)Timeline Frame 2Symbol 906 as "Tut_3_Sprite"
SerialNumber (41)Timeline Frame 1

Labels

"script_Preloader"Frame 1
"start"Frame 2
"Hide"Symbol 56 MovieClip {PreloaderScreen} [PreloaderScreen] Frame 35
"end"Symbol 211 MovieClip {Menu_fla.Preview_120} [Menu_fla.Preview_120] Frame 25
"Stick"Symbol 388 MovieClip {Menu_fla.Numbers_98} [Menu_fla.Numbers_98] Frame 1
"Spring"Symbol 388 MovieClip {Menu_fla.Numbers_98} [Menu_fla.Numbers_98] Frame 2
"Hand"Symbol 388 MovieClip {Menu_fla.Numbers_98} [Menu_fla.Numbers_98] Frame 3
"Show"Symbol 488 MovieClip {PaperSprite} [PaperSprite] Frame 1
"Hide"Symbol 488 MovieClip {PaperSprite} [PaperSprite] Frame 31
"Stick"Symbol 801 MovieClip {CursorSprite} [CursorSprite] Frame 1
"Spring"Symbol 801 MovieClip {CursorSprite} [CursorSprite] Frame 2
"Hand"Symbol 801 MovieClip {CursorSprite} [CursorSprite] Frame 3
"Hide"Symbol 835 MovieClip {StartWindowSprite} [StartWindowSprite] Frame 2
"Hide"Symbol 884 MovieClip {Tut_1_Sprite} [Tut_1_Sprite] Frame 2
"Hide"Symbol 900 MovieClip {Tut_4_Sprite} [Tut_4_Sprite] Frame 2
"Hide"Symbol 906 MovieClip {Tut_3_Sprite} [Tut_3_Sprite] Frame 2




http://swfchan.com/19/90790/info.shtml
Created: 28/3 -2019 06:00:47 Last modified: 28/3 -2019 06:00:47 Server time: 22/12 -2024 10:07:00