Направете своята безплатна регистрация и се възползвайте от пълните възможности, които предлага iTSchool

Преглед на урок

"Space invaders" Част 1 - Flash игра

"Space invaders" Част 1 - Flash игра




Днес ще започнем поредица от няколко урока, за Flash-игра. Първоначалната версия на играта сигурно е стара, колкото самата компютърна техника. Помня, че я играх, още на 16-битовите "Правец" преди доста време. А сега ще ви науча, как да си направите подобна игра. Казва се "Space Invaders" (Ако някой има по-добра идея за име, да го каже :))

"Движение на обект, който извършва стрелба по враговете"

И така, да започваме.

1. Отворете Нов Документ. Сменете Document Properties (Десен бутон върху прозореца!) на: Черен фон, Frame rate:20.

2. Нарисувайте кораба. Предварително искам да се извиня за вида на моя, но обещавам да се постарая повече при продължението на урока :)

3. Превърнете го в символ:



4. Настройте Properties отдолу, както е показано:



5. Създайте нов Layer. Озаглавете го "laser". Кликнете на неговия Frame 1 в Timeline и непосредствено срещу пушката на космическия кораб (Това е много важно!), нарисувайте един "лазерен патрон". Обърнете внимание на втората снимка! В Name Задължително! трябва да сте написали "laserFire"!!!





6. Отдолу Properties на този "патрон", нагласете ТОЧНО, както е показано. Ако не го направите, Скриптът, който ще поставим после няма да работи!



7. Така. Сега започваме кодовете!

8. Кликнете веднъж върху нашия космически кораб. Натиснете F9 (Action-менюто). Копирайте следния код там:

[color=blue]
onClipEvent(load){

moveSpeed=10;
_root.laser._visible=false;
laserCounter=1;

}




onClipEvent (enterFrame) {

if (Key.isDown(Key.CONTROL)) {

laserCounter++;
_root.laser.duplicateMovieClip( "laser"+laserCounter, laserCounter );
_root["laser"+laserCounter]._visible=true;
}

if (Key.isDown(Key.RIGHT)) {
this._x+=moveSpeed;
} else if (Key.isDown(Key.LEFT)) {
this._x-=moveSpeed;
}

if (Key.isDown(Key.DOWN)) {
this._y+=moveSpeed;
} else if (Key.isDown(Key.UP)) {
this._y-=moveSpeed;
}

}


9. Сега кликнете веднъж на "лазерния патрон". Натиснете F9, което ще изведе Action-менюто. Копирайте това там:


[color=blue]
onClipEvent (load) {

laserMoveSpeed=20;
this._x=_root.spaceship._x+90;
this._y=_root.spaceship._y;

}

onClipEvent (enterFrame) {

this._x+=laserMoveSpeed;
if (this._x>600){
this.removeMovieClip();
}

}


10. За да бъде всичко точно, трябва да виждате ето това:



11. Това е първият урок, който побликувам засега! Ако сте работили вярно, трябва да сте получили ето това:

[html]
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="450" title="studio-bg.com">
<param name="movie" value="http://itschool.bg/application/uploads/tutorials/img/f/igra1/igra1.swf" />
<param name="quality" value="high" />
<embed src="http://itschool.bg/application/uploads/tutorials/img/f/igra1/igra1.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="450"></embed>
</object>[/html]

Управлява се със стрелките на клавиатурата. За стрелба използвайте Ctrl. Забавлявайте се!

Следва продължение...

Внимание! Сюжетът е взаимстван от много подобни игри, както сами се досещате! Action-скриптовете са написани с помощта на книгата "ActionScript за начинаещи" Книга 1 и 2, изд. "Софт Пресс", 2004г.



Ако урокът ви допада, споделете го в Twitter и Facebook или го запазете в Delicious.




Урокът е добавен от: bubsss

Коментари

niki72007

Във Този Урок Като Го Свърша И Натисна Ctrl+Enter Ми Излиза Патроните Летят И Не Изтрелва Нищо..!Само Го Пускам И Патроните Излитат..!Някой Ако Може Да Ми Даде Видео..!

John Front

Не бачка...след ctrl+enter , корабът изтрелва един лазер (сам!) и после може само да се управлява!

graf_kaberne

Айде едно видео;)

Текст на линка...

viki_di

на мен ми дава грешка накрая като искам да пиша кода .. и се налага да селектирам 1я фрейм което виждам че вие не го правите .. как да оправя проблема ?

Добави коментар

Трябва да сте регистиран потребител за може да оставяте коментари! Направете своята безплатна регистрация още сега.