English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Теперь давайте рассмотрим событие onEnterFrame. Мы оставляем функцию moveBall() до последнего момента. 1 _root.onEnterFrame =function(){ 2 if (Key.isDown(Key.RIGHT)){ 3 moveBall("right"); 4 }else if (Key.isDown(Key.LEFT)){ 5 moveBall("left"); 6 } 7 if (Key.isDown(Key.UP)){ 8 moveBall("up"); 9 }else if (Key.isDown(Key.DOWN)){ 10 moveBall("down"); 11 } 12 }; Здесь присутствуют два блока проверки условия. Один проверяет нажатие правой или левой стрелки; другой проверяет нажатие стрелки вверх или вниз. Если обнаружено, что была нажата правая или левая стрелка, вызывается функция moveBall(), а имя нажатой кнопки передается в нее в виде строки. Аналогично, если было обнаружено нажатие стрелки вверх или вниз, то вызывается функция moveBall() и нажатая кнопка передается в нее в виде строки. Теперь давайте рассмотрим функцию moveBall(). Она не сложна, но она довольно длинна. Это потому, что мы повторяем некоторые виды действий для каждой клавиши направления (четыре раза). 1 function moveBall(dir){ 2 ob =game.ball; 3 if (dir =="right"){ 4 var tempx =ob.x+ob.radius+game.speed; 5 var tempy =ob.y; 6 var cellx =Math.ceil(tempx/game.spacing); 7 var celly =Math.ceil(tempy/game.spacing); 8 var tempCell =game ["cell"+cellx+"_"+celly ]; 9 if (tempCell.type !=1){ 10 return; 11 }else { 12 ob.x +=game.speed; 13 ob.clip._x =ob.x; 14 } 15 }else if (dir =="left"){ 16 var tempx =ob.x-ob.radius-game.speed; 17 var tempy =ob.y; 18 var cellx =Math.ceil(tempx/game.spacing); 19 var celly =Math.ceil(tempy/game.spacing); 20 var tempCell =game ["cell"+cellx+"_"+celly ]; 21 if (tempCell.type !=1){ 22 return; 23 }else { 24 ob.x -=game.speed; 25 ob.clip._x =ob.x; 26 } 27 }else if (dir =="up"){ 28 var tempx =ob.x; 29 var tempy =ob
Hosted by uCoz