Код AS3:
package
{
import flash.display.*;
import flash.events.*;
import flash.events.KeyboardEvent;
import flash.text.TextField;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.ui.*;
import flash.utils.*;
import mx.core.*;
public class Game1 extends Sprite
{
import flash.net.*;
import flash.utils.*;
public var spr1:Sprite = new Sprite;
public var spr2:Sprite = new Sprite;
public var wall1:Shape = new Shape;
public var wall2:Shape = new Shape;
public var wall3:Shape = new Shape;
public var dnco:Shape = new Shape;
public var rico:Shape = new Shape;
public var leco:Shape = new Shape;
public var upco:Shape = new Shape;
public var jump:Boolean = false;
public var jmpc:Number = 0;
public var col:Collision = new Collision();
public var verwall:Array = [];
public var keyri:uint = 39;
public var recive:String = "";
public var keyle:uint = 37;
public var connect:Socket = new Socket();
public var keypri:Boolean = false;
public var keyple:Boolean = false;
public function Game1()
{
spr1.graphics.beginFill(0x666666, 1);
spr1.graphics.drawRect(-300, 0, 1600,1400);
spr1.graphics.endFill();
addChild(spr1);
spr1.name="spr1";
spr2.width=30;
spr2.height=50;
spr2.graphics.beginFill(0x0099ff, 1);
spr2.graphics.drawRect(0, 0,30 ,50);
spr2.graphics.endFill();
spr2.x=30;
spr2.width=30;
spr2.height=50
spr2.y=250;
wall1.graphics.beginFill(0x222222, 1);
wall1.graphics.drawRoundRect(-300, 0,1800 ,1600,2,2);
wall1.graphics.endFill();
wall1.x=0;
wall1.y=350;
wall1.width=600;
wall1.height=50;
addChild(wall1);
dnco.graphics.beginFill(0x222222, 1);
dnco.graphics.drawRoundRect(5, 45,25 ,10, 2, 2);
dnco.graphics.endFill();
dnco.x=5;
dnco.y=0;
dnco.width=20;
dnco.height=5;
upco.graphics.beginFill(0x222222, 1);
upco.graphics.drawRoundRect(0, 0,1800 ,1600, 2, 2);
upco.graphics.endFill();
upco.x=5;
upco.y=0;
upco.width=20;
upco.height=5;
leco.graphics.beginFill(0x222222, 1);
leco.graphics.drawRoundRect(0, 5,5 ,40, 2, 2);
leco.graphics.endFill();
leco.x=0;
leco.y=5;
leco.width=5;
leco.height=40;
rico.graphics.beginFill(0x222222, 1);
rico.graphics.drawRoundRect(0, 0,1800 ,1600, 2, 2);
rico.graphics.endFill();
rico.x=25;
rico.y=5;
rico.width=5;
rico.height=40;
spr2.addChild(leco);
spr2.addChild(rico);
spr2.addChild(upco);
spr2.addChild(dnco);
spr1.addChild(spr2);
spr2.name="spr2";
wall1.name="wall1";
dnco.name="dnco";
rico.name="rico";
leco.name="leco";
upco.name="upco";
stage.addEventListener(KeyboardEvent.KEY_DOWN, onkey);
stage.addEventListener(KeyboardEvent.KEY_UP, onup);
stage.addEventListener(Event.ENTER_FRAME, frasher);
start();
}
public function start():void
{
var col:Collision = new Collision();
jmpc=spr1.y-40;
col.level.push(wall1);
}
public function jumpanim():void
{
if((jump == true) && (col.coldn == true))
{
(jmpc=(spr1.y-40));
}
if((jump == true) && (jmpc>spr2.y) && (col.coldn == true))
{
jump=false;
}
}
public function onup(event:KeyboardEvent):void
{
if(event.keyCode == keyri)
{
keypri = false;
}
if(event.keyCode == keyle)
{
keyple = false;
}
}
public function onkey(event:KeyboardEvent):void
{
if((event.keyCode == Keyboard.RIGHT) && (spr2.x <= 594) && (col.colri == false))
{
(spr2.x=(spr2.x+5));
keypri=true;
}
if((event.keyCode == Keyboard.LEFT) && (spr2.x >= 0) && (col.colle == false))
{
(spr2.x=(spr2.x-5));
keyple=true;
}
if((event.keyCode == Keyboard.UP) && (jump == false) && (col.coldn == true) && (col.colup == false))
{
jump=true;
jumpanim();
}
}
public function frasher(event:Event):void
{
if((spr2.x > 0) && (col.coldn == false) && (jump == false))
{
spr2.y=(spr2.y + 4);
}
if((keypri == true) && (spr2.x >= 0) && (spr2.x <= 620) && (col.colri == false))
{
(spr2.x=(spr2.x+5));
}
if((keyple == true) && (spr2.x >= 0) && (spr2.x <= 620) && (col.colle == false))
{
(spr2.x=(spr2.x-5));
}
if((jump == true) && (spr2.y<jmpc))
{
jump = false;
}
else if(jump == true)
{
(spr2.y=(spr2.y-8));
}
if(col.colle == true)
{
jump=false;
keypri=false;
keyple=false;
while(col.colle == false)
{
spr2.x=(spr2.x+4);
}
}
if(col.colri == true)
{
jump=false;
keypri=false;
keyple=false;
while(col.colri == false)
{
spr2.x=(spr2.x-4);
}
}
}
}
}
Код AS3:
package
{
import flash.display.*;
import flash.events.*;
import flash.events.Event;
import flash.events.IEventDispatcher;
import flash.events.KeyboardEvent;
import flash.ui.*;
public dynamic class Collision extends Sprite
{
public var main:Game1;
public var i:int = 0;
public var level:Array = [];
public var coldn:Boolean = false;
public var colup:Boolean = false;
public var colri:Boolean = false;
public var colle:Boolean = false;
public function Collision()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.addEventListener(Event.ENTER_FRAME, collis);
}
public function collis(event:Event):void
{
trace(stage.getChildAt(2) as String);
}