Het creëren van een volledige spel in

flash 3, het creëren van een volledige spelen in flash 3, 7,,,,,,,,,,, delen, delen van,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen. En op mijn eerdere, leiderschap training in het opsporen van een combinatie van het toetsenbord, en we zullen zien hoe de oprichting van een volledige spel, je testen typen vaardigheden.,,, en dat het uiteindelijke resultaat bekijken, laten we eens kijken naar de resultaten van de laatste, zullen wij Voor het gebruik van het scherm:,,, de letter - woord.Niet je kwijt, dus let op,,, stap 1: invoering, in deze handleiding, we werken in een vreselijk spel gebruik te maken van deze zeer nuttige gecombineerde opsporen.Je blijft lezen in de voorstellen voor de les lezen, dus je zult begrijpen we op het spel zou doen in het spel, en we zullen veel van de letters op het scherm blok, blok speler moet in een brief.Als het effectief is, wordt het stuk worden geschrapt, de spelers krijgen en meer tijd om te spelen.Het spel zal eindigen als de tijd op nul, als je van plan bent volledig in overeenstemming met de handleiding, je moet naar de bron, in stap 2:., Flash professionele nog het beeld, want het is in de eerder genoemde handleiding, we zullen voor ons een moment, professionele spel met toevoeging van alle foto 'S van hun dossier. En dan tot een document. Of zal worden toegevoegd aan de onze FlashDevelop projecten. In deze handleiding, we hebben een achtergrond (de beelden die de achtergrond van hout is geweldig. Dank je.Een lijst van de geselecteerde soorten en met de sleutel in het kader van de algemene beeld.Je zult zien dat alles in onze bron dossier.,,, andere beelden, zoals de spanner en spelletjes aan het einde van het scherm zal worden toegevoegd voor het goede, maar deze zal in deze handleiding, omdat dit meer betekenis.,, stap 3: in letterblock, bij het begin van ons werk om de code, We hebben FlashDevelop projecten.Dit is een voorgeladen 3 projecten in FlashDevelop optie kiezen, dus.Stel dat je hebt gelezen, Combo training, je weet hoe kan toevoegen of documenten FlashDevelop bibliotheek.Als je het niet, klik, kies "toe te voegen aan de bibliotheek".Rob. Swc dossiers van de bron en de toevoeging van.Dit is het.Tijd voor actie.We zullen een brief, een textfield en stap 2 blokken van de aangegeven eenvoudig object.De codering is eenvoudig.Het creëren van letterblock:,,, pakket - invoer van artassets.letterblockimage; de invoer van flash.display.movieclip; de invoer van flash.display.sprite; de invoer van flash.text.textfield; de invoer van flash.text.textformat; de invoer van flash.text.textformatalign; uitbreiding van de cursussen letterblock sneeuw BI (particuliere var _image: videoclips; particuliere var _lettertext:TextField; de functie van letterblock () {_image = nieuwe letterblockimage () (); _image. Stop. _lettertext = nieuwe textfield (); _lettertext.defaulttextformat = nieuwe tekst ("lied", 40, 0xffffff, echt, lege, lege, textformatalign. Het Centrum); _lettertext.width = 60; _lettertext. X = 30; _lettertext y = 26,3; _lettertext.selectabl.E = vals; _lettertext.multiline = vals; addchild (_image); addchild (_lettertext); openbare functies (brief van setletter}: touw): ongeldig _lettertext.text = {}}}, lijn, een brief van 21 - tekst gebied voor het behoud van onze brief, en de locatie op het scherm, geef het een lettertype, de kleur van de letters en de grootte.De functie van de setletter, alleen, voor het verzamelen van de brief van de doos.,, stap 4: belasting, zou elk spelletje woorden nodig.Bij deze stap zullen we laden een externe bestanden via, [wordt] de gegevens van het werk, de etikettering en de documenten.Blijkbaar, dit dossier bevat de tekst in ons spel.Het kan in de bron.Ondertussen, bij deze stap moeten we beginnen met, combohandler, soort werk, dus voeg het project en in FlashDevelop!Laten we kijken wat de code:,, voornamelijk voor de particuliere ondernemers (functie:., E: gebeurtenissen = nul): ongeldig {removeEventListener (event.added_to_stage ervan); combohandler. - (fase); dictionarywords. Loadwords (5);}, boven op de start, combohandler,, de eisen, en 7. Telefoon, loadwords (), dictionarywords uit, methoden en klasse.Deze les zal door onze creatie, de code is de juiste: verpakking {klas, dictionarywords {[(Bron: in "/src /woord. En 'type =" application/octet-stream ")] particuliere statische var _words:; de statische functie loadwords ():void {var de woorden:... = nieuwe _words (); De var - wordsarray: - woorden. Splitsing (" n "); var i:int; var. Lengte: int = wordsarray.length; (i = 0; ik < lengte; I + +) (combohandler. Registercombo (wordsarray [M], turnintoletters (wordsarray [M]);} turnintoletters (statische functie} woorden: een reeks): {var de letters: - woorden. Splitsing (" "); als (letters [0] = =") {}); de dienst (letters.Als (letters [1] letters.length = = ") {}); letter. POP (var i:int; (i = 0; ik < letters.length; I + +) {[M] = string brief (letters [M]). Charcodeat (0);}}}}, beantwoorden van correspondentie; lijn 5 is de lijn - externe bestanden op het spel in de opstelling van de tijd.Dit alles is mogelijk, omdat de [wordt] de etikettering.Als je meer wilt weten over de informatie, ik beveel dit opstel in Adobe livedocs. Dit is een woord. En, zodat je het kunt zien, afkorting van ons werk: ABC ABC op te treden die buik coulomb zal afzien van de buikwand, nr. 12 (, dictionarywords,) is het een zeer belangrijke lijn.Eigenlijk, het oorspronkelijke words.txt van alle woorden en opgeslagen in een string, de elementen van de installatie.Omdat elk woord begrensd door een lijn van diervoeders, het enige wat we moeten doen is de telefoon, split (), de string, klasse, de methode, de functie, het woord turnintoletters, alleen in de reeks,, en elke brief codes.Dus, we combohandler, klasse kan gebruiken.,, stap 5: toevoeging van letters op het scherm, nu hebben we onze woorden, in het spel is klaar, het is tijd om de woorden op het scherm.Het is heel eenvoudig.Ten eerste, we hebben een wedstrijd zien.Gamescreen, klasse, met al onze spelletjes logica, pakje {invoer artassets.backgroundimage; de invoer van flash.display.sprite; de invoer van adobe.utils.customactions; uitbreiding van de cursussen gamescreen Sprite {particuliere var _background: achtergrond; particuliere _blocksonscreen:VAR aan. < letterblock > openbare functies gamescreen () {_background = nieuwe backgroundimage (x); _background. = 275; _background. Y = 200; addchild (_background); _blocksonscreen = nieuwe luchtvaartmaatschappij. < letterblock > () (); populateblocks;} privé functie populateblocks ():void {VAR I: int; var tempblock:letterblock; (i = 0; ik < 8; I + +) (tempbHet slot = nieuwe letterblock (); tempblock. X = 130 + ('4) * 95); tempblock. Y = 80 + int (I /4) × 80; tempblock. Setletter (randomletter ()); addchild (tempblock); _blocksonscreen. - (tempblock); tempblock = nul;}} privé functie randomletter () {string: string. Fromcharcode ((int (wiskunde. () * 26) + 65);}}}, _blocksonscreen, vector is deze code de belangrijkste elementen: het omvat alle stukken op het scherm, we kunnen altijd met hun werk.Opmerkelijk is dat 14 van onze achtergrond, toe te voegen aan de lijn, op het scherm, dit is een grafiek van de swc van documenten, die, populateblocks (), functionele, alles wat we moeten doen is de toevoeging van een nieuwe, letterblock, op een bepaalde plek, geef het een willekeurige letters (ja, randomletter (), een functie die) en voeg het toe aan het op het scherm, nu moeten we nog de foto 's van het spel, kinderen van God.In de belangrijkste particuliere _gamescreen: var gamescreen; particuliere functie ervan (E: gebeurtenissen = nul): ongeldig {removeEventListener (event.added_to_stage ervan); combohandler. - (fase); dictionarywords. Loadwords (); _gamescreen = nieuwe gamescreen (); addchild (_gamescreen);}, kan je de opstelling van projecten, gezien de stukken op het scherm.Stap 6: de keuze van een knop, in het spel, en we moeten in de desbetreffende essentiële, de "gekozen" van de "gekozen" beeld voor beeld.Het is erg makkelijk.Naar letterblock.as dossier en de toevoeging van deze code: var, de particuliere _selected: Bull. Openbare functies te selecteren ('):void {_selected =!_selected; _image. GotoAndStop (_selected = = echt? "Kies ":" niet gekozen openbare functies ");} brief ():... _lettertext.text} {terug; openbare functie geselecteerde (): booleaanse {terug _selected;}, _selected, variabele wordt gebruikt in de logica van het spel is gekozen blok of niet.Ook de brief, wat er nog over is, is dat stuk van een schakelaar tussen "keuze" en "niet - geselecteerde" nu.In de gamescreen. Zoals:, de invoer van flash.events.event; de invoer van flash.events.keyboardevent; ///////* * * * * * * * * * * * * gamescreen openbare functie ()) {_background = nieuwe backgroundimage (); _background. X = 275; _background. Y = 200; addchild (_background); _blocksonscreen = nieuwe luchtvaartmaatschappij. < letterblock > populateblocks ((); addEventListener (;) event.added_to_stage, de receptie); de privé - functies (e): de gebeurtenissen): ongeldig {removeEventListener (event.added_to_stage, de receptie); - fase. AddEventListener (keyboardevent.key_down, onkeydown); (e) privé - functie: mobiele): ongeldig {VAR I: int; (i = 0; ik < _blocksonscreen.length; I + +) {als (_blocksonscreen [M] = = string. Bij brief van fromcharcode (kan).Met de versterker.Ik _blocksonscreen []. De keuze van _blocksonscreen) {[I]. Te selecteren ('}}};) gaan, want we moeten toevoegen, mobiele en het publiek in de fase, gamescreen, constructeurs, voegen we een luisteraar, gebeurtenissen. Added_to_stage, zal dit leiden tot een van ons, onstage (), functioneren.Deze functie is toegenomen van de fase van de luisteraar.En onkeydown (), is verantwoordelijk voor de functie van al onze blok op het scherm, wordt nagegaan of een letter blok druk.Als dat zo is, dan moeten we kiezen, dit is in nummer 36, na de opstelling van de projecten, dit is wat we hebben: (zoals je de sleutels op het toetsenbord.Stap 7:,, de combohandler soort gewijzigd, om ons spel te spelen, zoals wij willen, moeten we een aantal wijzigingen, combohandler, van de vorige school.De eerste wijziging is maakt het mogelijk dat in de controle van de combinatie niet je type.Dit wordt ontdekt, max_interval, door voortdurend, update (), functioneren.Tegelijkertijd, als gevolg van de aard van de gebruikers van de woorden van de letter "volledige woorden, we veranderen hoe we controleren als de combinatie met de sleutel, pressedkeys, de generator.Tot slot is een wijziging van het sturen van een gebeurtenis, zelfs toen het woord is fout.Dit zal onze spelers niet opsporen en hem straffen. De volgende codes uit te leggen, wat er combohandler:.: particuliere statische constante max_interval:int = 500 milliseconden; ///////- statische var checkcomboafterclearing: Bull. De statische - functie (stagereference: fase, checkcomboafterclearing: booleaanse = vals): Combo = het woordenboek (nieuwe) nietig {; interval = 0; de verzender = nieuwe eventdispatcher (); combohandler.checkcomboafterclearing = checkcomboafterclearing; pressedkeys = [...]; stagereference. AddEventListener (keyboardevent.key_down, onkeydown);} statische functie (bijvoorbeeld: mobiele): ongeldig als (gettimer () interval > max_interval) {Pressedkeys = [...];} interval = gettimer (); pressedkeys. Duw (kunnen); als (!Checkcomboafterclearing) {checkforcombo ();}} openbare statische functie Update ():void {als (gettimer () {checkforcombo interval > max_interval) (); pressedkeys = [...]}}; statische functie checkforcombo ():void {als (pressedkeys.length = = 0) {terugkeer;} var i:int; var combofound: string = "; voor (var comboname: samen) {als (Combo [comboname] als generator), lengte = = 0) {} als blijven; (pressedkeys. Toetreding (" ") = = (combinatie comboname] [)). De toetreding (" ')) {combofound = comboname schuld; De combinatie van;}} ////////als (combofound gevonden.//////////////= ") {pressedkeys = [...]; de verzender. Dispatchevent (nieuwe comboevent (comboevent.combo_finished, comboname:combofound} {}};)) ///////, we veranderen onze combohandler combinatie van de constructeur laat ons alleen in de stop Met typen controleren.Dit is in, update (), door het gebruik van max_interval, functie, constant.Tegelijkertijd checkforcombo (), is gewijzigd om het gebruik van een geschikte combinatie, nu we ook controles moeten veranderen, gamescreen, vernieuwing, combohandler, klasse: openbare functie, gamescreen () {_background = nieuwe backgroundimage (); _background. X = 275; _background. Y = 200; addchild (_background); _blocksonscreen = nieuwe luchtvaartmaatschappij. < letterblock > () (); populateblocks; addEventListener (event.added_to_stage, de receptie); addEventListener (event.enter_frame, gameloop); - een functie gameloop (e): de gebeurtenissen): {combohandler ongeldig. Actualisering ();}, vernieuwing wordt door, event.enter_frame, doen de luisteraar, omdat Dit een eenvoudige methode is goed, de laatste keer tot wijziging is veranderen hoe we begonnenLai, combohandler,, maar de belangrijkste categorieën:, privé functie ervan (E: gebeurtenissen = nul): ongeldig {removeEventListener (event.added_to_stage ervan); combohandler. - (fase, waar); dictionarywords. Loadwords (); _gamescreen = nieuwe gamescreen (); addchild (_gamescreen);}, door middel van de opstelling van het spel. We hebben iets, het is 8:, stappen: toevoeging van de tekst, het is tijd om de dingen aan de spelers te vertrouwen.Nu, de spelers niet is opgenomen in de alfabetische volgorde, dus we spelen nog een woord in de doos.De lijst bevat van de huidige vormen van brieven, in volgorde van organisaties, en zal worden goedgekeurd, een combinatie van gebeurtenissen hebben ontvangen.Het creëren van, wordbox, en de toevoeging van deze code: invoer, pakje {artassets.typedlettersboximage; de invoer van flash.display.sprite; de invoer van flash.text.textfield; de invoer van flash.text.textformat; de invoer van flash.text.textformatalign; uitbreiding van de cursussen wordbox Sprite {particuliere var _image: Sprite; particuliere var _textfield:TextField; de functie van wordbox () {_image = nieuwe typedlettersboximage (); _textfield = nieuwe textfield (); _textfield.defaulttextformat = nieuwe tekst ("Arial", 30, 0xffffff, echt, lege, lege, textformatalign. Het Centrum); _textfield.width = 500; _textfield. X = 250; _textfield. Y = 25; _textfield.selectable = vals; _textfield.multiline = vals._textfield.text = "; addchild (_image); addchild (_textfield); openbare functies (brief van addletter}: touw): {_textfield ongeldig is. Appendtext (brief van openbare functies);} {_textfield.text duidelijk ('): ongeldig =";}}}, dit is bijna net zo, letterblock dezelfde, dus niet. Uitgebreide uitleg nodig is.De enige bezorgdheid is 35. Het bevat een oproep tot appendtext (), van touw, methoden en klasse.Deze functie zal de tekst toe te voegen aan de huidige tekst van de af te maken, zodat we kunnen aantonen dat de aard van de in de huidige tekst van de brief is de tekst. Nu is het tijd om de woorden toevoegen. In het spel.De toevoeging van deze code te gamescreen.as: var, de particuliere _wordbox:wordbox; de functie van gamescreen () {_background = nieuwe backgroundimage (); _background. X = 275; _background. Y = 200; addchild (_background); _blocksonscreen = nieuwe luchtvaartmaatschappij. < letterblock > () (); populateblocks _wordbox = nieuwe wordbox ();; _wordbox X = 275; _wordbox. Y = 350; addchild (_wordbox); addEventListener (event.added_to_stage, de receptie); addEventListener (event.enter_frame, gameloop);} particuliere functie (E: mobiele): ongeldig {VAR I: int; (i = 0; ik < _blocksonscreen.length; I + +) (als (_blocksonscreen [M] = = = = = = =. Brief van touw. Fromcharcode (vrouw) & &.Ik _blocksonscreen []. De keuze van _blocksonscreen [M]) {. Te selecteren ('); _wordbox. Addletter (_blocksonscreen [M]. De brief);}}}, lijn 1, 15 en 19 te onderbreken; het creëren van een tekst doos op het scherm.36. Telefoon, addletter (), in het kader van een brief aan de functie van deze stap van de resultaten als volgt.We zullen nog een code om duidelijk te maken dat de volgende stap van de dialoog, stap 9:., zullen we met onze gamescreen combohandler, nu al doen, combohandler de enige verandering, maar wijzigen, hoe controleer, alsjeblieft.Dit is het deel van het plezier: we zullen de integratie van ons, combohandler, in het spel.Dit betekent dat we, combohandler, hangt af van gamescreen, om te rennen.We springen in de code, dan zie je dat uitleggen.In de gamescreen. Zoals: openbare functie, gamescreen () {_background = nieuwe backgroundimage (); _background. X = 275; _background. Y = 200; addchild (_background); _blocksonscreen = nieuwe luchtvaartmaatschappij. < letterblock > (8); populateblocks (); _wordbox = nieuwe wordbox (); _wordbox. X = 275; _wordbox. Y = 350; addchild (_wordbox); addEventListener (event.added_to_stage, de receptie); addEventListener (event.enter_frame, gameloop); combohandler. Verzender. AddEventListener (comboevent.combo_finished, onwordfinished); combohandler. Setgameinstance (de);} privé functie onwordfinished (E:comboevent): {_wordbox ongeldig is. Duidelijk (');} iskeyavailable openbare functies (de belangrijkste: de reeks): booleaanse {VAR I: int; (Ik = 0; ik < _blocksonscreen.length; I + +) {als (_blocksonscreen [M] = = = = = = =. Brief van de belangrijkste & &.Ik _blocksonscreen []. De keuze van) {terug waar;}} terugkeer valse;} privé functie populateblocks ():void {VAR I: int; var tempblock:letterblock; (i = 0; ik < 8; I + +) (tempblock = nieuwe letterblock (); tempblock. X = 130 + (m% 4) * 95); tempblock. Y = 80 + int (I /4) × 80; tempblock. Setletter (randomletter ()); addchild (tempblock); _blocksonscreen [M] = tempblock; tempblock = nul;}}, naar binnen, gamescreen, constructeurs, voegen we een incident combohandler luisteren. Het voorwerp van de verzending, en zei dat setgameinstance (), de functionele klasse (deze verhoging hieronder).Dit zal de foto 's van het spel, de aanleg van combohandler, klasse, en duidelijk de cassette, er is er nog een, iskeyavailable, functie gecreëerd.Het zal worden genoemd in de combinatie van de begeleider, om te zien of het kan worden toegevoegd aan de lijst van de in een van de belangrijkste sleutels., nummer 63 is een vaste veranderingen in de aannemer, _blocksinscreen, kijken naar de code toe te voegen, in combohandler. Zoals: particuliere var gameinstance: gamescreen; de statische functie setgameinstance (gameinstance:gamescreen): nietig combohandler.gameinstance = gameinstance {}); statische (bijvoorbeeld: mobiele): ongeldig als (gettimer interval > max_interval () {}) pressedkeys = [...]; als (gameinstance. Iskeyavailable (string. Fromcharcode (kunnen)) {interval = gettimer (); pressedkeys. Duw (kunnen);} als (!Checkcomboafterclearing) {}}, checkforcombo (); op de lijnen voegen we een telefoon, iskeyavailable (), dit is in het spel, en de voorbeelden in combohandler scherm, opslag, klasse.Dit is een spel en gecombineerde behandeling - programma aan het einde van de integratie, na de opstelling van, het zal u zijn opgevallen dat spel nu uit de tijd na de woorden doos: 10: als één woord worden opgenomen was, zouden we een woord is geconstateerd in de tijd voor een kleine operatie.Ten eerste, we moeten weten wanneer het woord wordt geconstateerd.Laten we naar binnen gamescreen:,. Zoals: openbare functie, gamescreen () {_background = nieuwe backgroundimage (); _background. X = 275; _background. Y = 200; addchild (_background); _blocksonscreen = nieuwe luchtvaartmaatschappij. < letterblock > (8); populateblocks (); _wordbox = nieuwe wordbox (); _wordbox. X = 275; _wordbox. Y = 350; addchild (_wordbox); addEventListener (event.added_to_stage, de receptie); addEventListener (event.enter_frame, gameloop); combohandler. De rapporteur. AddEventListener (comboevent.combo_finished, onwordfinished); combohandler. Setgameinstance (de);} privé functie onwordfinished (E:comboevent): ongeldig Als (e.params.comboname!= ") {removeselectedletters () (); populateblocks; _wordbox. Duidelijk (');}} privé functie removeselectedletters ():void {VAR I: int; (i = 0; ik < 8; I + +) {als (_blocksonscreen [M]. De keuze van removechild) {(_blocksonscreen [M] Ik _blocksonscreen);] = nul;}}} privé functie populateblocks ():void {VAR I: int; var tempblock:letterblock; (i = 0; ik < 8; I + +) {als (_blocksonscreen [M] = = = = = = = = = = = = = = = = = = nul) (tempblock letterblock (nieuwe); x = tempblock. 130 + (' 4) * 95); tempblock. Y = 80 + int (I /4) × 80; tempblock. Setletter (randomletter ()); addchild (tempblock); _blocksonscreen [M] = tempblock;} tempblock = nul;}}Op lijn 23, is een gebeurtenis van luisteraars, comboevent. Combo_finished,.Het evenement wordt elke keer als een van de spelers die woorden of als verloren tijd worden ontslagen.Als je terug naar de combohandler.as, zou je gemerkt dat, wanneer de spelers, de combinatie van gebeurtenissen die in de naam van de ontslagen is leeg, "of".Omdat we in de lijn van 28 - 34 controleren.En removeselectedletters () en de functie van alle geselecteerde letters geschrapt, omdat hij al in de vorm van een woord, het heet.We zijn veranderd, populateblocks (), die een nieuwe functie, maar waar geen blok - die in overeenstemming is met wat we aan het doen zijn de functie van binnen het schrappen van blok., het opstellen van spel is dit resultaat:,, 11: om iets te doen, kan je het verkeerde soort woorden, je weet wat, als een speler een woord mist?Ik wil de tijd nemen en scoren (dit zal in een later stadium bereikt en de toekenning van 30%), de mogelijkheid tot wijziging van de geselecteerde misstyped woorden horen.De volgende code is de laatste.Mobiele gamescreen.: privé - functie, onwordfinished (E:comboevent): ongeldig als (e.params.comboname!= ") {removeselectedletters (pseudo);} {removeselectedletters (echt); of populateblocks (}); _wordbox. Duidelijk (');} privé functie removeselectedletters (wasfromfailure: booleaanse): ongeldig {VAR I: int; (i = 0; ik < 8; I + +) {als (_blocksonscreen [I]. De keuze van) {als ((wasfromfailure & & wiskunde. () < 3)



Previous:
Next Page: