Section 1
//bt_mc_fscreen_38 (EatMore_gamesonly_fla.bt_mc_fscreen_38)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class bt_mc_fscreen_38 extends MovieClip {
public function bt_mc_fscreen_38(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package EatMore_gamesonly_fla
Section 2
//ItemShow_69 (EatMore_gamesonly_fla.ItemShow_69)
package EatMore_gamesonly_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ItemShow_69 extends MovieClip {
public var item:Items;
public var time:TextField;
}
}//package EatMore_gamesonly_fla
Section 3
//MainTimeline (EatMore_gamesonly_fla.MainTimeline)
package EatMore_gamesonly_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.net.*;
import flash.printing.*;
import flash.ui.*;
import flash.utils.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var furl;
public var d_Fscreen:MovieClip;
public var d_RePlay:SimpleButton;
public var d_Facebook:SimpleButton;
public var d_Twitter:SimpleButton;
public var gamename;
public var d_Submit:SimpleButton;
public var ss;
public var d_HelpPlay:SimpleButton;
public var isfull:String;
public var loadingMC:MovieClip;
public var d_Score:TextField;
public var ss2;
public function MainTimeline(){
addFrameScript(0, frame1, 2, frame3, 3, frame4, 5, frame6);
}
public function onHelpPlay(_arg1){
gotoAndStop("game");
}
function frame3(){
stop();
SoundMixer.stopAll();
Input.init(this.stage);
Config.soundChannel = null;
if (Config.SSound){
ss = new SStart();
ss.play(0, 10000000);
};
d_Twitter.addEventListener(MouseEvent.CLICK, onShare);
d_Facebook.addEventListener(MouseEvent.CLICK, onShare);
d_Fscreen.addEventListener(MouseEvent.CLICK, onFscreen);
d_Fscreen.buttonMode = true;
try {
isfull = String(EmbedObject.getParamViaExternal("allowFullScreen"));
isfull = isfull.toLowerCase();
if (isfull != "true"){
d_Fscreen.visible = false;
};
} catch(e) {
};
}
function frame1(){
stop();
}
public function onShare(_arg1){
var _local2:String;
var _local3:String;
_local2 = ExternalInterface.call("eval", "window.location.href");
if (_local2 == null){
_local2 = "http://www.gamesonly.net";
};
if (_arg1.currentTarget == d_Facebook){
_local3 = (("http://www.facebook.com/share.php?u=" + _local2) + "&t= Playing LowCarbon");
} else {
_local3 = ("http://twitter.com/home?status=Currently Playing LowCarbon " + _local2);
};
navigateToURL(new URLRequest(_local3), "_blank");
}
function frame4(){
stop();
d_HelpPlay.addEventListener(MouseEvent.CLICK, onHelpPlay);
}
public function onFscreen(_arg1:MouseEvent):void{
var event = _arg1;
try {
switch (stage.displayState){
case "normal":
stage.displayState = "fullScreen";
d_Fscreen.gotoAndStop(2);
break;
case "fullScreen":
default:
stage.displayState = "normal";
d_Fscreen.gotoAndStop(1);
break;
};
} catch(e:SecurityError) {
trace("<param name=\"allowFullScreen\" value=\"true\" />");
};
}
function frame6(){
stop();
SoundMixer.stopAll();
Config.soundChannel = null;
if (Config.SSound){
ss2 = new SOver();
ss2.play();
};
d_Score.text = String(Game.AllScore);
d_RePlay.addEventListener(MouseEvent.CLICK, onClick);
d_Submit.addEventListener(MouseEvent.CLICK, onSubmit);
gamename = "EatMore";
furl = "www.gamesonly.com.cn";
}
public function onSubmit(_arg1){
var _local2:*;
_local2 = MD5.hash((((furl + gamename) + d_Score.text) + "zygomaticgames"));
navigateToURL(new URLRequest((((((("http://www.gamesonly.com.cn/highscore.php?game=" + gamename) + "&score=") + d_Score.text) + "&otherparam=") + _local2) + "")), "_blank");
}
public function onClick(_arg1){
gotoAndStop("start");
}
}
}//package EatMore_gamesonly_fla
Section 4
//music_65 (EatMore_gamesonly_fla.music_65)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class music_65 extends MovieClip {
public function music_65(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
if (!Config.SSound){
gotoAndStop(2);
};
}
}
}//package EatMore_gamesonly_fla
Section 5
//next_72 (EatMore_gamesonly_fla.next_72)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class next_72 extends MovieClip {
public var d_Play:SimpleButton;
}
}//package EatMore_gamesonly_fla
Section 6
//pause_70 (EatMore_gamesonly_fla.pause_70)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class pause_70 extends MovieClip {
public var d_Pause:SimpleButton;
}
}//package EatMore_gamesonly_fla
Section 7
//snake_28 (EatMore_gamesonly_fla.snake_28)
package EatMore_gamesonly_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.net.*;
import flash.printing.*;
import flash.ui.*;
import flash.utils.*;
import flash.xml.*;
public dynamic class snake_28 extends MovieClip {
public var d_Help:SimpleButton;
public var d_More:SimpleButton;
public var d_Play:SimpleButton;
public var d_High:SimpleButton;
public function snake_28(){
addFrameScript(0, frame1, 209, frame210);
}
function frame210(){
stop();
this.stage.removeEventListener(MouseEvent.CLICK, onGotoOver);
d_Play.addEventListener(MouseEvent.CLICK, onClick);
d_Help.addEventListener(MouseEvent.CLICK, onClick);
d_More.addEventListener(MouseEvent.CLICK, onClick);
d_High.addEventListener(MouseEvent.CLICK, onHighScore);
}
function frame1(){
this.stage.addEventListener(MouseEvent.CLICK, onGotoOver);
}
public function onGotoOver(_arg1){
gotoAndStop(210);
}
public function onClick(_arg1){
switch (_arg1.currentTarget.name){
case "d_Play":
MovieClip(parent).gotoAndStop("game");
break;
case "d_Help":
MovieClip(parent).gotoAndStop("help");
break;
case "d_More":
navigateToURL(new URLRequest("http://www.gamesonly.com.cn/"), "_blank");
break;
};
}
public function onHighScore(_arg1){
navigateToURL(new URLRequest("http://www.gamesonly.com.cn/highscore.php?game=EatMore"), "_blank");
}
}
}//package EatMore_gamesonly_fla
Section 8
//sound_66 (EatMore_gamesonly_fla.sound_66)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class sound_66 extends MovieClip {
public function sound_66(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
if (!Config.SMusic){
gotoAndStop(2);
};
}
}
}//package EatMore_gamesonly_fla
Section 9
//Timeline_1 (EatMore_gamesonly_fla.Timeline_1)
package EatMore_gamesonly_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
public dynamic class Timeline_1 extends MovieClip {
public var d_Load:TextField;
public var skip_btn:SimpleButton;
public var mc_9_loading:MovieClip;
public function Timeline_1(){
addFrameScript(1, frame2, 150, frame151, 151, frame152);
}
function frame151(){
stop();
if (this.root.loaderInfo.bytesLoaded == this.root.loaderInfo.bytesTotal){
gotoAndStop(152);
};
}
function frame152(){
stop();
SoundMixer.stopAll();
MovieClip(this.parent).gotoAndStop("start");
}
public function onProgress(_arg1:ProgressEvent){
var _local2:*;
_local2 = Math.floor(((_arg1.bytesLoaded / _arg1.bytesTotal) * 100));
d_Load.text = (("Loading....." + _local2) + "%");
}
public function skipEvent(_arg1:MouseEvent){
this.gotoAndStop(152);
}
function frame2(){
skip_btn.visible = false;
skip_btn.addEventListener(MouseEvent.CLICK, skipEvent);
this.root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
this.root.loaderInfo.addEventListener(Event.COMPLETE, onInit);
if (this.root.loaderInfo.bytesLoaded == this.root.loaderInfo.bytesTotal){
onInit(null);
};
}
public function onInit(_arg1){
skip_btn.visible = true;
d_Load.visible = false;
if (this.currentFrame == 151){
gotoAndStop(152);
};
}
}
}//package EatMore_gamesonly_fla
Section 10
//Timeline_27 (EatMore_gamesonly_fla.Timeline_27)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class Timeline_27 extends MovieClip {
public function Timeline_27(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package EatMore_gamesonly_fla
Section 11
//Timeline_5 (EatMore_gamesonly_fla.Timeline_5)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class Timeline_5 extends MovieClip {
public function Timeline_5(){
addFrameScript(79, frame80);
}
function frame80(){
stop();
}
}
}//package EatMore_gamesonly_fla
Section 12
//Timeline_7 (EatMore_gamesonly_fla.Timeline_7)
package EatMore_gamesonly_fla {
import flash.display.*;
public dynamic class Timeline_7 extends MovieClip {
public function Timeline_7(){
addFrameScript(106, frame107);
}
function frame107(){
stop();
}
}
}//package EatMore_gamesonly_fla
Section 13
//Cloud (Cloud)
package {
import flash.display.*;
public dynamic class Cloud extends MovieClip {
public function Cloud(){
addFrameScript(260, frame261);
}
function frame261(){
stop();
if (this.parent != null){
MovieClip(this.parent).removeChild(this);
};
}
}
}//package
Section 14
//Config (Config)
package {
public class Config {
public static var SMusic:Boolean = true;
public static var soundChannel;
public static var SSound:Boolean = true;
}
}//package
Section 15
//EmbedObject (EmbedObject)
package {
import flash.external.*;
import flash.system.*;
public class EmbedObject {
private var attemptedPropsRetrieval:Boolean;// = false
private var embedObjectProps:Object;
private static var _singleton:EmbedObject;
private static var SET_CALLBACK_NAME:String = "asorg_setEmbedObjectProps";
public function EmbedObject(){
attemptedPropsRetrieval = false;
super();
initialize();
}
public function external_SetEmbedObjectProps(_arg1:Object){
this.embedObjectProps = _arg1;
}
private function initialize(){
ExternalInterface.addCallback(SET_CALLBACK_NAME, external_SetEmbedObjectProps);
}
public function _getEmbedObjectProps():Object{
if (!attemptedPropsRetrieval){
retrieveEmbedObjectProps();
attemptedPropsRetrieval = true;
};
return (embedObjectProps);
}
public function retrieveEmbedObjectProps(){
retrieveEmbedObjectPropsForTagname("embed");
if (!embedObjectProps){
retrieveEmbedObjectPropsForTagname("object");
};
}
public function executeJS(_arg1:String):Object{
return (ExternalInterface.call((("function() {" + _arg1) + "}")));
}
public function retrieveEmbedObjectPropsForTagname(_arg1:String){
var _local2:String;
if ((((Capabilities.playerType == "PlugIn")) || ((Capabilities.playerType == "ActiveX")))){
_local2 = (((((("var elts = document.getElementsByTagName('" + _arg1) + "'); for (var i=0;i<elts.length;i++) {if(typeof elts[i].") + SET_CALLBACK_NAME) + " != 'undefined') { if (!elts[i].getAttribute('id')) {elts[i].setAttribute('id','asorgid_'+Math.floor(Math.random()*100000));} var props = {}; props.id = elts[i].getAttribute('id'); for (var x=0; x < elts[i].attributes.length; x++) { props[elts[i].attributes[x].nodeName] = elts[i].attributes[x].nodeValue;} elts[i].") + SET_CALLBACK_NAME) + "(props); }}");
singleton.executeJS(_local2);
} else {
singleton.external_SetEmbedObjectProps({});
};
}
public static function getId():String{
return (getEnumerableParam("id"));
}
public static function getEnumerableParams():Object{
if (!singleton.embedObjectProps){
singleton._getEmbedObjectProps();
};
return (singleton.embedObjectProps);
}
public static function getSingleton():EmbedObject{
if (_singleton == null){
_singleton = new (EmbedObject);
};
return (_singleton);
}
private static function testFunc(){
}
public static function getParamViaExternal(_arg1:String):Object{
return (Object(singleton.executeJS((((("return document.getElementById('" + getEnumerableParam("id")) + "').getAttribute('") + _arg1) + "');"))));
}
public static function get singleton():EmbedObject{
return (getSingleton());
}
public static function getEnumerableParam(_arg1:String):String{
return (String(getEnumerableParams()[_arg1]));
}
}
}//package
Section 16
//FHitTest (FHitTest)
package {
import flash.display.*;
import flash.geom.*;
public class FHitTest {
protected static function getDrawMatrix(_arg1:DisplayObject, _arg2:Rectangle, _arg3:Number):Matrix{
var _local4:Point;
var _local5:Matrix;
var _local6:Matrix;
_local6 = _arg1.root.transform.concatenatedMatrix;
_local4 = _arg1.localToGlobal(new Point());
_local5 = _arg1.transform.concatenatedMatrix;
_local5.tx = (_local4.x - _arg2.x);
_local5.ty = (_local4.y - _arg2.y);
_local5.a = (_local5.a / _local6.a);
_local5.d = (_local5.d / _local6.d);
if (_arg3 != 1){
_local5.scale(_arg3, _arg3);
};
return (_local5);
}
public static function complexHitTestObject(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Boolean{
return (!((complexIntersectionRectangle(_arg1, _arg2, _arg3).width == 0)));
}
public static function complexIntersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=1):Rectangle{
var _local4:Rectangle;
var _local5:BitmapData;
var _local6:Rectangle;
if (_arg3 <= 0){
throw (new Error("ArgumentError: Error #5001: Invalid value for accurracy", 5001));
};
if (!_arg1.hitTestObject(_arg2)){
return (new Rectangle());
};
_local4 = intersectionRectangle(_arg1, _arg2);
if (((((_local4.width * _arg3) < 1)) || (((_local4.height * _arg3) < 1)))){
return (new Rectangle());
};
_local5 = new BitmapData((_local4.width * _arg3), (_local4.height * _arg3), false, 0);
_local5.draw(_arg1, FHitTest.getDrawMatrix(_arg1, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, -255, -255, 0xFF));
_local5.draw(_arg2, FHitTest.getDrawMatrix(_arg2, _local4, _arg3), new ColorTransform(1, 1, 1, 1, 0xFF, 0xFF, 0xFF, 0xFF), BlendMode.DIFFERENCE);
_local6 = _local5.getColorBoundsRect(4294967295, 4278255615);
_local5.dispose();
if (_arg3 != 1){
_local6.x = (_local6.x / _arg3);
_local6.y = (_local6.y / _arg3);
_local6.width = (_local6.width / _arg3);
_local6.height = (_local6.height / _arg3);
};
_local6.x = (_local6.x + _local4.x);
_local6.y = (_local6.y + _local4.y);
return (_local6);
}
public static function intersectionRectangle(_arg1:DisplayObject, _arg2:DisplayObject):Rectangle{
var _local3:Rectangle;
var _local4:Rectangle;
var _local5:Rectangle;
if (((((!(_arg1.root)) || (!(_arg2.root)))) || (!(_arg1.hitTestObject(_arg2))))){
return (new Rectangle());
};
_local3 = _arg1.getBounds(_arg1.root);
_local4 = _arg2.getBounds(_arg2.root);
_local5 = new Rectangle();
_local5.x = Math.max(_local3.x, _local4.x);
_local5.y = Math.max(_local3.y, _local4.y);
_local5.width = Math.min(((_local3.x + _local3.width) - _local5.x), ((_local4.x + _local4.width) - _local5.x));
_local5.height = Math.min(((_local3.y + _local3.height) - _local5.y), ((_local4.y + _local4.height) - _local5.y));
return (_local5);
}
}
}//package
Section 17
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.text.*;
import flash.ui.*;
public class Game extends MovieClip {
public var d_Mask:MovieClip;
public var d_PauseWindow:MovieClip;
public var d_Life:TextField;
public var d_Pause:SimpleButton;
public var d_LevelUp:MovieClip;
public var d_ItemShow:MovieClip;
public var d_Music:MovieClip;
private var _currentItem:uint;
private var _level:int;
private var _map:MovieClip;
public var d_Arraw:MovieClip;
public var d_Menu:SimpleButton;
public var d_MapContainer:MovieClip;
public var d_Score:TextField;
private var levelupChannel;
public var d_Hunger:TextField;
private var _nodeList:Array;
public var d_Sound:MovieClip;
private var _hitmc:Bitmap;
private var _headNode:SnakeHead;
public var d_Level:TextField;
private var _hunger:int;
private var _life:int;
private var _itemTime:int;
private var _item:MovieClip;
private var pause:Boolean;// = false
public static var AllScore:int = 0;
public function Game(){
pause = false;
super();
d_PauseWindow.visible = false;
d_PauseWindow.d_Pause.addEventListener(MouseEvent.CLICK, onPause);
d_Pause.addEventListener(MouseEvent.CLICK, onPause);
d_Menu.addEventListener(MouseEvent.CLICK, onExit);
d_Sound.addEventListener(MouseEvent.CLICK, onSound);
d_Sound.buttonMode = true;
d_Music.addEventListener(MouseEvent.CLICK, onMusic);
d_Music.buttonMode = true;
d_LevelUp.visible = false;
d_LevelUp.d_Play.addEventListener(MouseEvent.CLICK, onPlay);
d_MapContainer.mask = d_Mask;
d_Mask.visible = false;
Score = 0;
Life = 4;
Level = 1;
setHunger(Level);
_nodeList = new Array();
SoundMixer.stopAll();
onPlay();
}
private function checkNodeHit(_arg1, _arg2):Boolean{
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
_local5 = Math.sqrt(((_local3 * _local3) + (_local4 * _local4)));
if (Math.abs(_local5) < SnakeNode.radius){
return (true);
};
return (false);
}
private function onTick(_arg1){
var _local2:*;
var _local3:uint;
var _local4:*;
var _local5:*;
var _local6:Number;
if (pause){
return;
};
_local2 = 6;
if (_currentItem == 7){
_local2 = (_local2 * -1);
};
if (Input.isDown(Keyboard.LEFT)){
_headNode.angle = (_headNode.angle - _local2);
} else {
if (Input.isDown(Keyboard.RIGHT)){
_headNode.angle = (_headNode.angle + _local2);
} else {
if (_currentItem == 9){
_headNode.angle = (_headNode.angle - 4);
} else {
if (_currentItem == 10){
_headNode.angle = (_headNode.angle + 4);
};
};
};
};
_local3 = 2;
if (_currentItem == 4){
_local3 = 1;
} else {
if (_currentItem == 5){
_local3 = 3;
};
};
_local4 = 0;
while (_local4 < _local3) {
_headNode.onTick();
_local5 = 0;
while (_local5 < _nodeList.length) {
if (_local5 > 0){
_nodeList[_local5].onTick(_nodeList[(_local5 - 1)]);
} else {
_nodeList[0].onTick(_headNode);
};
_local5++;
};
_local4++;
};
_local6 = Math.atan2((_item.y - _headNode.y), (_item.x - _headNode.x));
d_Arraw.rotation = ((_local6 / Math.PI) * 180);
checkItem();
updateMapPos();
checkDie();
}
public function set Life(_arg1){
_life = _arg1;
d_Life.text = String(_arg1);
}
private function checkItem(){
var _local1:Number;
var _local2:*;
if (_currentItem != 0){
_itemTime--;
_local1 = (_itemTime / 25);
if ((((_local1 < 4)) && (((_local1 % 1) == 0)))){
trace(_local1, (_local1 % 1));
playMusic(STick);
};
d_ItemShow.time.text = String(Math.round((_itemTime / 20)));
if (_itemTime <= 0){
if (_currentItem == 6){
d_MapContainer.x = 0;
d_MapContainer.y = 0;
};
_currentItem = 0;
d_ItemShow.visible = false;
};
};
if (_headNode.hitMC.hitTestObject(_item)){
if (_item.currentFrame <= 3){
Score = (Score + 10);
playMusic(SEat);
} else {
if (_item.currentFrame == 8){
Score = (Score + 300);
playMusic(SEat);
} else {
_currentItem = _item.currentFrame;
d_ItemShow.item.gotoAndStop(_currentItem);
d_ItemShow.time.text = String(Math.round((_itemTime / 20)));
d_ItemShow.visible = true;
_itemTime = 200;
if ((((_currentItem == 11)) && ((Hunger > 1)))){
_local2 = new Cloud();
d_MapContainer.addChild(_local2);
_itemTime = _local2.totalFrames;
};
Score = (Score + 50);
playMusic(this.getClass(("SItem" + _currentItem)));
};
};
this.addSnakeNode();
addItem();
Hunger--;
if (Hunger == 0){
if (Level < 3){
levelUp();
} else {
gameOver();
};
return;
};
};
if (_currentItem == 6){
d_MapContainer.x = (((Math.random() * 7) + 2) * ((Math.random() < 0.5)) ? 1 : -1);
d_MapContainer.y = (((Math.random() * 7) + 2) * ((Math.random() < 0.5)) ? 1 : -1);
};
}
private function checkDie(){
var _local1:Boolean;
var _local2:*;
var _local3:*;
_local1 = false;
if (FHitTest.complexHitTestObject(_hitmc, _headNode.hitMC)){
_local1 = true;
} else {
if (_nodeList.length > 3){
_local2 = 3;
while (_local2 < _nodeList.length) {
_local3 = _nodeList[_local2];
if (checkNodeHit(_headNode, _local3)){
_local1 = true;
break;
};
_local2++;
};
};
};
if (_local1){
if (Life == 0){
gameOver();
} else {
Life--;
onPlay();
playMusic(SLooseLife);
};
};
}
private function clear(){
this.removeEventListener(Event.ENTER_FRAME, onTick);
}
function onSound(_arg1){
var _local2:*;
if (d_Sound.currentFrame == 1){
d_Sound.gotoAndStop(2);
Config.SSound = false;
if (Config.soundChannel == null){
return;
};
Config.soundChannel.soundTransform = new SoundTransform(0);
} else {
d_Sound.gotoAndStop(1);
Config.SSound = true;
if (Config.soundChannel == null){
_local2 = new SBack();
Config.soundChannel = _local2.play(0, 100000);
};
Config.soundChannel.soundTransform = new SoundTransform(1);
};
}
public function get Score(){
return (Game.AllScore);
}
public function set Level(_arg1){
_level = _arg1;
d_Level.text = String(_arg1);
}
public function get Hunger(){
return (_hunger);
}
public function set Score(_arg1){
Game.AllScore = _arg1;
d_Score.text = String(_arg1);
}
public function get Life(){
return (_life);
}
function levelUp(){
var _local1:*;
this.removeEventListener(Event.ENTER_FRAME, onTick);
d_LevelUp.visible = true;
d_MapContainer.x = 0;
d_MapContainer.y = 0;
Level++;
setHunger(Level);
if (Config.SMusic){
if (Config.soundChannel != null){
Config.soundChannel.stop();
Config.soundChannel = null;
};
_local1 = new SLevel();
levelupChannel = _local1.play();
};
}
private function onPause(_arg1){
pause = !(pause);
d_PauseWindow.visible = pause;
}
private function playMusic(_arg1:Class){
var _local2:*;
if (Config.SMusic){
_local2 = new (_arg1);
_local2.play();
};
}
private function addItem(){
var _local1:Point;
var _local2:Boolean;
var _local3:*;
var _local4:uint;
_local2 = false;
_local3 = 0;
while (_local3 < 300) {
_local1 = new Point(((Math.random() * 1100) + 50), ((Math.random() * 1100) + 50));
_local1 = _map.localToGlobal(_local1);
if (_map.itemRange.hitTestPoint(_local1.x, _local1.y, true)){
_local2 = true;
break;
};
_local3++;
};
if (_local2){
_local1 = _map.globalToLocal(_local1);
_item.x = _local1.x;
_item.y = _local1.y;
} else {
_item.x = 300;
_item.y = 150;
};
_local4 = 1;
if (((!((_currentItem == 0))) || ((Math.random() < 0.5)))){
_local4 = Math.floor(((Math.random() * 3) + 1));
} else {
_local4 = Math.floor(((Math.random() * 8) + 4));
};
_item.gotoAndStop(_local4);
}
public function get Level(){
return (_level);
}
private function updateMapPos(){
_map.x = (-(_headNode.x) + 350);
_map.y = (-(_headNode.y) + 275);
if (_map.x < -480){
_map.x = -480;
};
if (_map.x > -20){
_map.x = -20;
};
if (_map.y < -430){
_map.y = -430;
};
if (_map.y > -20){
_map.y = -20;
};
}
public function disorder(_arg1:Array):Array{
var _local2:uint;
var _local3:*;
var _local4:uint;
var _local5:uint;
_local2 = _arg1.length;
_local5 = 0;
while (_local5 < _local2) {
_local4 = int((Math.random() * _local2));
_local3 = _arg1[_local5];
_arg1[_local5] = _arg1[_local4];
_arg1[_local4] = _local3;
_local5++;
};
while (--_local5 >= 0) {
_local4 = int((Math.random() * _local2));
_local3 = _arg1[_local5];
_arg1[_local5] = _arg1[_local4];
_arg1[_local4] = _local3;
};
return (_arg1);
}
function onMusic(_arg1){
if (d_Music.currentFrame == 1){
d_Music.gotoAndStop(2);
Config.SMusic = false;
} else {
d_Music.gotoAndStop(1);
Config.SMusic = true;
};
}
function onExit(_arg1){
this.clear();
Config.soundChannel = null;
MovieClip(parent).gotoAndPlay("start");
}
public function set Hunger(_arg1){
_hunger = _arg1;
d_Hunger.text = String(_arg1);
}
function onPlay(_arg1=null){
var _local2:BitmapData;
var _local3:*;
var _local4:*;
var _local5:BitmapData;
var _local6:*;
if (((Config.SSound) && ((Config.soundChannel == null)))){
_local4 = new SBack();
Config.soundChannel = _local4.play(0, 100000);
};
if (levelupChannel != null){
levelupChannel.stop();
levelupChannel = null;
};
d_LevelUp.visible = false;
if (((!((_map == null))) && (d_MapContainer.contains(_map)))){
_map.mask = null;
d_MapContainer.removeChild(_map);
_map.removeChild(_hitmc);
_map.removeChild(_item);
_hitmc.bitmapData.dispose();
_hitmc = null;
_map = null;
};
_item = new Items();
switch (Level){
case 1:
_map = new Map1();
break;
case 2:
_map = new Map2();
break;
case 3:
_map = new Map3();
break;
};
d_MapContainer.addChild(_map);
_map.itemRange.visible = false;
_local2 = new BitmapData(1200, 1000, true, 0);
_local2.draw(_map.mc);
_hitmc = new Bitmap(_local2);
_map.removeChild(_map.mc);
_map.addChild(_hitmc);
_map.addChild(_item);
if (Level == 2){
_local5 = new BitmapData(1200, 1000, false, 4285747486);
_local5.draw(_map.bg);
_local6 = new Bitmap(_local5);
while (_map.bg.numChildren > 0) {
_map.bg.removeChildAt(0);
};
_map.bg.addChild(_local6);
};
_nodeList.splice(0);
_headNode = new SnakeHead();
_map.addChild(_headNode);
_headNode.x = 100;
_headNode.y = 800;
_headNode.angle = -90;
_local3 = 0;
while (_local3 < 5) {
addSnakeNode();
_local3++;
};
_itemTime = 0;
_currentItem = 0;
d_ItemShow.visible = false;
addItem();
this.addEventListener(Event.ENTER_FRAME, onTick);
}
private function setHunger(_arg1){
switch (_arg1){
case 1:
Hunger = 15;
break;
case 2:
Hunger = 18;
break;
case 3:
Hunger = 20;
break;
};
}
private function addSnakeNode(){
var _local1:SnakeNode;
_local1 = new SnakeNode();
if (_nodeList.length == 0){
_local1.initPos(_headNode);
} else {
_local1.initPos(_nodeList[(_nodeList.length - 1)]);
};
_nodeList.push(_local1);
_map.addChild(_local1);
}
private function getClass(_arg1:String):Class{
return ((this.root.loaderInfo.applicationDomain.getDefinition(_arg1) as Class));
}
function gameOver(){
this.clear();
MovieClip(parent).gotoAndPlay("over");
Config.soundChannel = null;
}
}
}//package
Section 18
//HitNode (HitNode)
package {
import flash.display.*;
public dynamic class HitNode extends MovieClip {
}
}//package
Section 19
//Input (Input)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class Input {
public static var mousePos:Point;
private static var _keysDown:Object;
public static var stage:Stage;
private static function keyPressedHandler(_arg1:KeyboardEvent):void{
_keysDown[_arg1.keyCode] = true;
}
public static function isDown(_arg1:uint):Boolean{
return (Boolean(_keysDown[_arg1]));
}
private static function keyReleasedHandler(_arg1:KeyboardEvent):void{
delete _keysDown[_arg1.keyCode];
}
public static function init(_arg1:Stage){
mousePos = new Point();
_arg1.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
_keysDown = new Object();
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedHandler);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleasedHandler);
_arg1.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
}
private static function focusOutHandler(_arg1:FocusEvent):void{
_keysDown = new Object();
}
public static function destroy():void{
if (stage == null){
return;
};
_keysDown = new Object();
stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressedHandler);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleasedHandler);
stage.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
stage = null;
}
private static function mouseMoveHandler(_arg1:MouseEvent):void{
mousePos.x = _arg1.stageX;
mousePos.y = _arg1.stageY;
}
}
}//package
Section 20
//IntUtil (IntUtil)
package {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package
Section 21
//Items (Items)
package {
import flash.display.*;
public dynamic class Items extends MovieClip {
public function Items(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 22
//Map1 (Map1)
package {
import flash.display.*;
public dynamic class Map1 extends MovieClip {
public var mc:MovieClip;
public var itemRange:MovieClip;
}
}//package
Section 23
//Map2 (Map2)
package {
import flash.display.*;
public dynamic class Map2 extends MovieClip {
public var bg:MovieClip;
public var mc:MovieClip;
public var itemRange:MovieClip;
}
}//package
Section 24
//Map3 (Map3)
package {
import flash.display.*;
public dynamic class Map3 extends MovieClip {
public var mc:MovieClip;
public var itemRange:MovieClip;
}
}//package
Section 25
//MD5 (MD5)
package {
public class MD5 {
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package
Section 26
//SBack (SBack)
package {
import flash.media.*;
public dynamic class SBack extends Sound {
}
}//package
Section 27
//SEat (SEat)
package {
import flash.media.*;
public dynamic class SEat extends Sound {
}
}//package
Section 28
//SItem10 (SItem10)
package {
import flash.media.*;
public dynamic class SItem10 extends Sound {
}
}//package
Section 29
//SItem11 (SItem11)
package {
import flash.media.*;
public dynamic class SItem11 extends Sound {
}
}//package
Section 30
//SItem4 (SItem4)
package {
import flash.media.*;
public dynamic class SItem4 extends Sound {
}
}//package
Section 31
//SItem5 (SItem5)
package {
import flash.media.*;
public dynamic class SItem5 extends Sound {
}
}//package
Section 32
//SItem6 (SItem6)
package {
import flash.media.*;
public dynamic class SItem6 extends Sound {
}
}//package
Section 33
//SItem7 (SItem7)
package {
import flash.media.*;
public dynamic class SItem7 extends Sound {
}
}//package
Section 34
//SItem8 (SItem8)
package {
import flash.media.*;
public dynamic class SItem8 extends Sound {
}
}//package
Section 35
//SItem9 (SItem9)
package {
import flash.media.*;
public dynamic class SItem9 extends Sound {
}
}//package
Section 36
//SLevel (SLevel)
package {
import flash.media.*;
public dynamic class SLevel extends Sound {
}
}//package
Section 37
//SLooseLife (SLooseLife)
package {
import flash.media.*;
public dynamic class SLooseLife extends Sound {
}
}//package
Section 38
//SnakeHead (SnakeHead)
package {
import flash.display.*;
public class SnakeHead extends Sprite {
public var vector:Vector2D;
protected var _speed:Number;
public var hitMC:MovieClip;
public function SnakeHead(){
vector = new Vector2D(1, 1);
super();
speed = 3;
angle = 0;
initMC();
}
public function onTick(_arg1:SnakeHead=null){
this.x = (this.x + vector.x);
this.y = (this.y + vector.y);
}
public function set speed(_arg1):void{
vector.length = _arg1;
_speed = _arg1;
}
protected function initMC(){
hitMC = new HitNode();
this.addChild(hitMC);
this.addChild(new SnakeHeadMC());
}
public function set angle(_arg1):void{
vector.angle = ((_arg1 / 180) * Math.PI);
this.rotation = _arg1;
}
public function get angle():Number{
return (this.rotation);
}
}
}//package
Section 39
//SnakeHeadMC (SnakeHeadMC)
package {
import flash.display.*;
public dynamic class SnakeHeadMC extends MovieClip {
}
}//package
Section 40
//SnakeNode (SnakeNode)
package {
import flash.display.*;
import flash.events.*;
public class SnakeNode extends SnakeHead {
public var movePath:Array;
public static const radius:Number = 31;
public function SnakeNode(){
movePath = new Array();
super();
}
override public function onTick(_arg1:SnakeHead=null){
var _local2:*;
if (_arg1 == null){
return;
};
movePath.push([_arg1.vector.x, _arg1.vector.y]);
_local2 = movePath.shift();
vector.x = _local2[0];
vector.y = _local2[1];
this.rotation = ((vector.angle / Math.PI) * 180);
this.x = (this.x + vector.x);
this.y = (this.y + vector.y);
}
public function initPos(_arg1:SnakeHead){
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = _arg1.vector.clone();
_local2.length = SnakeNode.radius;
_local2 = _local2.reverse();
this.x = (_local2.x + _arg1.x);
this.y = (_local2.y + _arg1.y);
this.rotation = _arg1.rotation;
this.vector = _local2.reverse();
this.vector.length = _speed;
movePath.splice(0);
_local3 = Math.floor((radius / _speed));
_local4 = 0;
while (_local4 < _local3) {
movePath.push([vector.x, vector.y]);
_local4++;
};
_local5 = (radius % _speed);
if (_local5 != 0){
this.vector.length = _local5;
movePath.push([vector.x, vector.y]);
this.vector.length = _speed;
};
}
override protected function initMC(){
this.addChild(new SnakeNodeMC());
}
}
}//package
Section 41
//SnakeNodeMC (SnakeNodeMC)
package {
import flash.display.*;
public dynamic class SnakeNodeMC extends MovieClip {
}
}//package
Section 42
//SOver (SOver)
package {
import flash.media.*;
public dynamic class SOver extends Sound {
}
}//package
Section 43
//SStart (SStart)
package {
import flash.media.*;
public dynamic class SStart extends Sound {
}
}//package
Section 44
//STick (STick)
package {
import flash.media.*;
public dynamic class STick extends Sound {
}
}//package
Section 45
//Vector2D (Vector2D)
package {
import flash.display.*;
public class Vector2D {
private var _y:Number;
private var _x:Number;
public function Vector2D(_arg1:Number=0, _arg2:Number=0){
_x = _arg1;
_y = _arg2;
}
public function dotProd(_arg1:Vector2D):Number{
return (((_x * _arg1.x) + (_y * _arg1.y)));
}
public function draw(_arg1:Graphics, _arg2:uint=0):void{
_arg1.lineStyle(0, _arg2);
_arg1.moveTo(0, 0);
_arg1.lineTo(_x, _y);
}
public function isNormalized():Boolean{
return ((length == 1));
}
public function isZero():Boolean{
return ((((_x == 0)) && ((_y == 0))));
}
public function get lengthSQ():Number{
return (((_x * _x) + (_y * _y)));
}
public function set length(_arg1:Number):void{
var _local2:Number;
_local2 = angle;
_x = (Math.cos(_local2) * _arg1);
_y = (Math.sin(_local2) * _arg1);
}
public function normalize():Vector2D{
var _local1:Number;
if (length == 0){
_x = 1;
return (this);
};
_local1 = length;
_x = (_x / _local1);
_y = (_y / _local1);
return (this);
}
public function divide(_arg1:Number):Vector2D{
return (new Vector2D((_x / _arg1), (_y / _arg1)));
}
public function get angle():Number{
return (Math.atan2(_y, _x));
}
public function subtract(_arg1:Vector2D):Vector2D{
return (new Vector2D((_x - _arg1.x), (_y - _arg1.y)));
}
public function get y():Number{
return (_y);
}
public function distSQ(_arg1:Vector2D):Number{
var _local2:Number;
var _local3:Number;
_local2 = (_arg1.x - x);
_local3 = (_arg1.y - y);
return (((_local2 * _local2) + (_local3 * _local3)));
}
public function clone():Vector2D{
return (new Vector2D(x, y));
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
public function add(_arg1:Vector2D):Vector2D{
return (new Vector2D((_x + _arg1.x), (_y + _arg1.y)));
}
public function reverse():Vector2D{
_x = -(_x);
_y = -(_y);
return (this);
}
public function multiply(_arg1:Number):Vector2D{
return (new Vector2D((_x * _arg1), (_y * _arg1)));
}
public function get length():Number{
return (Math.sqrt(lengthSQ));
}
public function zero():Vector2D{
_x = 0;
_y = 0;
return (this);
}
public function toString():String{
return ((((("[Vector2D (x:" + _x) + ", y:") + _y) + ")]"));
}
public function set angle(_arg1:Number):void{
var _local2:Number;
_local2 = length;
_x = (Math.cos(_arg1) * _local2);
_y = (Math.sin(_arg1) * _local2);
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function truncate(_arg1:Number):Vector2D{
length = Math.min(_arg1, length);
return (this);
}
public function crossProd(_arg1:Vector2D):Number{
return (((_x * _arg1.y) - (_y * _arg1.x)));
}
public function get x():Number{
return (_x);
}
public function get perp():Vector2D{
return (new Vector2D(-(y), x));
}
public function sign(_arg1:Vector2D):int{
return (((perp.dotProd(_arg1) < 0)) ? -1 : 1);
}
public function dist(_arg1:Vector2D):Number{
return (Math.sqrt(distSQ(_arg1)));
}
public function equals(_arg1:Vector2D):Boolean{
return ((((_x == _arg1.x)) && ((_y == _arg1.y))));
}
public static function angleBetween(_arg1:Vector2D, _arg2:Vector2D):Number{
if (!_arg1.isNormalized()){
_arg1 = _arg1.clone().normalize();
};
if (!_arg2.isNormalized()){
_arg2 = _arg2.clone().normalize();
};
return (Math.acos(_arg1.dotProd(_arg2)));
}
}
}//package