Я создал игру-лабиринт во Flash as3, и она отлично работает как отдельный swf. Как только я бросаю его в основной контейнер swf, он перестает работать! Ну, это все еще работает, но теряет «границы» лабиринта. Кто-нибудь знает, как я мог решить эту проблему, пожалуйста? Любая помощь очень ценится, S.
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.*;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.geom.Rectangle;
import gs.TweenLite;
import gs.easing.*;
public class slide17 extends MovieClip {
private var maze:mazeBG;
private var mazeC:mazeCircle;
var rightArrow:Boolean = false;
var leftArrow:Boolean = false;
var upArrow:Boolean = false;
var downArrow:Boolean = false;
var speed:int = 10;
public function slide17():void {
screen01();
}
private function screen01():void {
stage.addEventListener(KeyboardEvent.KEY_DOWN, stage_onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, stage_onKeyUp);
stage.addEventListener(Event.ENTER_FRAME, stage_onEnterFrame);
maze = new mazeBG();
addChild(maze);
maze.x=88;
maze.y=155;
mazeC = new mazeCircle();
addChild(mazeC);
mazeC.x=104;
mazeC.y=321;
function stage_onKeyDown(event:KeyboardEvent):void {
if(event.keyCode == Keyboard.RIGHT) rightArrow = true;
if(event.keyCode == Keyboard.LEFT) leftArrow = true;
if(event.keyCode == Keyboard.UP) upArrow = true;
if(event.keyCode == Keyboard.DOWN) downArrow = true;
}
function stage_onKeyUp(event:KeyboardEvent):void {
if(event.keyCode == Keyboard.RIGHT) rightArrow = false;
if(event.keyCode == Keyboard.LEFT) leftArrow = false;
if(event.keyCode == Keyboard.UP) upArrow = false;
if(event.keyCode == Keyboard.DOWN) downArrow = false;
}
function stage_onEnterFrame(event:Event):void {
var rect:Rectangle = mazeC.getBounds(stage);
var i:int = 0;
var xBump:int = 0;
var yBump:int = 0;
if(rightArrow) {
xBump = speed;
for(i = 0; i < speed; i++) {
if(maze.hitTestPoint(rect.right + i, mazeC.y, true)) {
xBump = i - 1;
break;
}
}
}
if(leftArrow) {
xBump = -speed;
for(i = 0; i < speed; i++) {
if(maze.hitTestPoint(rect.left - i, mazeC.y, true)) {
xBump = -i + 1;
break;
}
}
}
if(upArrow) {
yBump = -speed;
for(i = 0; i < speed; i++) {
if(maze.hitTestPoint(mazeC.x, rect.top - i, true)) {
yBump = -i + 1;
break;
}
}
}
if(downArrow) {
yBump = speed;
for(i = 0; i < speed; i++) {
if(maze.hitTestPoint(mazeC.x, rect.bottom + i, true)) {
yBump = i - 1;
break;
}
}
}
mazeC.x += xBump;
mazeC.y += yBump;
}
}
}
}