Откройте приложение Macromedia Flash
Создайте новый фильм. Сперва необходимо подготовить объекты, которые будут участвовать в игре.
В нижнем солое создайте фон сцены, по желанию изображение фона можно сгруппировать или преобразовать в символ клип.

В новом слое создайте изображение орудия. Преобразуйте орудие в символ-клип. Так как башня орудия будет вращаться вокруг своей оси, то точка регистрации должна находиться в центре башни:

				Присвойте имя копии символа с изображением орудия (например Gun):
			

Разместите орудие в нужном месте (в нашем примере – в центре экрана с точкой регистрации чуть ниже нижней границы рабочй области).
В новом слое разместите надписи со статическим текстом с пояснениями и с динамическим текстом для вывода результатов на экран. В нашем примере 7 надписей с динамичным текстом:

В палитре Параметры присвойте этим 7-ми надписям имена переменных, значения которых будут выводиться на экран. В нашем примере это:
| PlDistr | – | количество сбитых самолётов | 
| Pl | – | общее количество вылетевших самолётов | 
| s1Distr | – | количество потопленных кораблей | 
| s1 | – | общее количество выплывших кораблей | 
| s2Distr | – | количество потопленных девушек | 
| s2 | – | общее количество выплывших девушек | 
| patron | – | количество снарядов | 

				В отдельном пустом слое создайте изображение самолёта. Преобразуйте изображение самолёта в символ-клип, присвоив ему имя (например, Plane):
			

				Удалите из фильма клип с самолётом. Откройте библиотеку фильма, найдите в библиотеке клип Planeи, щёлкнув правой клавишей на названии клипа, выберите пункт контекстного меню Связи...
			

				В открывшемся окне присвойте связи Название: Plane и установите галки  в полях Экспорт для ActionScript и Экспорт в первый кадр.
			

				 Создайте символ-клип с анимацией разрушающегося самолёта (название клипа PlaneDistr).
			
				 В последнем кадре с обломками установите alpha-прозрачность = 0 и установите действие stop(); (т. е. обломки должны исчезнуть и клип на этом остановится).
				Удалите из фильма клип и в библиотеке фильма установить для него связь (см. пункт 5).
			
Подобным образом создайте символы клипы с изображениями плывущих объектов (в нашем примере изображение корабля и девушки):

а так же клипов с анимацией их разрушения.
				 Присвойте клипам имена (в нашем примере Ship1, Ship1Distr, Ship2, Ship2Distr), удалите клипы из фильма и установите для символов-клипов связи (см. п. п. 5, 6).
			
				 Создайте символ-клип с анимацией выстрела (название клипа Fire):
			
				 В последнем кадре анимационной последовательности установить alpha-прозрачность = 0 и устанвите действие stop(); (т. е. выстрел должен исчезнуть и клип на этом остановится).
				Удалите из фильма клип и в библиотеке фильма установить для него связь.
			
				 Создайте символ-клип с надписью «Игра окончена» (название клипа, например GameOver) и установить для него связь:
			

				 Создайте символ-клип с изображением прицела (название клипа, например Target) и установить для него связь.
			

Создайте новый слой, в нём будет размещаться код ActionScriptпроисходящего на экране:
						//описание переменнх defeat - попадание в цель
						var defeat = false;
						var P1Distr = 0;
						var P1 = 0;
						var s1Distr = 0;
						var s1 = 0;
						var s2Distr = 0;
						var s2 = 0;
						var patron = 30;
					
				
						//установка курсора мыши
						Mouse.hide();
						attachMovie("target", "target", 1000);
					
				
						//функция загрузки клипа в зависимости от значения переменной marker
						function loadObject(mark){
						  switch (mark){
						    case 1:
						      attachMovie("ship1", "ship1", 999);
						      speed = 5;
						      ship1._y = 170;
						      ship1._x = -75;
						      s1 += 1;
						      break;
						    case 2:
						      attachMovie("ship2", "ship2", 998);
						      speed = 3;
						      ship2._y = 225;
						      ship2._x = 635;
						      s2 += 1;
						      break;
						    case 3:
						      attachMovie("Plane", "Plane", 997);
						      speed = 9;
						      Plane._y = 70;
						      Plane._x = -52;
						      pl += 1;
						      break;
						    case 4:
						      attachMovie("GameOver", "GameOver", 1001);
						      GameOver._x = 275;
						      GameOver._y = 160;
						      target.removeMovieClip();
						      ship1.removeMovieClip();
						      ship2.removeMovieClip();
						      plane.removeMovieClip();
						      Mouse.show();
						      break;
						  }
						}
					
				
						//Функция загрузки клипа с разрушающимся объектом
						function loadObjectDis(mark){
						  switch (mark){
						    case 1:
						      xMov = Ship1._x;
						      yMov = Ship1._y;
						      ship1.removeMovieClip();
						      attachMovie("ship1Distr", "ship1Distr", 995);
						      ship1Distr._x = xMov;
						      ship1Distr._y = yMov;
						      s1Distr += 1;
						      patron += 2;
						      break;
						    case 2:
						      xMov = Ship2._x;
						      yMov = Ship2._y;
						      ship2.removeMovieClip();
						      attachMovie("ship2Distr", "ship2Distr", 994);
						      ship2Distr._x = xMov;
						      ship2Distr._y = yMov;
						      s2Distr += 1;
						      break;
						    case 3:
						      xMov = Plane._x;
						      yMov = Plane._y;
						      plane.removeMovieClip();
						      attachMovie("planeDistr", "planeDistr", 993);
						      planeDistr._x = xMov;
						      planeDistr._y = yMov;
						      PlDistr += 1;
						      patron += 3;
						      break;
						  }
						  defeat = false;
						}
					
				
						//поведение мыши
						_root.onMouseMove = function (){
						  if(marker < 4){
						    target._x = _xmouse;
						    target._y = _ymouse;
						    _root.Gun._rotation =
						    (Math.atan((_xmouse-275)/(415-_ymouse))*180)/Math.PI;
						  }
						}
					
				
						//первоначальная загрузка клипа первого клипа
						marker=Math.ceil((Math.random()*3));
						loadObject(marker);
					
				
						//поведение объектов в зависимости от значения defeat = попал/не попал
						_root.onEnterFrame = function() {
						  //не попал
						  if (!defeat){
						    switch (marker){
						      case 1:
						      //корабль
						        if (ship1._x < 625){ship1._x += speed;}
						        else {
						          ship1.removeMovieClip();
						          marker = Math.ceil((Math.random()*3));
						          loadObject(marker);
						        }
 	
						        break;
						      case 2:
						      //Девушка
						        if (ship2._x > -85){ship2._x -= speed;}
 
						        else {
						          ship2.removeMovieClip();
						          marker = Math.ceil((Math.random()*3));
						          loadObject(marker);
						        }
						        break;
						      case 3:
						      //Самолёт
						        if (Plane._x < 602){Plane._x += speed;}
						        else {
						          Plane.removeMovieClip();
						          marker = Math.ceil((Math.random()*3));
						          loadObject(marker);
						        }
						        break;
						      case 4:
						      //игра окончена
						        loadObject(marker);
						        break;
						    }
						  }
						  //не попал
						  else {
						    loadObjectDis(marker);
						    marker = Math.ceil((Math.random()*3));
						    loadObject(marker);	 
						  }
						  //если закончились патроны - выход из игры
						  if (patron < 1) {marker = 4;}
						}
					
				
						//действия при нажатии на левую клавишу мыши
						_root.onMouseDown = function(){
						  if (marker < 4) {
						    attachMovie("fire", "fire", 996);
						    fire._x = gun._x+Math.sin(gun._rotation*(Math.PI/180))*120;
						    fire._y = gun._y-Math.cos(gun._rotation*(Math.PI/180))*120;
						    patron -= 1;
						  }
						  switch(marker){
						    case 1:
						      if (_xmouse > ship1._x-10 && _xmouse < ship1._x+10
 
						         && _ymouse > (ship1._y-10) && _ymouse < ship1._y+10)
						       {defeat = true;}
						      break;
						    case 2:
						      if (_xmouse > ship2._x-10 && _xmouse < ship2._x+10
 
						         && _ymouse > ship2._y-10 && _ymouse < ship2._y+10)
						       {defeat = true;}
						      break;
						    case 3:
						      if (_xmouse > plane._x-10 && _xmouse < plane._x+10
						         && _ymouse > plane._y-10 && _ymouse  <plane._y+10)
						       {defeat = true;}
						      break;
						  }
						}
					
				
				Готовое изображение сохраните в своей папке в формате *.fla
				
			
				Протестируйте фильм, нажав сочетание клавиш <Ctrl>+<Enter>, устраните недочёты..