Skep 'n Space Game Shooter in Flash met behulp van AS3
Carlos Yanez May 19, 2011
Read Time: 11 mins Afrikaans Deutsch English Español Bahasa Indonesia Melayu
Volg die reguit- vorentoe stappe van hierdie Premium Tutorial om 'n vermaaklike shoot-up met Flash en AS3 te skep.
Stap 1: Kort Oorsig
Met behulp van voorafgemaakte sprites en die Flash Tools, sal ons 'n mooi grafiese koppelvlak skep wat deur verskeie ActionScript 3 klasse aangedryf sal word.
Die gebruiker sal in staat wees om 'n ruimteskip te beheer en verskeie vyande te skiet terwyl hy in die ruimte reis.
Stap 2: Flash Dokument Instellings
Maak Flash oop en skep 'n 320 pixels wye, 480 pixels lang dokument. Stel die raampunt op 24fps.
Stap 3: Interface
Ons koppelvlak sal bestaan ​​uit verskeie sprites, teksvelde en fliekklemme.
Gaan voort na die volgende stappe en ons sal kyk hoe om dit te skep.
Stap 4: Agtergrond
Die agtergrond sal baie eenvoudig wees, aangesien die sterre gegenereer word met behulp van ActionScript.
Skep 'n 320x480 pk reghoek en vul dit met swart. Jou kan 'n effense radiale gradiënt byvoeg.
Gebruik die Rigspaneel (Cmd K) om dit in die verhoog te sentreer.
Stap 5: Sprites
Ek het 'n wonderlike biblioteek in die demo van hierdie handleiding gebruik, dit is deel van die SpriteLib deur Flying Yogi.
Stap 6: Sprite MovieClips
Voer die sprites in op die verhoog (Cmd+ R), sit dit in MovieClips, en pas die rame aan om 'n lekker animasie te vertoon.
'N Dinamiese teksveld sal nodig wees om die spel telling te vertoon. Gebruik die teksinstrument (T) om een ​​te skep; noem dit scoreTF en plaas dit in die onderste linkerhoek van die verhoog.
Stap 8:Voeg Lettertipe in
Om 'n persoonlike font in 'n dinamiese teksveld te gebruik, moet jou dit in jou aansoek insluit. Kies die teksveld en gebruik Eiendom paneel se Embed ... knoppie om die nodige karakters by te voeg.
Step 9: Alert View
Die Alert View sal gewys word wanneer die gebruiker 'n spelstaat bereik (wen, verloor). Gebruik die gewenste skrif om 'n eenvoudige skerm te skep met twee dinamiese teksvelde; noem hulle titleTF en msgTF, verander die kassie na 'n MovieClip en stel sy klas naam in op AlertView.
Stap 10: Klink
Ons gebruik Klankeffekte om die gevoel van die spel te verbeter. Jou kan die geluide wat in hierdie voorbeeld gebruik word in Soungle.com gebruik met die sleutelwoorde ruimte, ontploffing en laser.
Stap 11: Tween Nano
Ons sal 'n ander tween enjin gebruik van die standaard wat in Flash ingesluit word. Dit sal verhoogde prestasie verhoog en makliker wees om te gebruik.
Jou kan Tween Nano aflaai van sy amptelike webwerf.
Stap 12: Nuwe ActionScript Klas
Skep 'n nuwe (Cmd + N) ActionScript 3.0 klas en stoor dit as Main.as in jou klasmap.
Stap 13: Klas Struktuur
Skep jou basiese klasstruktuur om jou kode te begin skryf.
Stap 14: Vereiste Klasse
Dit is die klasse wat ons moet invoer vir ons klas om te werk; Die invoer richtlijn maak ekstern gedefinieerde klasse en pakkette beskikbaar vir jou kode.
Stap 15: Veranderlikes
Dit is die veranderlikes wat ons sal gebruik, lees die kommentaar in die kode om meer van hulle te weet.
Stap 16: Konstruksie Kode
Die konstruktor is 'n funksie wat loop wanneer 'n voorwerp uit 'n klas geskep word. Hierdie kode is die eerste wat uitgevoer moet word wanneer jou 'n voorwerp of 'n voorwerp maak met die Dokument Klas.
Dit noem die nodige funksies om die spel te begin. Gaan die funksies na in die volgende stappe.
Stap 17: Bou Sterre
Die buildStars() metode gebruik die Star MC in die biblioteek om 'n agtergrond met willekeurig geplaasde sterre te skep. Twee sprites word geskep om beide van hulle te verdeel en beweging te simuleer, met dieselfde truuk as in this parallax scrolling tutorial.
Stap 18: Voeg Skeep
Hierdie funksie skep 'n voorbeeld van die Ship MC in die biblioteek en plaas dit op die verhoog met 'n netjiese animasie.
Stap 19: Voeg Lewe by
Deur die Ship MC te hergebruik, word drie skeepsvliegtuie as 'n lewensaanwyser by die verhoog gevoeg. Die skepe word by 'n Vector gevoeg om later na die spel te kyk.
Stap 20: Voeg Luisteraars by
Hierdie lyne sal die nodige luisteraars by die verhoog en timer voeg; dit sluit in Muis gebeurtenisse, Timer gebeure en en EnterFrame gebeure wat die spel sal elke raamwerk opdateer.
Stap 21: Skuif Skip
Die speler se skip sal muis beheer word, die volgende funksie hanteer die volgende:
Stap 22: Skiet
Ons skip sal kolletjies kan skiet om hulleself te vernietig en te beskerm teen vyande. Hierdie funksie sal elke keer as die gebruiker die verhoog kliek en 'n koeël voor die skip plaas wat later deur die update() funksie verskuif sal word. Dit speel ook 'n skietklank.
Stap 23: Voeg Vyand toe
Dit sou nie 'n shooter wees sonder om iets te skiet nie. Die vyande word geskep deur die volgende funksie, 'n Timer word gebruik om elke 500 millisekondes 'n vyand te maak (jou kan die waarde verander in die veranderlikes stap) wat later deur die update() funksie beweeg word.
Stap 24: Alert View
Die Alert View wys die speler se inligting oor die status van die spel, dit word gewys wanneer 'n speletjie gebeurtenis bereik word.
Twee parameters word in hierdie funksie gebruik:
t: Die waarskuwingstitel
m: 'N kort boodskap
Stap 25: Update
Die update() funksie word uitgevoer in elke raam, dit hanteer al die spelbewegings en botsings. Dit is die game loop funksie vir hierdie speletjie. Kyk na die volgende stappe om sy gedrag te sien.
Stap 26: Skuif Agtergrond
Die agtergrond word elke raam beweeg om ruimtevaart te simuleer; wanneer die onderste sterre sprite die verhooglimiet bereik, word dit na die bokant teruggetrek en 'n lus geskep.
Stap 27: Beweeg Bullets
Die volgende reëls kode kyk of daar koeëls in die verhoog is; indien waar, word die koeëls opwaarts verskuif; Wanneer 'n koeël nie meer sigbaar is nie, word dit vernietig.
Stap 28: Boss
Ons sal 'n groot en slegte baas by die spel voeg. Wanneer die gebruiker sekere punte bereik, sal die baas verskyn:
Stap 29: Skuif Vyande
Die vyande word ook elke raam verskuif. Hierdie kode vind al die vyande in die verhoog met behulp van die skikking en beweeg hulle 5px afwaarts.
Stap 30: Vyand- Skip Botsing
Hier kyk ons ​​of 'n vyand bots met die speler se skip; As dit wel gebeur, word 'n reeks aksies uitgevoer wat begin met die ontploffingsklank:
Stap 31: Vernietig Vyand
Nadat die geluid gespeel is, word die vyand van die verhoog en die skikking verwyder, en is ingestel op nul om dit (uiteindelik) uit die geheue te verwyder.
Stap 32: Verwyder Live
Een van die lewensentoon se ikone sal ook op dieselfde manier verwyder word as die vyand.
Stap 33: Toets vir Spel Oor
Dan kyk ons ​​na die lewensnommer, as die speler uit lewens is, gebruik ons ​​die waarskuwingsmetode om 'n waarskuwing aan te dui wat die spel aandui. As daar nog lewens beskikbaar is, word die skip in die verhoog geanimeer.
Stap 34: Hit Boss
Die volgende kode hanteer die baas botsings, dit gebruik dieselfde metode wat gebruik word in die vyand skip botsing. Hier gebruik ons bossHealth veranderlik om te bepaal wanneer die baas verslaan word.
Stap 35: Bullet-Enemy Collision
Nog 'n botsing opsporing kode. Die koeëls in die skikking word getoets vir botsing met die vyande; Wanneer dit gebeur, word albei van die verhoog en hul skikkings verwyder.
Stap 36: Herbegin Funksie
Die herstart funksie() word deur die waarskuwing() funksie genoem, dit hanteer die nodige operasies om die spel te herstel en weer te begin.
Stap 37: Verwyder Sprites
Die eerste deel van die herbegin() funksie hanteer die sprites. Die volgende reëls van kode verwyder al die beelde uit die verhoog.
Stap 38: Verwyder Alert
Die volgende deel van herbegin() verwyder die Alert View vanaf die verhoog:
Stap 39: Herstel telling/Boss Health
In die volgende deel van herbegin() word die telling en baasgesondheidsveranderlikes herstel:
Stap 40: Oproep Herbegin Metode
Ten slotte, aan die einde van herbegin(), noem ons die metode wat alles begin:
Stap 41: Dokument Klas
Voeg die klas naam by die Klas veld in die afdeling Publiseer in die Eienskappe paneel om die FLA te assosieer met die Hoof dokument klas.
Jou het geleer hoe om 'n Space Shooter-spel met al sy basiese kenmerke te skep, probeer om dit uit te brei met behulp van wat jou reeds weet!