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

В тази част ще направите мерника и ще го накарате да "стреля". В началото на всяка стъпка следете да сте във времевата линия на сцената, за да не нарисувате и направите нещо в някой клип погрешка :). В края на урок има .фла файла който трябва да получите.
1 . Отоворете нов флаш документ (по подразбиране е с размер 550х400). Първо ще започнем със създаването на графичните обекти. Вземете четката (панела с инструментите се намира в ляво) и нарисувайте едно малко черно петно, което да представлява точката в средата на мерника. Маркирайте го, натиснете десен бутон отгоре и изберете Convert to Symbol ->Moovie Clip. Сложете му от инстанс име cursor_mc . Трябва да сте получили нещо такова :

2. Сега е време да създадем един по атрактивен мерник. Всеки може да го нарисува както си иска. Аз направих нещо подобно :

3. Сега маркирайте новонарисуваното нещо и както преди го превърнете в Мууви клип. Вече на сцената имате 2 мууви клипа. Те съдържат по един графичен обект. Сега е време да ги слеете в едно (което е доста проста процедура :) ). Сложете клипа с "точката"(с име cursor_mc) в центъра на клипа с "мерника". Маркирайте и двете, натиснете десен бутон и ги превърнете отново в клип, найменувайте го cursor2_mc . Трябва да получите нещо такова :

4. Време е да анимирате мерника. За целта трябва да влезете в клипа съдържащ другите два(става като цъкнете два пъти върху въпросният клип), да ги разделите на лейъри и да анимирате клипа "мерник", да спрете клипа от вървене със stop(); и да добавите ефект, който ще се появява при натискането Veryhappy Звучи сложно, затова ето видео, какво точно се очаква от вас до тук (обобщено) : Видео
5. Ще създадем ефекта на "дупчене" на екран при стрелба. Първо нарисувайте вашата представа за "дупка" в екрана. Маркирайте нарисуваното и го превърнете в клип. След това го маркирайте отново и отново го превърнете в мууви клип. Наименувайте - shot_mc . Трябва да получите нещо като това :

6. Време е да анимирате "изчезването" на дупката от куршум. Влезте в клипа shot_mc. Анимиранетостава лесно - създавате ключови фреймове за началото и края на анимацията и избирате Motion Tween Mad Ето как изглежда процедурата : Видео
7. Изтеглете този звук. Натиснете File - Import - Import To lybrary и го добавете. Натиснете Ctrl+L, намерете звука, който добавихте току що. Натиснете десен бутон отгоре -> Properties. Най доло има поле Linkage, сложете отметка на Export for ActionScript, а в indetifer напишете shot.
8. Създайте нов лейър. Добавете на фрейма следния скрипт :

stop();
Mouse.hide();
shot_mc._visible = false;
var shot_sound:Sound = new Sound();
shot_sound.setVolume(20);
shot_sound.attachSound("shot");
cursor2_mc.onEnterFrame = function() {
cursor2_mc._x += cursor2_mc._xmouse/2;
cursor2_mc._y += cursor2_mc._ymouse/2;
};
this.onMouseDown = function() {
shot_mc._visible = true;
shot_sound.start();
cursor2_mc.gotoAndPlay(2);
shot_mc._x = _xmouse;
shot_mc._y = _ymouse;
shot_mc.gotoAndPlay(2);
};

Ето обяснение на кода :
stop();- спира главната сцена
Mouse.hide(); - скрива курсора на мишката
shot_mc._visible = false; - прави клипчето с име shot_mc невидимо при зареждане на .swf файла. Така като пуснем нашата флашка, няма да има дупка на игра.
var shot_sound:Sound = new Sound (); - създаваме променилва от тип "Sound". Тя може да зареди и манипулира звуков файл.
shot_sound.attachSound("shot") - зареждаме в променливата звука с име "shot". Това е звука, който найменувахме така в стъпка 7.
shot_sound.setVolume(20); - тъй като този звук е доста силен можем да го намалим. С този ред му задаваме да е с 20% от силата си.
cursor2_mc.onEnterFrame = fucntion () { ... } - тук прикачаме към клипа cursor2_mc код, който ще се изпълнява всеки път, когато върпосният клип влиза във фрейм. Това в нашият случай става по 16 пъти в секунда. Удобно е (поне на мен) да слагам различни кодове, който трябва да се изпълняват със "влизане" във фрейм (или времезависими) тук, защото това клипче ще съществува навсякъде из флашката.
cursor2_mc._x += cursor2_mc._xmouse/2;
cursor2_mc._y += cursor2_mc._ymouse/2;
- задаваме координатите _x и _y на клипа cursor2_mc да са равни на координатите _x и _y на клипа cursor2_mc плюс разстоянието им до кооринатите на мишката делено на 2. Така мерника се мести с курсора, но с известно закъснение. Това е вид ефект.
_root.onMouseDown = fucntion () { ... } - кода в тази функция ще се изпълнява всеки път когато се натисне мишката
shot_mc._visible = true; - правим "дупката" от куршум видима.
shot_sound.start(); - пускаме звука. Той ще "свири" един път
cursor2_mc.gotoAndPlay(2); - пращаме клипа cursor2_mc на фрейм 2. Това е ефекта със "свиването" на мерника. Той ще се изпълни един път и когато достигне края ще се върне в началото (фрейм 1), където има код stop();. Така ще е готов за следващо натискане.
shot_mc._x = _xmouse;
shot_mc._y = _ymouse;
- задаваме "дупката" от куршум да има координати равни на координатите на мишката.
shot_mc.gotoAndPlay(2); - пращаме клипа на "дупката" на фрейм 2. Там е ефекта на "изчезването".
Ето фла файла.
Ако има проблеми с нещо казвайте .. много време ми отне и не изключвам някъде да има грешка.
Демо
Всичко изглежда сложно. Натам нещата ще стават все по-лесни и по-лесни :).
Урока участва в играта на http://inbg.eu
Наздраве.








/ Трябва да сте регистриран за да напишете коментар /