PDA

Просмотр полной версии : Ошибка в игре колобок функция KeyBoard


xTIGRx
12.06.2012, 21:56
ребята помогите...колобок не хочет останавливаться, почему???


import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;

var pathX:Number=0;
var pathY:Number=0;

var up = false;
var down = false;
var left = false;
var right = false;

addEventListener(Event.ENTER_FRAME,myfunc);
stage.addEventListener(KeyboardEvent.KEY_DOWN,mykeyDOWN);
stage.addEventListener(KeyboardEvent.KEY_UP,mykeyUP);

function mykeyDOWN(e:KeyboardEvent):void {
switch (e.keyCode) {
case Keyboard.UP :
up = true;
break;
case Keyboard.DOWN :
down = true;
break;
case Keyboard.LEFT :
left = true;
break;
case Keyboard.RIGHT :
right = true;
break;
}
}

function mykeyUP(e:KeyboardEvent):void {
switch (e.keyCode) {
case Keyboard.UP :
up = false;
break;
case Keyboard.DOWN :
down = false;
break;
case Keyboard.LEFT :
left = false;
break;
case Keyboard.RIGHT :
right = false;
break;
}
}

function myfunc(e:Event):void {
if (up) {pathY=-5;pathX=0;}
if (down) {pathY=5;pathX=0;}
if (left) {pathX=-5;pathY=0;}
if (right) {pathX=5;pathY=0;}

kolobok.x+=pathX;
kolobok.y+=pathY;
}

samana
13.06.2012, 00:39
Всё логично. Допустим вы нажали "вправо" и колобок начинает идти туда pathX=5. И вы отпустили клавишу "вправо" и ..... и всё, ничего не происходит, переменная pathX по прежнему равна пяти и колобок так же продолжает свой путь в никуда.