Просмотров: 45171

Как сделать свои флеш


 

 

 

В этот раз мы усовершенствуем ранее рассмотренную игру и узнаем, как сделать флэш игру более интересной, а все из-за того, что игрок будет играть не сам с собой, а с компьютером. Игрок будет управлять только одной из двух планок с помощью которой будет отбивать мяч, а второй планкой будет управлять "искусственный интеллект", т. е. компьютер. Игрок и компьютер будут стараться не пропустить мяч, надеясь на свои то, что его пропустит соперник, и только от действий игрока и компьютера будет зависеть, вылетит ли мячик за пределы экрана. В игре будет вестись счет и каждый раз, когда противник будет пропускать мяч flash игра будет приостанавливаться и на счет победителя будет зачислен один балл. Создать паузу в игре между подачами мяча довольно сложно, поэтому в игре будет два кадра: в первом программа ждет, когда игрок щелкнет по кнопке (Играть), а во втором разворачивается само действие игры. Когда упущенных мячей одним из игроков будет больше 7, игра будет остановлена, тем самым это будет означать проигрыш соперника и набранные результаты соперников будут сброшены.
Итак давайте приступим к вопросу, как самому сделать игру.

 

1 Во-первых создайте новый документ с нужными параметрами.

 

2 Теперь импортируйте в библиотеку программы изображения фона, мяча и планки.

 

3 Создаем три как сделать свои флеш слоя и называем их ("Фон", "Игра" и "Счет").

 

4 Находясь на слое "Фон" перетаскиваем из библиотеки на сцену программы изображение фона и выставляем его по центру.

 

5 Создаем простые кадры на 4 кадре всех слоев.

 

 

6 Переходим на слой "Игра", выбираем первый кадр и находясь на нем рисуем кнопку для старта игры, затем выбираем первый кадр слоя "Игра", чтобы выделить всю кнопку и преобразуем ее в "Кнопку", называя ее "Play Button".

 

 

 

7 Пока кнопка все еще выбрана, нажимаем кнопку "F9", чтобы открыть окно "Действие" и вводим туда следующий код, этот код будет отвечать за переход к игре при клике по кнопке:

 

on (press) { gotoAndPlay("start level"); }

 

8 Затем выбираем первый кадр слоя "Игра", открываем окно "Действие" и вводим туда следующий код, в нем мы укажем, что когда у одного из игроков будет набранно больше 7 баллов, игра будет закончена и набранные результаты соперников будут сброшены:

 

// Количество игр без сброса результатов numBalls = 7; // Количество очков у компьютера computerScore = 0; // Количество очков у игрока playerScore = 0; stop();

 

9 И в завершении с этим ключевым кадром в панели "Свойства" маркируем этот ключевой кадр и даем ему имя "start game".

 

 

10 Затем на томже слое "Игра" создаем 3 ключевых кадра подряд. Выбираем второй кадр и инструментом "Текст (Т)" пишем выше кнопки текст "Чтобы начать Игру нажмите на кнопку!".

 

 

11 Далее снова выбираем второй ключевой кадр слоя "Игра" и открываем окно "Действие", где прописываем следующий код, чтобы остановить сценарий.

 

stop();

 

затем также в панели "Свойства" маркируем этот ключевой кадр и называем его "start level".

 

 

12 Далее переходим на 3 ключевой кадр слоя "Игра" и находясь на нем удаляем кнопку со сцены, чтобы ее не было в процессе игры, перетаскиваем из библиотеки на сцену изображение мяча и планки.

 

 

13 Затем преобразовываем изображение мяча в "Фрагмент ролика" под названием "Ball" и также преобразуем изображение планки в "Фрагмент ролика" под названием "Paddle". Когда мы преобразуем планку в ролик копируем ее и вставим ("Ctrl+C", "Ctrl+Shift+V") и поместим их, как показано на картинке.

 

 

14 Теперь присвоим каждому ролику (Двум планкам и мячу) в панели "Свойства" уникальные имена: левой планке зададим имя "Paddle", эта планка будет принадлежать игроку; правой планке имя "computerPaddle", она принадлежит компьютеру и зададим уникальное имя мячу "Ball".

 

15 Далее выбираем инструмент "Текст (Т)" и рядом со сценой пишем им слово "Actions" и преобразуем его в "Фрагмент ролика", называя его "Actions", после этого пока данный ролик еще выбран нажимаем кнопку "F9", чтобы открыть окно "Действие" и вводим туда следующий код:

 

onClipEvent(load) { _root.startLevel(); } onClipEvent(enterFrame) { _root.moveBall(); _root.movePaddle(); _root.moveComputerPaddle(); }

 

 

16 Теперь мы зададим основные настройки для нашей игры, ведь именно этот кадр будет отвечать за главное действие, для этого выбираем этот 3 ключевой кадр слоя "Игра", маркируем его в панели "Свойства", как "play", затем снова кликаем по этому кадру, чтобы выбрать его, открываем окно "Действие" и вводим туда следующий код:

 

function startLevel() { // Определяем начальное положение мяча x = ball._x; y = ball._y; // Указываем начальную скорость и одно из четырех // произвольных направлений по диагонали dx = 5; dy = 5; if (Math.random() <.5) dx = -1; if (Math.random() <.5) dy = -1; // Прячем курсор Mouse.hide(); // Устанавливаем значения констант rightWall = 550; leftWall = 0 topWall = 50; bottomWall = 350; ballRadius = ball._width/2; passedPaddle = false; } function moveBall() { // Изменяем координаты х и у. x += dx; y += dy; // Проверяем, попал ли мяч в нижнюю стену if (y+ballRadius > bottomWall) { overshoot = (y+ballRadius) - bottomWall; y -= overShoot2; dy = -1; } // Проверяем, попал ли мяч в верхнюю стену if (y-ballRadius < topWall) { overshoot = topWall - (y-ballRadius); y += overShoot2; dy = -1; } // Находится ли мяч там, где по нему должна ударить планка? paddleRight = paddle._x+(paddle._width/2); if ((x-ballRadius < paddleRight) and!passedPaddle) { // Находится ли там планка? paddleTop = paddle._y-(paddle._height/2); paddleBottom = paddle._y+(paddle._height/2); if ((y > paddleTop) and (y < paddleBottom)) { // Удар планкой overshoot = paddleRight - (x-ballRadius); x += overShoot2; dx = -1; // Увеличиваем скорость мяча dx = 1.05; dy = 1.05; } else { // Мяч пропущен, больше ничего не проверяем passedPaddle = true; } } // Находится ли мяч там, // где должен столкнуться с битой компьютера? paddleLeft = computerPaddle._x-(computerPaddle._width/2); if ((x+ballRadius > paddleLeft) and!passedPaddle) { // Находится ли там планка? paddleTop = computerPaddle._y-(computerPaddle._height/2); paddleBottom = computerPaddle._y+(computerPaddle._height/2); if ((y > paddleTop) and (y < paddleBottom)) { // Удар планкой overshoot = (x+ballRadius) - paddleLeft; x -= overShoot2; dx = -1; // Увеличиваем скорость мяча dx = 1.05; dy = 1.05; } else { // Мяч пропущен, ничего больше не проверяем. passedPaddle = true; } } // Проверяем, попал ли мяч в левую стену if ((x-ballRadius < leftWall) and passedPaddle) { Mouse.show(); computerScore++; if (numBalls == 0) { gotoAndPlay("game over"); } else { numBalls--; gotoAndPlay("start level"); } } // Выполняем аналогичную проверку для правой стены if ((x+ballRadius > rightWall) and passedPaddle) { Mouse.show(); playerScore++; if (numBalls == 0) { gotoAndPlay("game over"); } else { numBalls--; gotoAndPlay("start level"); } } // Устанавливаем новое положение мяча ball._x = x; ball._y = y; } function movePaddle() { // align paddle with cursor paddle._y = _ymouse; } function moveComputerPaddle() { // Устанавливаем скорость биты, управляемой компьютером moveAmount = 8; // Выясняем, движется ли мяч в этом направлении if (dx > 0) { // Перемещаем планку вверх if (y < computerPaddle._y-moveAmount) { computerPaddle._y -= moveAmount; // Перемещаем планку вниз } else if (y > computerPaddle._y+moveAmount) { computerPaddle._y += moveAmount; } } } // Не позволяет досрочно перейти к кадру окончания игры stop();

 

17 Теперь переходим на 4 ключевой кадр слоя "Игра", выбираем инструмент "Текст (Т)" и пишем им фразу "GAME OVER " сверху от кнопки.

 

 

18 Затем вновь выбираем 4 ключевой кадр, нажимаем кнопку "F9", чтобы открыть окно "Действие" и вводим туда следующий код, чтобы остановить текущий кадр:

 

stop();

 

и пока ключевой кадр все еще выбран маркируем его в панели "Свойства", называя его "game over".

 

 

19 Ну и последнее, что нам надо сделать, это создать динамические окна с текстом, где будут отображаться результаты игры, для этого переходим на "Счет", создаем ключевой кадр на втором кадре, находясь на нем выбираем вспомогательный инструмент "Линейка" и рисуем горизонтальную линию на 50 пикселей ниже от верха сцены (в этой отгороженной области будут находиться результаты игры). Так, как в коде мы указали, что мячик будет отскакивать от верхней границы сцены на уровне 50 пикселей от верха ( topWall = 50; ), то и линию мы проведем на этомже месте, как будто мяч будет отскакивать именно от нее.

 

 

20 Находясь все еще на томже ключевом кадре выбираем инструмент "Текст (Т)" и пишем им обозначения игроков, в левом верхнем углу пишем "Игрок", а в правом верхнем углу "Компьютер".

 

 

21 Затем все темже инструментом "Текст (Т)" кликаем чуть правее от текста "Игрок", в результате образуется текстовая прямоугольная область, пишем там цифру ноль и пока область выбрана в панели "Параметры" прописываем название переменной "playerScore".

 

 

теперь проделываем предидущие шаги, но уже чуть левее от текста "Компьютер" в панели "Параметры" для этой области присваиваем название переменной "computerScore".

 

 

и обязательно задайте текстовым полям (где будет вестись подсчет очков) опцию числового отображения, для этого выбираем текстовое поле, идем в панель "Символ", нажимаем кнопку "Внедрить" и в появившемся окне выбираем "Цифры [0..9] (11/11 глифы)".

 

 

 

В завершении нам надо опубликовать данную фдэш игру с нужной версией flash плеера, в данной версии игра будет работать только при версии плеера не больше шестой.

 

 

На этом мы завершим рассмотрение урока, как сделать флэш игру. Присутствие искусственного интеллекта намного повышает интерес к происходящему, пусть этот интеллект и не гений.

 

скачать исходник

 

 

Идея данной flash игры была взята из издания "Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript" автор Гэри Розенцвейг.

 

Похожие уроки:

 

Как сделать простейшую игру

 

 


Источник: http://FlashYroki.ru/kak_sdelat_flash_igry.html



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Как сделать флеш игру Как из книг сделать подставку для

Как сделать свои флеш Как сделать свои флеш Как сделать свои флеш Как сделать свои флеш Как сделать свои флеш Как сделать свои флеш Как сделать свои флеш Как сделать свои флеш