Цитата:
|
Сообщение от Bорон
Невозможность движения по диагонали проистекает из того что я не знаю как определить, какую кнопку отпустили  . (Это нужно что бы понять какую составляющую движения убрать).
Поднимал вопрос в форуме по as, но ничего не подсказали по этому поводу 
|
Хмм.. надо бы заглядывать еще и в тот форум. Раз уж ты не указал ссылку на тот топик, то предложу свой вариант здесь:

Код:
/*Допустим, у тебя в классе с описанием зайца имеется свойство speed, в которой хранится скорость зайца по одной из осей.*/
//И есть метод onEnterFrame(), который этого зайца двигает
function onEnterFrame(){
var move_x = 0; //Сделаем пару временных переменных
var move_y = 0; //которые будут определять направление движения
if(Key.isDown(Key.UP)){ //Проверяем, какие из кнопок управления нажаты
move_y = -1; //если кнопка нажата - изменяем соответствующее значение
}
if(Key.isDown(Key.DOWN)){ //И так со всеми кнопками
move_y = 1;
}
if(Key.isDown(Key.LEFT)){
move_x = -1;
}
if(Key.isDown(Key.RIGHT)){
move_x = 1;
}
this._x += move_x*this.speed; //В конце изменяем координаты зайца,
this._y += move_y*this.speed; //домножив "вектор" на его скорость
}
P.S.: Да, я знаю, что это можно написать правильнее, но так наиболее наглядно и понятно.