игри. с Adobe Flash. Практикувайте

Отделно, заслужава да се отбележи, че Adobe Flash, като среда за начинаещи програмисти, е подобна на BASIC за децата от моето поколение. Всичко е просто, удобно, бързо за изпълнение, а в случая и много цветно. На флаш можете да научите не само всички основни принципи на съвременното програмиране, но и да получите пълни познания за работата на съвременните пакети за анимация, симулационни програми и т.н. Ето защо много представители на днешната младеж силно препоръчват да започнат пътуването си със светкавица.

Така че да започваме. Изтеглете Flash, запретнете ръкави и да тръгваме! Мисля, че този пример ще ви хареса. Нека първо да направим дизайна. Помислете за игра и я наречете, например.

Жанр: състезания, стрелба

Описание: Извънземни откраднаха бронирана кола с пари изпод носа на гангстери. Той трябва да навакса, което всъщност не е толкова лесно.

Цел: Унищожете бронирана кола на определено разстояние.

Графика: "Лесна" емулация от 3D към 2D.

Изглед от трето лице, камера по средата на пътя зад колата на гангстерите.

Платформи: компютър, мобилни телефони.

Езици: български, английски, немски, испански, френски.

В този случай, за простота и краткост, няма да направим главното меню, а ще предоставим само прозореца на играта. Неговият сценарий, също поради своята скорост и удобство, може да бъде нарисуван във Flash с инструмента Brush Tool.

И така, имаме фон, път, маркировъчни ивици върху него, светлини по ръбовете, гангстерска кола, извънземна бронирана кола, индикатор за изминатото разстояние, индикатор за точки.

adobe

Планиране на напредъка

Първо трябва да вземете решение за емулация на движение. Факт е, че пътят като такъв ще бъде статичен.Ефектът на усещане за скорост ще бъде постигнат чрез движение и мащабно увеличаване на маркировката и светлините. Това ще бъде първата стъпка.

След това трябва да създадем гангстерска кола, да покажем лек ефект на разклащане върху нея (нека добавим реализъм), да осигурим контрол с помощта на стрелките наляво и надясно на клавиатурата. Това е вторият етап.

Освен това рисуваме бронирана кола на извънземни. Добавяме трептене към него, създаваме функция за плавна промяна на посоката надясно или наляво в произволен режим. Това е третият етап.

След това изпълняваме функцията за стрелба при натискане на клавиша "интервал". Показваме това с анимация и звук, като свързваме координатите на колата и бронираната кола, за да определим дали е улучила целта. Създаваме система за точкуване. Това е четвъртият етап.

За допълнителните етапи ще говорим отделно и по-късно.

Отворете File и New. изберете Flash File (Action Script 2.0). Предполага се, че много от вас вече са запознати с основните елементи на интерфейса на Flash - като лентата с инструменти, прозорецът Timeline, многофункционални прозорци с раздели отдолу и вдясно от работната област.

Избрахме Action Script 2.0 заради неговата простота и склонност към бързо програмиране.

Да предположим, че в рамките на самата игра всички действия ще се извършват през нощта. Защо? Имаме нужда от цвят. И едно пътуване през нощта ще изглежда доста впечатляващо - когато можем да направим светлината от фаровете и фенерите поради полупрозрачни елементи с градиентно запълване.

Първоначално поставяме основните статични елементи. С помощта на линиите (Line Tool) начертайте равнобедрен трапец (път), оцветете го в тъмно синьо. В средата на този трапец, по същия начин, нарисувайте разделителна ивица (тесен равнобедрен трапец), боядисвайки го в бяло, той също ще бъдебъде статичен.

игри

Следващата стъпка е да създадете движеща се лента от едната страна, например разделяща лявата половина на пътя. Какво трябва да направя? Може би ще опишем най-простия вариант. Както в предишния случай, рисуваме геометрична фигура с линии, в този случай четириъгълник, като вземем предвид, че тя ще се движи от лявата страна на камерата, тоест ще осигурим определени ъгли на наклон за нейните страни. Оцветете го в бяло, изберете го и натиснете F8. Можете да видите от главното меню, че това води до извикване на операцията Преобразуване в символ. което всъщност означава присвояване на свойствата на един от трите типични обекта към избрания фрагмент - Movie Clip, Button или Graphic. Филмовият клип е, с прости думи, основен и многофункционален Flash обект; Бутон - всички функции на бутоните са присвоени на самия обект, като има възможност за създаване на опции за реакция на ключови събития, свързани с действието на курсора на мишката върху машината; Графика - избраният фрагмент се преобразува в обикновен графичен елемент без специални допълнителни функции и свойства.

В нашия случай избираме MovieClip. В полето Име на прозореца Преобразуване в символ. напишете "road_line_left" или каквото искате. Това име в нашия случай най-често ще се използва за бързо достигане до графичното съдържание на обекта от библиотеката на проекта, така че тук също можете да действате като страхотни C-програмисти на сложни програми :).

И друго име, което ще се използва от нас в кода на ActionScript, се въвежда в прозореца Properties в полето Instance Name. Да кажем "rl_left". В същия прозорец със свойства можете да експериментирате с обекта, като промените неговата прозрачност, цветова схема по отношение на фонацвят на пътя и така нататък. Позиционирайте лентата в най-отдалечената позиция по нашата виртуална писта, като спазвате пропорциите и позицията.

След това натиснете F9 (това е извикване на прозореца Действия, в който ще въведем кода) и с показалеца на мишката в прозореца Времева линия щракнете върху първия кадър (кадър) на нашия слой Слой 1. Това създава перспективата на следващото действие: в прозореца Действия въвеждаме кода за първия кадър на първия слой. Какво ще сложим първо? Нека го направим просто - прехвърлете първоначалните данни за началните координати и размери на обекта "rt_left" в кода. Това е от полза, особено в случаите, когато случайно сте разместили нещо и т.н.

И така, въвеждаме нещо като:

Забележете, че след въвеждане на тези редове, икона ? се появи в прозореца на времевата линия в първия кадър на Layer1. Това означава, че тук вече има код.

Сега да преминем към анимацията. Ще го направим по чисто програмен начин и без да излизаме от първия кадър.

Както разбирате, всяка анимация е свързана с промени в нещо във времето. Flash има няколко опции за настройка на времето. Най-рядко използваното и също неефективно е използването на цикли. Веднага отхвърляме тази идея. Можете също така да направите таймер на базата на функцията setInterval(), която извиква определена функция или методи след определен интервал от време.

Но тъй като ние не само начертахме всичко, но и програмирахме в рамките на един кадър, той ще се върти отново и отново с честота на кадрите в секунда (fps), която може да бъде променена в настройките на проекта. И това е страхотен "естествен" таймер. Между другото, точно такива специфични моменти и методи отличават флаш програмирането от всяко друго. Затова използваме събитието onEnterFrame.

Под вечес въведения код ще напишем (самите коефициенти на промяна трябва да бъдат зададени):

Нека обясним. Функцията rt_left.onEnterFrame описва промяната на състоянието всеки път, когато този кадър (в този случай първият) се актуализира. Тоест при всяко преброяване изместваме нашата лента с 20 точки по ординатата, с 4 точки по абсцисата и увеличаваме дължината и ширината на обекта. В случай, че излиза извън видимата зона (в съответствие с условието if (rt_left._y > 500), ние предвидихме позиция, близка до екстремума), ние връщаме нашата пътна лента в първоначалното й положение и след това всички действия се повтарят отново. Получава се цикличен режим.

Продължение на първия етап

Тъй като мястото във вестника е ограничено и последващите операции за първия етап всъщност са същите като вече описаните, можете да направите движеща се лента за дясната страна по подобен начин, както и лампи по краищата на пътя.

практикувайте

При изчертаването на последното е необходимо да се предвиди емулация на пътно осветление, тъй като става дума за фенери, за които при създаването им осигурете полупрозрачни графични елементи (използвайки алфа канали), запълнени с градиентно запълване с нюанси на жълто. За да получите достъп до прозрачност, тези междинни елементи трябва да бъдат преобразувани в графични символи (F8). Струва си да се отбележи, че ако имате компютри с ниска мощност, тогава не е необходимо особено да експериментирате с градиента, тъй като неговото присъствие силно натоварва компютъра.