Теперь давайте рассмотрим событие 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