Flash game creation tutorial  Источник: http://www.emanueleferonato.com/2006/11/18/flash-game-creation-tutorial-part-2/
Результат:
-----------------------
Герой (Hero) Назовем нашего главного героя Ball. И заставим его тут же двигаться вправо и влево, ввурх и назад в зависимости от нажатой клавиши.
Первый код для нашего кружка будет выглядеть так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  _x--;  }  if (Key.isDown(Key.RIGHT)) {  _x++;  }  if (Key.isDown(Key.UP)) {  _y--;  }  if (Key.isDown(Key.DOWN)) {  _y++;  } } 
Сила (Power)  Зададим кружку постоянную скорость.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 onClipEvent (load) {  power = 3; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  _x -= power;  }  if (Key.isDown(Key.RIGHT)) {  _x += power;  }  if (Key.isDown(Key.UP)) {  _y -= power;  }  if (Key.isDown(Key.DOWN)) {  _y += power;  } } 
 Изменяйте значение  power и круг будет двигаться быстрее и медленнее.
Скорость (Speed) Зададим кругу постоянную скорость:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 onClipEvent (load) {  power = 0.2;  yspeed = 0;  xspeed = 0; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed -= power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed += power;  }  if (Key.isDown(Key.UP)) {  yspeed -= power;  }  if (Key.isDown(Key.DOWN)) {  yspeed += power;  }  _y += yspeed;  _x += xspeed; } 
Трение (Friction) Наш кружок будет двигаться не вечно:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 onClipEvent (load) {  power = 0.3;  yspeed = 0;  xspeed = 0;  friction = 0.95; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed -= power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed += power;  }  if (Key.isDown(Key.UP)) {  yspeed -= power;  }  if (Key.isDown(Key.DOWN)) {  yspeed += power;  }  xspeed *= friction;  yspeed *= friction;  _y += yspeed;  _x += xspeed; } 
Гравитация (The Gravity) Согласно нашей гравитации круг будет падать вниз:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 onClipEvent (load) {  power = 0.3;  yspeed = 0;  xspeed = 0;  friction = 0.95;  gravity = 0.1 }   onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed -= power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed += power;  }  if (Key.isDown(Key.UP)) {  yspeed -= power;  }  if (Key.isDown(Key.DOWN)) {  yspeed += power;  }  xspeed *= friction;  yspeed += gravity;  _y += yspeed;  _x += xspeed; } 
Толчок (The Thrust) Изменили гравитацию - изменим и движение вверх:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 onClipEvent (load) {  power = 0.3;  yspeed = 0;  xspeed = 0;  friction = 0.95;  gravity = 0.1;  thrust = 0.75; }   onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed -= power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed += power;  }  if (Key.isDown(Key.UP)) {  yspeed -= power*thrust;  }  if (Key.isDown(Key.DOWN)) {  yspeed += power*thrust;  }  xspeed *= friction;  yspeed += gravity;  _y += yspeed;  _x += xspeed; } 
Ветер (The Wind) Что сейчас!? бУДЕМ ДЕЛАТЬ Ветер!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 onClipEvent (load) {  power = 0.3;  yspeed = 0;  xspeed = 0;  friction = 0.95;  gravity = 0.1;  thrust = 0.75;  wind = 0.09; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed -= power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed += power;  }  if (Key.isDown(Key.UP)) {  yspeed -= power*thrust;  }  if (Key.isDown(Key.DOWN)) {  yspeed += power*thrust;  }  xspeed += wind;  xspeed *= friction;  yspeed += gravity;  _y += yspeed;  _x += xspeed; } 
 
Вращение (The Rotation) Вращение вправо - по часовой, а влево против часовой стрелки.
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 onClipEvent (load) {  power = 0.65;  yspeed = 0;  xspeed = 0;  friction = 0.99;  gravity = 0.1;  thrust = 0.75;  wind = 0.05; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed -= power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed += power;  }  if (Key.isDown(Key.UP)) {  yspeed -= power*thrust;  }  if (Key.isDown(Key.DOWN)) {  yspeed += power*thrust;  }  xspeed += wind;  xspeed *= friction;  yspeed += gravity;  _y += yspeed;  _x += xspeed;  _rotation += xspeed; } 
Исходники: 
zipped file  Границы (The bounds) Если коснется границы - вернется:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 onClipEvent (load) {  yspeed = 0;  xspeed = 0;  wind = 0.00;  power = 0.65;  gravity = 0.1;  upconstant = 0.75;  friction = 0.99; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed = xspeed-power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed = xspeed+power;  }  if (Key.isDown(Key.UP)) {  yspeed = yspeed-power*upconstant;  }  if (Key.isDown(Key.DOWN)) {  yspeed = yspeed+power*upconstant;  }  xspeed = (xspeed+wind)*friction;  yspeed = yspeed+gravity;  _y = _y+yspeed;  _x = _x+xspeed;  _rotation = _rotation+xspeed;  if (_root.wall.hitTest(_x, _y, true)) {  xspeed = 0;  yspeed = 0;  _x = 120;  _y = 120;  } } 
Монета (The coin) – 1ая попытка (1st attempt) Берем монетки: 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 onClipEvent (load) {  yspeed = 0;  xspeed = 0;  wind = 0.00;  power = 0.65;  gravity = 0.1;  upconstant = 0.75;  friction = 0.99; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed = xspeed-power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed = xspeed+power;  }  if (Key.isDown(Key.UP)) {  yspeed = yspeed-power*upconstant;  }  if (Key.isDown(Key.DOWN)) {  yspeed = yspeed+power*upconstant;  }  xspeed = (xspeed+wind)*friction;  yspeed = yspeed+gravity;  _y = _y+yspeed;  _x = _x+xspeed;  _rotation = _rotation+xspeed;  if (_root.wall.hitTest(_x, _y, true)) {  xspeed = 0;  yspeed = 0;  _x = 120;  _y = 120;  }  if (_root.coin.hitTest(_x, _y, true)) {  _root.coin._x = Math.random()*400+50;  } } 
 Соберите все монетки.
Монета (The coin) – 2ая попытка (2nd attempt) Изменяим строчку 34 
1 if (_root.coin.hitTest(this)) { 
Теперь вся ворма кружка, а не один пиксель козволит проще собирать монеты:
Монета (The coin) – 3 попытка (3rd attempt) Создаем новый мувик и назовем его "hero_hit" и вставьте в наш кружок (он же hero), по центру. Это темно-синий квадрат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 onClipEvent (load) {  yspeed = 0;  xspeed = 0;  wind = 0.00;  power = 0.65;  gravity = 0.1;  upconstant = 0.75;  friction = 0.99; } onClipEvent (enterFrame) {  if (Key.isDown(Key.LEFT)) {  xspeed = xspeed-power;  }  if (Key.isDown(Key.RIGHT)) {  xspeed = xspeed+power;  }  if (Key.isDown(Key.UP)) {  yspeed = yspeed-power*upconstant;  }  if (Key.isDown(Key.DOWN)) {  yspeed = yspeed+power*upconstant;  }  xspeed = (xspeed+wind)*friction;  yspeed = yspeed+gravity;  _y = _y+yspeed;  _x = _x+xspeed;  _rotation = _rotation+xspeed;  if (_root.wall.hitTest(_x, _y, true)) {  xspeed = 0;  yspeed = 0;  _x = 120;  _y = 120;  }  if (_root.coin.hitTest(this.hero_hit)) {  _root.coin._x = Math.random()*400+50;  } } 
Исходники:
Download the source code