anvende en kampvogn på en mission i et isometriske krigszone

, indsætte en kampvogn på en mission i et isometriske krigszone,,,,, andel,,,,,,,, 3,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i denne lektie, vi er ved at skabe en lille tank videre anvendelse.kernen i denne lektion er at lave en tank sigte på mus anvisning, og kør mod et muse klik.,,,, endelige resultat forpremiere, lad os tage et kig på det endelige resultat, vi arbejder hen imod:,, flyt den mus til kanontårnet sigter mod det, og klik på nogen få tank at køre dette punkt.,, trin 1: grafisk præsentation, lad os komme i gang.for resten, vi får brug for tank og tårn grafik.jeg brugte google sketchup 7 til min. jeg skabte en tank, som helhed.så jeg blev programmet for mode "parallelprojektion", positionering mit kamera på 45 ° vinkel for at få en illusion af isometrics i spillet. jeg skal ikke dømme mig frygteligt grafik, jeg kan gøre det meget bedre, men det er bare for forklaring:), så jeg gemte det efterlader kun tanken organ, synlige og havde liget af 45 ° otte gange, hvor hver enkelt position separat.så jeg nået 8 forskellige opfattelser af kroppen.jeg gjorde det samme mod tårnet mens kampvognen var gemt.jeg reddede alle 16 billeder som men heller ikke dér er menneskene sikre 24 med alfa - kanal.kan du se det endelige resultat, nedenfor.(dette er ikke nok for denne form for bevægelse, ville det være bedre at have dobbelt så mange synspunkter i tanken, men det er nok for denne forelæsning.),,., du behøver ikke nødvendigvis at bruge google sketchup må de naturligvis vil bruge 3ds max eller maya, eller hvad du du kan også bruge min grafik til praksis, hvis du ikke vil eller kan ikke skabe din egen grafik.trin 2: nye flash - projektet, åbn flash (jeg bruger adobe flash cs4) og vælge nye flash - fil (actionscript 3, 0).vi skal kun bruge det for at få en tank movieclip og forbinde spillet klasse til det senere,.,,., trin 3: det dokument, egenskaber, ikke på scenen og gå til dokumentet egenskaber punkt på dagsordenen.- 600 x 400 (eller hvad du vil,) og 21 billeder pr. sekund (denne ramme, der synes at være optimalt til mig, så jeg næsten altid bruge det.det betyder ikke noget, om), og klik, okay.gå til fil > medmindre, og redde dette dossier, som tank.fla i en mappe på din computer (anbefaler jeg, at du skaber en tank mappe og sætte sagen i).trin 4: import din tank billeder til biblioteket, gå nu, fil > import > import til biblioteket.find den mappe, hvor du reddede din otte tank billeder, udvælge dem alle og import til biblioteket.,,., løntrin 5: nye symbol, skabe en ny tomt symbol, ved at trykke denne lille ikon i biblioteket:,, vælge movieclip type og symbolet "tank".læg den registrering i centrum (registrering, er den lille sorte firkant i det net af hvide felter, for dem der ikke ved).,, trin 6: redigér de symbol efter symbol er skabt det findes i biblioteket (navnet "tank" er bare en kosmetisk navn, der er anvendt kun i biblioteket, så det er ligegyldigt, hvad du kalder det.åben det ved dobbelt klikke sin ikon.så tag 1.png fra biblioteket og slæbe det symbol er scenen.tilpasse det billede, at symbolet er registreret som i denne skærmbillede:,, du vil registrering for at være i centrum af den tank er cirkelbue. trin 7: oprettelse af syv "centrale stel, gå til symbolet tidslinje.navnet "lag 1" til "tank".din tank er krop (1. men heller ikke dér er menneskene sikre bør være den første billede af det lag.klik på den anden ramme og uden at slippe din mus knap trække markøren til 8. ramme udvælgelse af stel 2 - 8.så right-click det udvalgte område og vælge "omvende til blanke keyframes".,, trin 8: trække alle billeder på det tidspunkt, hvor 7 blanke centrale rammer er skabt, vælger den anden ramme og trække 2.png til at tilpasse billede med registrering nr. ligesom du gjorde med 1. men heller ikke dér er menneskene sikre, at forestille sig, at registrering er en akse, at tanken vil anvende til at dreje rundt, når det vender.gør det samme for resten af billeder.du behøver ikke at bringe det meget præcist, men mere præcist du tilpasse det bedre transport vil se ud, når den tank forsøger at følge markøren som spillet kører. trin 9: forhindre en tidslinje fra spiller, efter du har slæbt hvert billede til symbolet er fase og tilpasset dem vælge den første ramme og skub fra at indlede aktioner panel.- en enkelt metode "stop();" i det og tæt på panelet.dette er et vigtigt skridt, fordi vi ikke ønsker, at vores tank til automatisk begynde at dreje rundt, så snart det er føjet til scenen.,, trin 10: skabe et tårn movieclip, biblioteket og skabe en ny movieclip symbol.kald det tårn.dobbeltklik symbolet er ikon og gøre det, du gjorde med tanken movieclip (trin 4.8.) til tårnet, men med tårnet billeder.det svarer til registrering nr. denne vej, på det punkt, som det ville naturligvis blive:,,, opmærksom på, at jeg har opkaldt kanontårnet billeder, som denne: 1 -. men heller ikke dér er menneskene sikre, 2 -. men heller ikke dér er menneskene sikre og om, at de ikke ville erstatte tanken billeder, når de importeres til biblioteket.du vil måske bruge mapper sætte dine billeder.i dette tilfælde dit tårn og tank billeder kan have de samme navne.,, trin 11: samling af beholderen, når vi er færdige med det symbol, åbne beholderen symbol igen, skabe et nyt lag over "tank" lag og trække kanontårnet film klip fra biblioteket på den her.tilpasse tårnet med tanken.resultatet skal se sådan ud:,, trin 12: giv tårnet en instans navn, klik på tårnet for at udvælge det (blåt rektangel omkring, vil det fremgå, at det er udvalgt):,,, - - så gå til egenskaber og give, og f.eks. navn mturret (for movieclip tårnet):,, klik "scene 1" link til udrejse symbol redigering tilstand. trin 13: eksport din tank til actionscript, højre klik tanken symbol på biblioteket, vælge egenskaber (eller sammenkobling, hvis du bruger flash cs3) fra dropdown menu (sørge for, at du er i en fremskreden tilstand), se "eksport til actionscript", og for klasse 'navn, type i "tank" (med stort t).dette skridt vil give os mulighed for at forbinde vores tank movieclip til tilfælde skabt ved hjælp af vores tank klasse i fremtiden.,, den grafiske del er ovre nu. du kan slette den tank fra scenen.vi kan tilføje det programmatically senere. gå 14: skabe en ny actionscript sagsakter i din flash skulle fremsætte værktøj til, fil > nye, og skabe en ny actionscript fil.,, trin 15: redde din fil, så at den mappe, hvor du reddede dit tank.fla fil og skabe en ny folder kaldet "primære" indenfor.red din actionscript fil i denne folder, som tankmaker.,.placeringen af denne sag bør derfor være: tank /main /tankmaker.as trin 16: lad os skrive en kode, først og fremmest skabe en pakke, og indføre de nødvendige klasser i det:, pakke vigtigste (import - flash. udstilling. *; import flash. begivenheder. *}, ordet "primære" her er placeringen af denne sag i forhold til vores tank. ned, får vi brug for "display" klasser, for at vise vores aktiver på skærmen, og "begivenheder" til at holde styr på mus begivenheder. skridt 17: offentlige klasse og variabler, nu er vi nødt til at erklære en offentlig klasse tankmaker (i henhold til actionscript fil 's navn), og de nødvendige variabler, herunder vigtigste (import - flash. udstilling. *; import flash. begivenheder. *; offentlige klasse tankmaker udvider sprite (//tilfælde af vores tank - klasse (som vi eksporteret til actionscript før) private var tank. tank; //vars - koordinaterne for det punkt, hvor vi ønsker, at vores tank at flytte private var movetanktox: antal; private var movetanktoy: antal; //- koordinaterne for det punkt, hvor tanken har sit tårn private var turnturrettox:; private var turnturrettoy: antal; //nuværende position på beholderen, private var currenttankpositionx: antal; private var currenttankpositiony: antal; private var tankspeed: antal = 2; //det punkt, hvor tanken går efter et muse klik private var clickpoint: formål; //vinkel af tank og tårn rotation i radianer private var atan2: antal private var turretata;n2: nummer}}, erklærede jeg alle de variabler, så som "privat", fordi jeg ikke vil have dem til at være tilgængelige fra steder uden for denne klasse, skridt 18: skabe en konstruktør metode, direkte under den sidste variable skabe en offentlig funktion og kalder det tankmaker.det bliver konstruktøren af klassen.derefter tilsættes en begivenhed event.added_to_stage lytter til det, så vi kan skabe vores tank genstand efter fase.så giv denne begivenhed til den metode addstage. offentlige funktion tankmaker() {addeventlistener (event.added_to_stage, addstage)}, skridt 19: skabe en tank instans, efter at scenen er skabt og added_to_stage begivenhed har udløst addstage() metode, det er på tide, at skabe en tank, f.eks. erklærer en privat funktion og kalder det addstage.datatypen funktion vil være: begivenhed.og tilbage - vil være "tomrum", da vi ikke vil vende tilbage til noget af det, privat funktion addstage e: begivenhed): ugyldig (//skabe en ny tank tilfælde af filmen magasin //, som de havde eksporteret til actionscript tank = nye tank(); //nu et lille trick, jeg især min tank ned //til størrelsen på ca. en fjerdedel af den oprindelige størrelse //, så det er ikke så stort, tank.scalex = 0, 25; tank.scaley = 0, 25; //den oprindelige holdning af tanken ikke //midt på scenen. tank x = stage.stagewidth /2; tank. y = stage.stageheight /2 //og tilføje det til skærmen liste addchild (beholder); //nu tilføje begivenhed lyttere for mus og mus kom //begivenheder på scenen stage.addeventlistener(mouseevent.mouse_down, mousedownlistener) fase. addeventlistener (mouseevent.mouse_move, mousemovelistener)}, gå 20: håndtering af mus bevægelser, skabe en privat funktion mousemovelistener() med data type mus begivenhed til at håndtere mus bevægelser over scenen.tilfælde til at lytte til at udløse denne funktion blev skabt på det sidste skridt, privat funktion mousemovelistener e: mouseevent): ugyldig (//skabe en variabel til at holde den relative vinkel //mellem mus nuværende stilling i grader //og tank er aktuelle holdning var vinkel: antal; //de næste to variabler bliver //lig med mus nuværende stilling turnturrettox = e.stagex; turnturrettoy = e.stagey; //beregne den relative vinkel i radianer //mellem mus er curent holdning //og tank er aktuelle holdning turretatan2 = matematik. atan2 (turnturrettoy - currenttankpositiony, turnturrettox - currenttankpositionx); //beregning samme vinkel i grader.////////- grader i radianer har vi til //ganger radianer 180 og dele resultatet af poste italiane //, men her er nogle detaljer om flash //det beregner den vinkel, ikke fra 0 til 360 //, men fra 0 til 180 og 180 til 0 //, så lad os tilføje nogle betinget for at slippe af med dette problem, hvis (matematik. runde (turretatan2 * 180 /matematik. pi) < 0) (//hvis vinkel er mellem 0 og - 180 tilføje 360 til den vinkel = matematik. runde (turretatan2 * 180 /matematik. pi) + 360;} andre (//, hvis ikke beregnes det som sædvanlig vinkel = matematik. runde (turretatan2 * 180 /matematik. pi)} //under vores vinkel værdi opbevares i en variabel //- lad os skifte vores tårn til mus pointer //- jeg har gjort en masse beregninger vil finde den //ll out, so you may try to undestand my logic \t \t//I'm just picking the right frame of the turret MC depending \t//on the angle of the mouse from the turret \t \tif (angle > 240 && angle < 300) { \t\t//go inside the tank MovieClip then inside mTurret \t\t//go to the frame 1 and stop \t\ttank.mTurret.gotoAndStop(1); \t} \tif (angle > 300 && angle < 340) { \t\ttank.mTurret.gotoAndStop(2); \t} \tif ((angle >= 0 && angle < 20)



Previous:
Next Page: