Flash on populaarne brauseri videomängude vorming, näiteks saidid nagu Newgrounds ja Kongregate. Ehkki mobiilirakendustes kiputakse Flash -vormingut alakasutama, on endiselt palju kvaliteetseid mänge, mida Flashi abil tehakse. Flash kasutab ActionScripti, keelt, mida on lihtne õppida ja mis kontrollib ekraanil olevaid objekte. Vaadake allpool 1. toimingut, et teada saada, kuidas luua põhilist Flash -mängu.
Samm
Osa 1 /3: Alustamine
Samm 1. Kujundage mäng
Enne kodeerimise alustamist looge oma mängust ligikaudne ettekujutus. Flash sobib kõige paremini lihtsate mängude jaoks, seega keskenduge mängude loomisele, millel on väga vähe mängumehaanikat. Enne prototüübi käivitamist määratlege žanr ja mängumehaanika. Tavaliste välkmängude hulka kuuluvad:
- Lõputu jooksja: mäng liigutab tegelasi automaatselt. Mängijad peavad takistustest üle hüppama või mänguga suhtlema. Mängijatel on tavaliselt ainult üks või kaks juhtimisvõimalust.
- Võitlejad: Mäng on tavaliselt külgkerimine. Mängijad peavad edasipääsuks vaenlase alistama. Mängija tegelaskujul on vaenlase alistamiseks mitu käiku.
- Mõistatused: mängijad peavad iga taseme ületamiseks mõistatusi lahendama. Alustades stiilis, mis koondab kolme ainulaadset objekti, nagu Bejeweled, kuni keerukate mõistatusteni, nagu seiklusmängud.
- RPG: mäng keskendub iseloomu arendamisele ja edenemisele. Mängijad liiguvad läbi paljude erinevate olukordade ja erinevat tüüpi vaenlasi. Võitlusmehaanika on väga erinev, kuid paljud neist tüüpidest on pöördepõhised. RPG -sid on oluliselt raskem kodeerida kui lihtsaid põnevusmänge.
Samm 2. Mõistke välgu eeliseid
Flash sobib kõige paremini 2D -mängude jaoks. 3D -mängude loomiseks saab teha välgu, kuid see on väga keeruline ja nõuab rohkem teadmisi. Peaaegu igal edukal Flash -mängul on 2D -vorming.
Flash -mängud sobivad kõige paremini ka kiirete seansside jaoks. Seda seetõttu, et enamik mängijaid mängib siis, kui neil on vähe vaba aega, näiteks pausid, mis tähendab, et mängusessioonid kestavad tavaliselt kõige rohkem 15 minutit
Samm 3. Tutvuge ActionScript3 (AS3) keelega
Flash -mängud on programmeeritud AS3 -s ja mängude loomisel peab teil olema teatud põhiteadmised nende toimimisest. Saate luua lihtsaid mänge, millel on põhiline arusaam koodist AS3 -s.
Amazonis ja teistes kauplustes on saadaval palju ActionScripti raamatuid, samuti Internetis erinevaid õpetusi ja sündmusi
Samm 4. Laadige alla Flash Professional
See programm on natuke kallis, kuid see on väga hea välguprogrammide kiireks loomiseks. Programmivalikuid on mitmeid, sealhulgas avatud lähtekoodiga, kuid need on üldiselt vähem ühilduvad või võtavad sama ülesande täitmiseks kauem aega.
Flash Professional on ainus programm, mida peate mängude loomiseks alustama
Osa 2/3: Põhimängude kirjutamine
Samm 1. Mõistke AS3 koodi põhilisi ehitusplokke
Põhimängul on mitu erinevat koodistruktuuri. AS3 koodil on kolm põhiosa:
-
Muutujad - see on andmete salvestamise viis. Andmed võivad olla numbrid, sõnad (stringid), objektid ja palju muud. Muutujad on määratletud var -koodiga ja need peavad koosnema ühest sõnast.
var playerHealth: arv = 100; // "var" näitab, et määratlete muutujat. // "playerHealth" on muutuja nimi. // "Number" on andmetüüp. // "100" on muutujale määratud väärtus. // Kõik tegevuskava read lõpevad ";"
-
Sündmuste käitleja - sündmuste käitleja otsib üles teatud juhtunud asjad, seejärel teavitab ülejäänud programmi. See on oluline mängija sisendi ja korduva koodi jaoks. Sündmuste käitlejad kutsuvad tavaliselt funktsioone.
addEventListener (MouseEvent. CLICK, swingSword); // "addEventListener ()" määratleb sündmuste käitleja. // "MouseEvent" on sisendi kategooria, mida kuulatakse. // ". CLICK" Kas määratud sündmus kategoorias MouseEvent. // "swingSword" on funktsioon, mida kutsutakse sündmuse toimumisel.
-
Funktsioon - kooditükk, mis on määratud märksõnale ja millele saab hiljem helistada. Funktsioonid saavad hakkama enamiku mängude programmeerimisega ja keerulisel mängul võib olla sadu funktsioone. Funktsioonid võivad olla suvalises järjekorras, sest need toimivad ainult siis, kui neid kutsutakse.
funktsioon swingSword (e: MouseEvent): tühine; {// Teie kood siin} // "funktsioon" on märksõna, mis kuvatakse iga funktsiooni alguses. // "swingSword" on funktsiooni nimi. // "e: MouseEvent" on lisatud parameeter, mis näitab //, et funktsioon kutsuti sündmuste kuulajalt. // ": void" on funktsiooni tagastatud väärtus. // Kui väärtust ei tagastata, kasutage: void.
Samm 2. Loo objekt
ActionScripti kasutatakse Flashi objektide mõjutamiseks. Mängu loomiseks peate looma objektid, millega mängijad saavad suhelda. Sõltuvalt loetud juhendist võib objekte nimetada spritideks, näitlejateks või filmideks. Selle lihtsa mängu jaoks loote ristküliku.
- Avage Flash Professional. Looge uus ActionScript 3 projekt.
- Klõpsake paneelil Tööriistad joonistamisriista Ristkülik. See paneel võib sõltuvalt Flash Professionali konfiguratsioonist olla teises kohas. Joonista stseeniaknas ristkülik.
- Valige valiku tööriista abil ristkülik.
Samm 3. Määrake objekti omadused
Valige äsja valitud ristkülik, minge menüüsse Muuda ja valige "Teisenda sümboliks". Samuti saate otseteena vajutada klahvi F8. Andke aknas "Teisenda sümboliks" objektile kergesti äratuntav nimi, näiteks "vaenlane".
- Leidke aken Atribuudid. Akna ülaosas on hiire kohal hiirega hõljutades tühi tekstiväli pealkirjaga „Instance name“. Pange sellele sama nimi nagu siis, kui muutsite selle sümboliks ("vaenlane"). See loob ainulaadse nime AS3 -koodi kaudu suhtlemiseks.
- Iga "sündmus" on eraldi objekt, mida kood võib mõjutada. Saate kopeerida mitu korda loodud sündmusi, klõpsates vahekaardil Raamatukogu ja lohistades need stseeni. Iga kord, kui sündmus lisatakse, muutub selle nimi, näidates, et objekt on eraldi ("vaenlane", "vaenlane1", "vaenlane2" jne).
- Kui viidate koodil olevale objektile, kasutage lihtsalt sündmuse nime, antud juhul "vaenlast".
Samm 4. Siit saate teada, kuidas sündmuse atribuute muuta
Kui sündmus on loodud, saate selle atribuudid määrata AS3 kaudu. See võimaldab teil objekte ringi liigutada, nende suurust muuta jne. Saate atribuuti kohandada, tippides esinemise, millele järgneb punkt ".", Millele järgneb atribuut, millele järgneb väärtus:
- vaenlane.x = 150; See mõjutab vaenlase objektide positsiooni X -teljel.
- vaenlane.y = 150; See mõjutab vaenlase objektide positsiooni Y -teljel. Y -telg arvutatakse stseeni ülaosast.
- vaenlane.pöörlemine = 45; Pöörab vaenlase objekte 45 ° päripäeva.
- vaenlane.kaal X = 3; Pikendab vaenlase objekti laiust kordajaga 3. (-) märk pöörab objekti ümber.
- vaenlane.skaalalY = 0,5; Muudab objekti kõrguse pooleks praegusest kõrgusest.
Samm 5. Jälgige käsku trace ()
See käsk tagastab määratud objekti praeguse väärtuse ja on kasulik kindlaks teha, kas kõik töötab nii nagu peaks. Tõenäoliselt ei sisalda te käsku Trace oma lõplikku koodi, kuid see võib olla kasulik ebaõnnestunud koodi allika leidmiseks.
Samm 6. Ehitage baasmäng, kasutades ülaltoodud teavet
Nüüd on teil põhiteadmised põhiteadmistest. Saate teha mängu, kus iga kord, kui vaenlast klõpsatakse, väheneb suurus, kuni vaenlane on hävitatud
var vaenlaneHP: arv = 100; // Seab mängu alguses vaenlase HP (tervis) väärtuseks 100. var playerAttack: arv = 10; // Määrab mängija ründejõu hulga klõpsamisel. vaenlane.addEventListener (MouseEvent. CLICK, attackEnemy); // Lisades selle funktsiooni otse vaenlase objektile, // see funktsioon ilmneb ainult siis, kui objektil // on klõpsatud, mitte siis, kui see klõpsab kuhugi ekraanil. setEnemyLocation (); // Kutsub vaenlase // ekraanile paigutamiseks järgmist funktsiooni. See juhtub mängu alustamisel. funktsioon setEnemyLocation (): tühine {vaenlane.x = 200; // Liiguta vaenlane ekraani vasakult 200 pikslit vaenlane.y = 150; // Liiguta vaenlane ekraani ülaosast 150 pikslit allapoole vaenlane.roteering = 45; // Pööra vaenlast 45 kraadi päripäeva ("vaenlase x väärtus on", vaenlane.x, "ja vaenlase y väärtus on", vaenlane.y); // Kuvab vaenlase hetkeasendi veaallika leidmiseks} funktsioon attackEnemy (e: MouseEvent): void // Loob ründefunktsiooni, kui vaenlast klõpsatakse {vaenlaneHP = vaenlaneHP - playerAttack; // lahutab HP väärtusest rünnakuväärtuse, // genereerib uue HP väärtuse. vaenlane.skaalaX = vaenlaneHP / 100; // Muutke laiust vastavalt uuele HP väärtusele. // Väärtus jagatakse 100 -ga ja teisendatakse seejärel kümnendkohaks. vaenlane.kaalaY = vaenlaneHP / 100; // Muuda kõrgust uue HP väärtusjälje alusel ("Vaenlastel on", vaenlaseHP, "HP jääb"); // Kuvab, kui palju HP vaenlast on jäänud}
Samm 7. Proovige seda
Kui olete kodeerinud, saate seda uut mängu testida. Klõpsake menüüd Juhtimine ja valige Testi filmi. Mäng algab ja saate selle suuruse muutmiseks klõpsata vaenlase objektil. Trace väljund kuvatakse Output aknas.
Osa 3/3: Täiustatud tehnikate õppimine
Samm 1. Lugege, kuidas paketid toimivad
ActionScript on Java -põhine ja kasutab väga sarnast pakettide süsteemi. Pakettidega saate salvestada muutujad, konstandid, funktsioonid ja muu teabe eraldi failidesse ning seejärel need failid programmi importida. See on eriti kasulik, kui soovite kasutada teiste inimeste välja töötatud pakette, mis hõlbustavad mängude ehitamist.
Otsige juhendit Wikihow'st, et saada lisateavet pakettide töötamise kohta Java -s
Samm 2. Koostage projekti kaust
Kui loote mängu, mis sisaldab pilte ja heliklippe, looge mängus kaustastruktuur. Teil on lihtsam salvestada erinevat tüüpi elemente ja salvestada helistamiseks erinevaid pakette.
- Looge oma projekti jaoks kaust. Looge baaskaustas kõigi kunstivarade jaoks kaust "img", kõigi helivarade jaoks kaust "snd" ja kõigi mängu- ja koodipakettide kaust "src".
- Looge konstantfaili salvestamiseks kausta "src" kaust "Mängud".
- Seda konkreetset struktuuri ei nõuta, kuid see hõlbustab kõigi materjalide töö korraldamist, eriti suuremate projektide puhul. Eespool kirjeldatud lihtsa mängu jaoks ei pea te katalooge looma.
Samm 3. Lisage mängule heli
Mängud ilma heli või muusikata väsitavad mängijaid kiiresti. Kihtide tööriista abil saate objektidele heli lisada.
Samm 4. Looge konstantfail
Kui teie mängul on palju väärtusi, mis jäävad kogu mängu samaks, saate luua konstantfaili, et koguda need kõik ühte kohta, et neid oleks lihtne kokku kutsuda. Konstandid võivad sisaldada selliseid väärtusi nagu gravitatsioon, mängija kiirus ja muud väärtused, mida tuleb võib -olla korduvalt kutsuda.
-
Kui lõite konstantfaili, asetage see projekti kausta ja importige see seejärel pakendina. Oletame, et loote faili Constants.as ja asetate selle mängude kausta. Selle importimiseks kasutage järgmist koodi:
pakett {impordi mäng.*; }
Samm 5. Vaadake teiste inimeste mängu
Kuigi paljud arendajad ei avalda oma mängukoodi, on olemas mitmeid õpetusprojekte ja muid avatud lähtekoodiga projekte, mis võimaldavad teil koodi vaadata ja mänguobjektidega suhelda. See on suurepärane võimalus õppida erinevaid täiustatud tehnikaid, mis aitavad teie mängu esile tõsta.