Это мой первый урок поетому попытаюсь как можно доходчивее и понятние обьяснять все тонкости создания игр в среде Adobe Flash:)Расчитан на новичков. И так как это мой первый урок - сильно не пинать
Первое что мы сотворим - это нашего персонажа который будет бегать, прыгать и подчиняться всем законам физики:)
В среде Adobe Flash наш герой будет представлен как мувие клип который будет воспроизводить определенную анимацию в зависимости от того какая клавиша была нажата
Шаг 1. Подготовка анимации героя.
Создаем новый сивло и обзываем его "Герой".
Наш мувие клип должен содержать в себе анимацию покоя героя(когда герой стоит на месте), анимация походки, и анимация прыжка.
После того как создана вся анимация. Создаеться еще один пустой слой как показано ниже.
Этот слой будет служить нам как ссылка на каждую анимацию.
Для этого создадим метки на которые будет ссылаться наш программный код.
Выбираем первый фрейм и в свойстве properities пишем имя.
Эта метка будет служить для обращения к анимаци покоя главного героя.
Аналогично создаем метку для анимации ходьбы и обзываем ее ”shag” .
Для последней анимации прыжка делаем метки от начала анимации до ее конца с именами от j0 до j3.
После добавления меток в каждом кадре с меткой должен появиться красный флажок — это означает что вы все сделали верно:)
Далее в конце анимации походки создадим еще один пустой кадр и нажав клавишу F9 в окне actions напишем следующую строку
gotoAndPlay(“shag”);
эта команда будет зацикливать анимацию походки т.е она будет воспроизводиться до тех пор пока нажата клавиша управления.
А именно клип будет воспроизводить все кадры и дойдя до кадра с наши кодом будет переходить на метку «shag» таким образом мы получим эфект непрерывной ходьбы персонажа
Теперь создадим еще один символ с именем Aktion.
На этом подготовка персонажа закончена перейдем к написанию програмного кода.
Для этого возврощаемся на главную сцену
и из вкладки библиотека(library)вытаскиваем на сцену созданный ранее мувик «hero» и кликнув уже на вытащенном мувике, задаем ему имя в свойстве Propereties - «colobok”.
.После чего создаем новый пустой слой. В этом слое и будет содержаться наш програмный код.
Теперь с помошью клавиши f9 вызываем окшко aktions
Шаг 2 Написание кода.
Code
i=0;
function dvijenie(){
if (Key.isDown(Key.RIGHT)){moving=true}
else{
moving=false
}
if (Key.isDown(Key.UP)){
jumping =true;
i++;
colobok.gotoAndPlay("j"+i);
}
if (!Key.isDown(Key.UP)){i=0;jumping = false}
if(moving==true){colobok.nextFrame()}
if(moving==false and jumping==false){colobok.gotoAndStop("pokoy")}
}
Теперь постараюсь это все обьяснить:)
Начнем с функции. Фунцция это, если я не ошибаюсь, некий контейнер с именем содержащий набор команд которые она выполняет при обращении к самой функции.(Ну как то так :)) )
Так как в нашей функции будут описаны команды контролирующие перемещение героя, поетому я решил дать имя dvijenie (движение).
Code
function dvijenie(){
}
Чтобы в будущем, когда функций станет значительно больше, между ними было легче ориентироваться.
Теперь рассмотрим набор команд в теле функции:
Code
if (Key.isDown(Key.RIGHT)){moving=true}
else{
moving=false
}
if (Key.isDown(Key.UP)){
jumping =t rue;
i++;
colobok.gotoAndPlay("j"+i);
}
if (!Key.isDown(Key.UP)){i=0;j umping = false}
if(moving==true){colobok.nextFrame()}
if(moving==false and jumping==false){colobok.gotoAndStop("pokoy")}
Говоря человеческим языком здесь написанно следующее
Если (Нажата клавиша(Клавиша.СтрелочкаВправо)) то {в переменную moving заносим значение true (правда)}
Иначе{в переменную moving заносим значение false(лож)}
(С кнопкой Вверх впринципе тоже самое, поэтому пропущу)
//Далее условный оператор проверяет равно ли значение переменной moving - значению True (правда), если да то значит была нажата кнопка Вправо и MoovieClip colobok начинает проигрываться с первого кадра.
Если (moving==true)то {colobok.следующийКадр()}
//Следующая строка проверяет если moving равен false (лож) и jumping равен false, т.е. Не была нажата ни одна из клавишь и наш герой не движеться и не прыгает, то мувие клип colobok переходит на созданную ранее метку «pokoy», в результате чего мы видим кадр из анимации героя где он стоит.
Если(не идет и не прыгает)то{colobok. Перейти и остановиться на кадре c меткой(«pokoy»)}
Осталось самое простая и не менее важная часть. Наша функция не будет работать если ее не вызвать, поетому вытаскиваем из библиотеки на сцену мувик Action, нажимаем F9 и пишем следущие строки.
Code
onClipEvent(enterFrame){
_root.dvijenie();
}
В результате при каждом обновлении экрана будет вызываться функция dvijenie. На этом пока все!Остальное в след. Уроках
А именно: Передвижение героя по сцене, гравитация и столкновение с обьектами!