skabe en pinball

, skabe en pinball stil rullende point tæller klasse,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,,, to gange om måneden, kan vi se på nogle af vores læsere favorit stillinger fra hele historien om activetuts +.denne pædagogiske først blev offentliggjort i februar 2010, i denne forelæsning vil du oprette en genanvendelige score klasse, der tæller op til den nye samlede, når litra tilføjes (i stedet for at hoppe op til den nye score).vi dækker grafik oprettelse samt kode.,,,, endelige resultat forpremiere på spil, når de få punkter, vil du se dit score straks springe til den nye samlede.jeg tror, det er meget sejere, hvis resultatet tæller op et efter et, så de spiller "rack point".det er, hvad vi laver her. her er et eksempel på den score klasse i aktion:,, hovedidéen bag denne lektion er at lære dig, at programmet "tæller" funktioner, men jeg vil også vise dig, hvordan man skaber de seje førte skærm set i forpremiere.vi starter med at designe tallene:,, trin 1: oprettede - fil, skabe en ny flash - sagen (actionscript 3, 0).din film, der kan variere afhængigt af din kamp.for det demo - jeg sætter min film som 500x300, sort baggrund og 30 fps.,, trin 2: skabe ciffer symbol, skabe en ny film magasin symbol (angiv > nye symbol).giv det her symbol navnet "tal".,, trin 3: skabe ciffer tekstfelt, i ciffer film magasin anvende teksten værktøj til at tilføje en række 0 - symbolet.jeg bruger en skrifttype, kaldet digitale udskrift, men førte stil skrifttype skal arbejde., der er teksten størrelse 40 pkt., og gøre det til en lysegul /orange farve (# f4c28b).som punkt format, centreret.,, trin 4: tilføje lyser, tilføje to separate glød filtre til din tekst.de farver rød (# ff0000) for både og styrken af både til 200%. tjek den indre glød afkrydsningsfelt for én og fastsætte slør for 2px.lad de andre på 5px tåge., kan du bruge en anden farve, hvis du vil have (blå eller grøn ville både ser fedt).tricket med at få det til at se realistisk på er at gøre teksten farve lidt vaskes ud og sæt den lyser, til en mere mættede farve.det får det til at se ud, som om det er udsender lys.,, løntrin 5: flere numre, skabe keyframes på stel 1 - 10 af ciffer film magasin.en let måde at gøre det på er at udvælge stel 1 - 10 (klik ramme 1, så skift klik ramme 10) og tryk f6. nu skal de have 10 stel, hver med en keyframe med din glødende 0 tekstfelt.gå gennem hvert billede og ændrer tallene, så du har nummer 9.ramme 1 er "0", ramme 2 er "1", ramme 3 vil have "2", osv.), navnet på denne lag "tal".,, trin 6: tilføje førte baggrund, vil vi nu tilføje en "off" tilstand for de førte numre, så vil du være i stand til at se den belyste segmenter af den førte display., modtaget din 8 - cifret (ramme 9).skabe et nyt lag, der hedder "situation".med den nye lag udvalgte use pasta i stedet (edit > pasta i stedet) til at give den ottecifrede i nøjagtig samme holdning som den, vi har kopieret., fjerne de gløder fra de nye 8 - cifret og ændre dens farve til mørkegrå (# 333333).tilføj tåge filter med slør, der 3px.flyt den her under "tal" lag. nu kan du vaske gennem billeder og se, hvordan den belyste segmenter af den førte vise bag hvert tal.,, trin 7: tilføje op med handling, at skabe et nyt lag, der hedder "foranstaltninger".åbne aktioner panel og tilføje en stop() aktion på billede 1.,, det vil holde display vise "0" indtil vi fortælle det på anden måde.,, trin 8: hvorfor rammer?, hvorfor er vi manuelt at alle fingre på sin egen ramme, i stedet for at bruge en dynamisk tekst område?godt spørgsmål.den vigtigste grund er, at det gør det mere fleksibelt for at ajourføre den grafiske senere.hvis du ønskede at ændre udformningen og anvendelsen bitmaps for de numre, eller har hvert ciffer vises i en anden skrifttype eller farve, hvilket gør det let at gøre det, også hvis designere og entreprenører arbejder sammen om et projekt, er det bedst at skabe ting på en måde, der giver designere, let adgang til så meget den grafiske som muligt. jeg føler, at denne fælde er, at mere end ved hjælp af dynamiske tekst.,, trin 9: skabe score film magasin, skabe en ny film, der hedder "point" magasinet.check 'eksport til actionscript og fastsætte klasse navn til "point".,, trække ciffer film klip fra biblioteket i score film magasin.gentager - cifret magasin (edit > to eksemplarer) seks gange, så har du syv cifre) og rum dem ligeligt., for vi har kun syv cifre maksimal score, vil vi være i stand til at vise er 9999999.hvis dit spil bliver nødt til at tage hensyn til højere score flere cifre i overensstemmelse hermed, tilføje lidt mere afstand mellem hver tredje ciffer giver mulighed for komma separatorer.,, trin 10: navn tallet clips, udvælge den yderste venstre - cifret film magasin og give det den instans navn "digit1".navn på den næste til højre "digit2", "digit3" og så videre.,, trin 11: tilføje kommaer, skabe et nyt lag, kaldet "kommaer.", den letteste måde at få de kommaer til ligner tallene er at gå ind i en af de ottecifrede clips og kopi af antal tekstfelter. tilbage i stillingen film magasin, pasta tekstfeltet i kommaer lag, og ændre antallet til et komma.gentage det og få det så mange gange, som du har brug for.,, trin 12: tilføje en baggrund for score baggrund, vi vil bare tilføje en enkelt afrundet rektangel, skabe et nyt lag, kaldet "baggrund" og lægge det bag tallene og kommaer lag.vælg rektangel værktøj og alternativ klik (alat klik) fase.et rektangel 200px x 40px med 3px kanter (gør dig længere, hvis du har flere cifre).de fylder sort og slagtilfælde 1px grå (# 666666).,, af en eller anden grund - - altid fordrejer slag på afrundet rektangel.for at få et slagtilfælde, udvælge og vælge at ændre > form > konvertere, der fylder.den konverterer slag fra en linje til en fyldt form, og det vil ikke længere fordreje.,, hvis du synes, det er en total fed en omdirigering til grundlæggende funktionalitet, der burde have været fastsat for mange år siden, jeg opfordrer dem til at kontakte adobe og lade dem vide,.,, trin 13: tilføje skinne, hvad grafisk ville ikke være fuldstændig uden en iphone - agtig skinne?skabe et nyt lag over alt andet, kaldet "lys".der tilføjes et nyt afrundet rektangel, lidt mindre end baggrund.denne gang giver det ingen slagtilfælde og fylder den med en hvid gradient fra 20% til 0% alfa - alfa, trin 14: skabe score klasse, skabe en ny actionscript fil, der hedder "score.".gem det i det samme register som deres vigtigste flash - fil.da navnet på denne klasse og eksport klasse navn på vores score film magasin, er de samme, flash automatisk vil forbinde dem. at tilføje denne kode til score.as fil:, pakke (import flash.display.movieclip; import flash.events.event; offentlige klasse score udvider movieclip (//konstruktøren offentlig funktion score() {}}}, det er bare en tom skal, i en klasse for nu.vi er nødt til at udvide movieclip klasse, da denne klasse er knyttet til en film magasin i biblioteket, så er vi også nødt til at importere movieclip klasse.vi vil bruge den enter_frame begivenhed, så vi importerer tilfælde klasse samt.,, trin 15: yderligere variabler og konstanter, lægger disse to linjer til stillingen klasse lige over dennes funktion. private konstant hastighed: int = 1; //, hvor hurtigt regne private denne num_digits: int = 7; //hvor mange cifre, der er i stillingen, er disse to konstanter - ligesom indstillinger til klassen. det første, hastighed, kontrol, hvor hurtigt de point tæller.jeg har sat det til at regne, én efter én, men hvis dit spil bruger højere karakterer, det er for langsom.du kan ændre det til 5 eller 10 eller 50 at tælle op af disse forhøjelser. den anden konstant, num_digits, definerer, hvordan mange cifre, vi har i vores score film magasin.hvis du tilføjede mere eller mindre) end 7 cifre, du bliver nødt til at ændre dette, lad os tilføje et par variabler.disse lige under konstanter: private var _totalscore: int = 0, private var _displayscore: int = 0, disse variabler vil afholde to forskellige versioner af vores point. "_totalscore "vil være det faktiske resultat."_displayscore "vil være det antal, der i øjeblikket, som er angivet på førte display.hvis jeg tilføje 50 til stillingen, _totalscore vil straks være 50, men _displayscore vil være 1, 2, 3, indtil det fylder 50. hvis du har brug for at kende de reelle score (gerne sende din high score boards), de bruger _totalscore siden _displayscore kan ikke være nøjagtige. bruger jeg understreger i begyndelsen af den variable navne for at angive, at disse er private variabler, trin 16: tilføje, totalscore, accessor metode, hvis _totalscore er en privat variabel, hvordan vil vi adgang udefra stillingen?vi skal bruge en "accessor" eller "ambitiøs" metode, tilføje denne metode under den pågældende funktion: //offentlige accessor for totalscore offentligheden få totalscore(): int {tilbage _totalscore;} denne metode blot vender tilbage til værdien af de _totalscore variabel.det giver os en måde at få det værdi, uden at afsløre det som en offentlig variabel.,, skridt 17: tilføje, tilføje, metode, vi får brug for en måde at tilføje punkter til stillingen.tilføje denne metode: //tilføje et beløb til stillingen offentlige funktion tilføje (beløb: int): ugyldig (_totalscore + = beløb; addeventlistener (event.enter_frame, updatescoredisplay); //start - tæller), og denne metode accepterer et heltal "mængde", som bidrager til _totalscore variabel.anden linje, begynder en enter_frame tilfælde, der kræver en metode kaldet updatescoredisplay hvert billede.vi vil gerne tilføje, at den næste.,, gå 18: tilføje, updatescoredisplay, metode, tilføje en updatescoredisplay metode.det er, når alle de seje tæller funktioner vil ske.det er nødt til at acceptere en begivenhed, da det er ved at blive kaldt en enter_frame begivenhed. //det løber hvert billede at ajourføre score privat funktion updatescoredisplay e: begivenhed): tomrum {}, lad os nu tilføje nogle funktioner.den første ting, denne metode vil gøre til forøgelse af den _displayscore variable med det beløb, vi i vores hastigheden konstant: //forøgelse af display - score ved den fart beløb _displayscore + = hastighed, der er et problem her.hvad hvis vores hastighed er sat til 10, og vi forsøger at tilføje 5 til stillingen?den displayscore vil være højere end den totalscore.lad os tilføje et par linjer fastsættes, at: //- display - scorer ikke er højere end den faktiske score, hvis (_displayscore & gt; _totalscore) (_displayscore = _totalscore;}, kontrol, hvis de displayscore er højere end den totalscore og, hvis det fastsættes displayscore at være lig med totalscore. nu skal vi tilføje den foranstillede nuller til stillingen.vi vil gøre dette ved at displayscore på en kæde og tilføje nuller før længde er lig med det antal cifre, der er defineret i num_digits konstant:, var scorestr: string = streng (_displayscore); //stemmer displayscore som en streng //add foranstillede nuller, mens (scorestr.length & amp; lt; num_digits) (scorestr = & quot; 0 & quot; + scorestr;}, til rent faktisk at vise resultatet skal vi sløjfe i hver af vores ciffer clips (vi ved navn "digit1", "digit2" osv.) og anvende de tilsvarende tal fra score snor til nummeret det klip: //loop gennem og ajourfører hvert ciffer for (var - jeg: int = 0. jeg & amp; lt; num_digits; jeg + +) (var - nam = int (scorestr. charat (i)); denne [& quot; - cifret & quot; + (i + 1)]. gotoandstop (nam + 1); //fastsætte ciffer mc til den rette ramme}, charat metode har karakter af en snor på det angivne position.det lader os gå karakter af karakter ved at score snor., parenteser i næste linje, give os mulighed for at skabe en dynamisk magasin navn.koden, denne ["tal" + (i + 1)], giver adgang til magasinet med navnet "digit1" eller "digit2" osv. afhængigt af værdien af det,., bruger vi "nam + 1" nummeret for rammen numre, udlignes af 1 fra tal de indeholder (ramme 1 viser 0, ramme 2 viser 1 osv.), den sidste ting, vi skal gøre i denne metode til at tjekke, om den displayscore og totalscore er lige.hvis vi kan få den til at lytte og hold op med at kalde denne metode for nu. //- display - point er lig med det samlede pointtal fjerne enterframe begivenhed, hvis (_totalscore = = _displayscore) (removeeventlistener (event.enter_frame, updatescoredisplay)), hvis du har mistet nogen steder i dette skridt, kan du tjekke kilde filer for at se gennemført klasse.,, skridt 19: stillingen klasse i anvendelse, for at bruge denne klasse trække score film klip fra biblioteket på scenen og give det den instans navn "myscore".du kan tilføje punkter til din score ved hjælp af denne linje i deres dokument klasse:, myscore. der tilsættes (50), kan du se et eksempel på dette i kilden filer.jeg tilføjer, at stillingen, når kofangeren knapper er faldet, men du vil mere sandsynligt, at add(), da begivenhederne i kampen finder sted. hvis du har brug for at vide, player 's score, du kan få den totalscore ved hjælp af:, myscore. totalscore, dette vil ringe tilbage accessor metode og værdien af _totalscore.,, konklusion, du har nu en genanvendelige tæller scoren klasse, som du kan bruge en af dine lege. jeg tror, førte se er fin nok, men du skulle absolut ændre designet til at passe til ud af spillet.her er et par idéer til forskellige mønstre for at komme i gang, tak for at læse denne forelæsning.lad mig vide, hvad du tror!,

Flash file setup
TK
TK
TK
TK
TK
TK
TK
TK
TK
TK
TK
TK
TK
TK



Previous:
Next Page: