Показать сообщение отдельно
Старый 09.10.2012, 18:56
nikitat вне форума Посмотреть профиль Отправить личное сообщение для nikitat Найти все сообщения от nikitat
  № 9  
Ответить с цитированием
nikitat

Регистрация: Oct 2012
Сообщений: 5
Код AS3:
// переменные определяющие в какую сторону лететь.
var up,down,left,right = 0;
// слушатель событий нажатия клавиш.
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownF);
// слушатель событий отпускания клавиш.
stage.addEventListener(KeyboardEvent.KEY_UP,keyUpF);
// ENTER_FRAME =)
stage.addEventListener(Event.ENTER_FRAME,updatePosF);
 
// функция выполняющаяся при нажатии клавиш.
function keyDownF(e:KeyboardEvent):void
{
 if (e.keyCode == Keyboard.UP)
 {
  //если верно, то присвоить переменной up значение 1.
  up = 1;
 }
 if (e.keyCode == Keyboard.DOWN)
 {
  //если верно, то присвоить переменной down значение 1.
  down = 1;
 }
 if (e.keyCode == Keyboard.RIGHT)
 {
  //если верно, то присвоить переменной right значение 1.
  right = 1;
 }
 if (e.keyCode == Keyboard.LEFT)//аналогично.
 {
  left = 1;
 }
}
 
// функция выполняющаяся при отпускании клавиш.
function keyUpF(e:KeyboardEvent):void
{
 if (e.keyCode == Keyboard.UP)
 {
  //если верно, то присвоить переменной up значение 0.
  up = 0;
 }
 if (e.keyCode == Keyboard.DOWN)// аналогично
 {
  down = 0;
 }
 if (e.keyCode == Keyboard.RIGHT)// аналогично
 {
  right = 0;
 }
 if (e.keyCode == Keyboard.LEFT)// аналогично
 {
  left = 0;
 }
}
 
// а вот и функция которая проверяет не вышел 
// ли игрок за пределы экрана, и в какую сторону надо лететь.
function updatePosF(e:Event):void
{
 if (up == 1)// если up = 1, то лететь вверх
 {
  player.y -=  5;
 }
 if (down == 1)// если down = 1, то лететь вниз
 {
  player.y +=  5;
 }
 if (left == 1)// если left = 1, то лететь влево
 {
  player.x -=  5;
 }
 if (right == 1)// если right = 1, то лететь вправо
 {
  player.x +=  5;
 }
//----------------------------------
// запрет на передвижение, если пчелка возле краёв экрана
 
 if (player.y <=player.height/2)
 {
  up = 0;
 }
 if (player.y >= stage.stageHeight-player.height/2)
 {
  down = 0;
 }
 if (player.x <= player.width/2)
 {
  left = 0;
 }
 if (player.x >= stage.stageWidth-player.width/2)
 {
  right = 0;
 }
//-------------------------------
}


Последний раз редактировалось udaaff; 09.10.2012 в 21:58.