laser - generator, hindringer og præcis ramme påvisning

, laser - generator, hindringer og præcis ramme påvisning,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss ud. hej, venner.det vigtigste element i denne lektion er nøjagtige, ramte påvisning af en, der genereres laser.denne form for ai er nyttig i aktion, lege, især i forbindelse med sikkerhed intelligens med kameraer, laser våben osv. så læg din raket på din ryg, nedtællingen starter.,,,,, det endelige resultat forpremiere, lad os tage et kig på det endelige resultat, vi arbejder hen imod:,, trin 1: forberedelse af flash - fil, åben - og skabe en ny flash - dokument (actionscript 3,0)., fase størrelse, enhver standard beslutning.min er 500 × 350 px. fastsætte billedhastigheden 24 fps., medmindre sagen i en folder med dit valg.,, trin 2: at skabe laser generator anordning, lad os nu skabe et laser - generator, tegner en cirkel med en radius på 20, dvs. 40 x 40.også, fyld den med en sød radiale gradient farve., skal vi nu til at omdanne denne cirkel i en flash symbol, således at vi kan kontrollere det med actionscript., vælges den cirkel og presse f8 eller at ændre > konvertere til symbol.vælge film magasin symbolet type.også registrering til centre, således at de laser generator roterer fra centrum.type, lasergenerator_mc, til eksempel navn område, og sidst, men ikke mindst, tjek "eksport til actionscript" i "avancerede" gruppe, så vi kan få adgang til laser - generator fra vores dokument klasse, som vi skal snart mødes.,,, efter at alle de ovennævnte muligheder, presse, okay.presse okay igen for dialogen rubrik viser den advarsel for klasse definition.dette vil skabe en klasse definition for laser - generator i runtime. nu har vi ikke brug for, lasergenerator_mc, symbolet på det stadium, da det er til rådighed i biblioteket - panel identifikator navn, lasergenerator_mc,.det her symbol fra scenen.- din scene burde være tomt.,, trin 3: forbedring af se - generator, nu hvor vi skal tilføje en mund at generatoren at skabe nogle føler en anordning.i biblioteket panel double click, lasergenerator_mc, symbol ikon (venstre side af symbolet navn) til at gå ind i edit tilstand.tilføj mund - til - det som vist nedenfor, føle sig fri til at føje deres eget design.,, note:, ikke ændrer holdning i den cirkel, idet vi er nødt til at rotere rundt i centrum.,, efter at der er tilsat en mund at generatoren, exit fra symbol edit tilstand og komme tilbage til de vigtigste tidslinje. din raket har forladt jorden.- generator anordning er klar og venter på at udføre.,, trin 4: udarbejdelse af dokument klasse, at tilføje et drama, at vores scene, vi har brug for actionscript.vi har brug for, til at handle fornuftigt dokument klasse. i dette skridt, skal vi skabe en grundlæggende struktur i vores dokument klasse. for detaljeret forklaring om dokument klasse tjek det hurtigt tip., skabe nye actionscript 3,0 fil.- følgende kode:, pakke (offentlige klasse laser_hitdetection {offentlige funktion laser_hitdetection () (//konstruktøren kode}}}, medmindre dette dokument klasse som, laser_hitdetection.as, i den samme mappe, hvor du reddede din ned til denne forelæsning.- tag.det grundlæggende dokument klasse er klar.,, løntrin 5: vedhæft dokument klasse ned, i din fia filtilgang egenskaber panel for nummer og type navn for den klasse, i det dokument, der er til rådighed under klasse område "offentliggøre" gruppe.,, nu er vi klar til at kommunikere med ned igennem det her, laser_hitdetection.as dokument klasse.,, trin 6: sted og tilpasse laser - generator i fase - centret, skal vi skabe et tilfælde af laser - generator fra biblioteket, og det er i centrum af scenen. ændre, laser_hitdetection.as, dokument klasse som vist nedenfor (fremhævet linjer):, pakke (import flash.display.sprite; offentlige klasse laser_hitdetection udvider sprite {var lasergun: sprite; //tilfælde af lasergenerator_mc /konstruktøren offentlig funktion laser_hitdetection() {createlasergun() /;) //- og laser - generator fra biblioteket offentlig funktion createlasergun(): ugyldig (lasergun = nye lasergenerator_mc(); //får det fra biblioteket addchild (lasergun); //sted - generator i centrum af den fase, lasergun. x = stage.stagewidth /2; lasergun. y = stage.stageheight /2}}}, hvis du tester de film, du vil se vores laser - pistol pænt placeret i centrum af scenen.,, trin 7: forståelse, createlasergun(), metode, i ovennævnte kode, vi anvendte, sprite, klasse, for at skabe et tilfælde af sprite objekt, der vil holde laser.for at vi erklærer variabel:, var lasergun: sprite,, så vi har tilføjet en ny metode ", createlasergun()", som vi, der er et eksempel på, lasergenerator_mc fra biblioteket til ovenstående, lasergun, var:, lasergun = nye lasergenerator_mc(); efter at tilføje det til den fase, vi har sat det på centret i den fase, som: lasergun. x = stage.stagewidth /2; lasergun. y = stage.stageheight /2 endelig vi kaldte denne metode fra entreprenøren metode til dokumentet klasse som: //konstruktøren offentlig funktion laser_hitdetection() {createlasergun();}, raket er øget med fuld styrke.vi skal aktivere denne laser - pistol meget snart, som vil projektet laser.før, at vi skal tilføje nogle hindringer.lad os gå.,, trin 8: forøgelse af hindringer af forskellig form,,, til at eksperimentere med ramte påvisning, vi har brug for nogle hindringer på scenen.- på scenen drage forskellige former, der ligner konvekse konkave overflader, hældning, klatre, og direkte kanter, som vist nedenfor:,, trin 9: omdannelse af alle hindringer i det indre movieclip, nu sætter vi alle disse former for et symbol.vælg alle former på én gang og presse f8 eller at ændre > konvertere til symbol.vælge film klip som symbolet type.navn det symbol, obstacles_mc, ved navn tekstfelt.sæt registrering i centrum.tjek også "eksport til actionscript", så vi kan få adgang til det fra vores dokument klasse. efter omregning til movieclip, vi har, obstacles_mc i biblioteket med samme identifikationskode navn.simlilary som, lasergenerator_mc, vi har ikke brug for det her symbol på scenen, så slette det fra scenen.nu er din scene er tom.,, trin 10: sted og tilpasse de hindringer, symbol på stadium center,,, den måde, vi sætter vores, lasergenerator_mc, på scenen, i centrum, på samme måde som vi finder sted, obstacles_mc, symbol på scenen.ændre dokumentet klasse som vist nedenfor, pakke (import flash.display.sprite; offentlige klasse laser_hitdetection udvider sprite {var lasergun: sprite; //tilfælde af lasergenerator_mc var hindringer: sprite; //tilfælde af obstacles_mc //konstruktøren offentlig funktion laser_hitdetection() {createlasergun(); createobstacles();) //- og laser - generator fra biblioteket offentlig funktion createlasergun(): ugyldig (lasergun = nye lasergenerator_mc(); //får det fra biblioteket addchild (lasergun); //sted - generator i centrum af den fase, lasergun. x = stage.stagewidth /2; lasergun. y = stage.stageheight /2) //- og lægge hindringer fra biblioteketoffentlig funktion createobstacles(): ugyldig (hindringer = nye obstacles_mc(); //får det fra biblioteket addchild (hindringer); //lægge hindringer i centrum af scenen hindringer. x = stage.stagewidth /2; hindringer. y = stage.stageheight /2}}}, prøvning af film til hindringer, der lægges i laser - pistol.,, din raket er ved sluthastighed.nu er det tid til at aktivere laser - pistol.det skal skabe laser fra det.lad os gøre det nu, skridt 11: udsprøjtning laser,,, hvordan vil vi have laser?et gæt?.......................hvad med at bruge nogle medlemmer af den grafiske klasse, linestyle(),,, moveto(),, lineto(),.hvis du er bekendt med disse metoder og deres arbejde er nemt.for dem der ikke ved disse metoder, er vi altid med dig.lad os se dem i detaljer. skal vi tilføje en ny metode, projectlaser(),.lad os ændre vores, laser_hitdetection, dokument klasse som vist nedenfor: //konstruktøren pakke (import flash.display.sprite; offentlige klasse laser_hitdetection udvider sprite {var lasergun: sprite; //tilfælde af lasergenerator_mc var hindringer: sprite; //tilfælde af obstacles_mc var laser - sprite, var startx: antal; //x udgangspunkt - var starty: antal; //y udgangspunkt i laser var endx: antal; //x slutpunkt i laser var endy: antal; //y slutpunkt i laser //konstruktøren offentlig funktion laser_hitdetection() {createlasergun(); createobstacles(); projectlaser();) //- og laser - generator fra biblioteket offentlig funktion createlasergun(): ugyldig(lasergun = nye lasergenerator_mc(); //får det fra biblioteket addchild (lasergun); //sted - generator i centrum af den fase, lasergun. x = stage.stagewidth /2; lasergun. y = stage.stageheight /2) //- og lægge hindringer fra biblioteket offentlig funktion createobstacles(): ugyldig (hindringer = nye obstacles_mc(); //får det fra biblioteket addchild (hindringer); //lægge hindringer i centrum af scenen hindringer. x = stage.stagewidth /2; hindringer. y = stage.stageheight /2) //- projektet en laser - generator anordning fra offentligheden projectlaser(): ugyldig (laser = nye sprite(); addchild (laser); //fastsat oprindelsen af de laser som centrum forde laser - pistol startx = lasergun. x; starty = lasergun. y. //sæt slutpunkt i laser endx = startx + 230 og endy = starty; //henlede laser laser. grafik. linestyle, stk. 1, 0xff0000); laser. grafik. til (startx, starty); laser.graphics.lineto (endx, endy);}}}, teste film.,, raket er lige der oppe i himlen.de laser - pistol er begyndt at fremme den laser.- hvordan kunne det ske?lad os prøve og forstå ovennævnte kode i det næste skridt.,, trin 12: hvordan er laser forventede?,,, i ovennævnte skridt, vi har planlagt en laser.for at vi udfører følgende opgaver: det første, erklærede vi fem nye variabler, var laser - sprite, var startx: antal; //x udgangspunkt i laser var starty: antal; //y udgangspunkt i laser var endx: antal; //x slutpunkt i laser var endy: antal; //y slutpunkt i laser, andet, har vi tilføjet en ny metode, projectlaser(): offentlige funktion projectlaser(): ugyldig (laser = nye sprite(); addchild (laser); //fastsat oprindelsen af de laser som centrum for laser - pistol startx = lasergun. x; starty = lasergun. y. ////////sæt slutpunkt i laser endx = startx + 230 og endy = starty; //henlede laser laser.graphics.linestyle, stk. 1, 0xff0000); laser.graphics.moveto (startx, starty); laser.graphics.lineto (endx, endy)),trin 13: forståelse, projectlaser(), metode, i ovennævnte metode, vi skabte en tom sprite objekt til at holde de laser og tilføjede også, at den fase, som vist nedenfor, laser = nye sprite(); addchild (laser), som vi ønskede, at de laser begynde at udsprøjtning af laser - pistol, vi tildeler laser - pistol er x - værdi, startx, og y - værdi, starty som vist nedenfor, startx = lasergun. x; starty = lasergun. y. (senere, forudsat at disse værdier til, til (startx, starty), en metode, som vi skal snart mødes.), så har vi defineret, endx, og endy:, endx = startx + 230 og endy = starty;, værdier, der er tildelt ovennævnte variabler er midlertidig værdier.vi brugte dem kun til at vise den grundlæggende projektion af en laser.i de kommende skridt, vi skal ændre disse værdier ved at anvende en enkel matematik.disse værdier er afgørende for, at den perfekt ramt påvisning af laser.vi vil undersøge dem senere i denne mødeperiode, og nu er en vigtig del af denne metode.trække en lige linje i laser sprite objekt til at efterligne de forventede laser. det første, vi tog i stil med den linje, der skal opstilles som vist nedenfor: laser.graphics.linestyle, stk. 1, 0xff0000); denne linestyle() metode anvendes til at kontrollere design af slagtilfælde af tegningen objekt såsom linje, rektangel, oval. de kan give maksimalt otte argumenter for denne metode.hvis ikke specificeret standardværdier er tildelt i stedet.for eksempel har vi brug for kun to argumenter.det første argument er tykkelsen af den linje (dvs. 1) og det andet argument er farven på den linje (dvs. 0xff0000,, som er rød). for yderligere forklaring af denne metode, tjek adobe hjælpe dok. "linestyle (args...)" - metoden., så har vi lagt udgangspunkt den linje, som vist nedenfor: laser.graphics.moveto (startx, starty);,, startx, og starty, sikrer, at udgangspunktet må være centrum for laser - pistol. efter, at vi finsihed frem:, laser.graphics.lineto (endx, endy), huske på, at disse endx og endy er midlertidige værdier blot for at vise den projektion.vi har brug for dem til at få tilpasset, hvis enhver hindring kommer i vejen for laser.det skal vi gøre matematik i de kommende skridt. så har vi en linje fra (, startx,, starty, til, endx,, endy). den raket kommer og går.se de landskaber, waterscapes... nu er det tid til handling.slå påvisning ved hindringer.,, trin 14: ramt påvisning af hindringer,,, og nu er udstyret med en laser - pistol.vi har også en række forhindringer.vi er på det niveau, hvor vi kan tilføje ramte påvisning, der uden tvivl vil tilføje henhold til stedet. du tænker måske, at dette meget præcise rammer opdagelse vil kræve en kompleks matematik.så du tager fejl.det bruger hittestpoint() bygget i metode til actionscript sammen med en, for loop.den komplekse matematik bag perfekt ramt påvisning håndteres ved hjælp af denne metode.du behøver kun at anvende denne metode og en til, loop i en smart måde. skal vi træffe nogle vigtige ændringer i vores dokument klasse hovedsagelig, projectlaser(), metode og en ny vars, så overholder og anvender det grundigt.lad os ændre det som vist: første tilføje disse nye vars:, var fedt: antal = math.pi/180; //, der anvendes til at beregne vinkel i radianer var maxdist: antal = 250; //maksimal afstand være rejst med laseren var adjusteddist: antal; //nye maksimale afstand, hvis enhver hindring, kommer på en måde så ændrer projectlaser(), metode ved at tilføje, for - som vist nedenfor (også bemærke, at nu, endx, og endy er inde for, loop): //- projektet en laser - generator anordning fra offentligheden projectlaser(): ugyldig (laser = nye sprite(); addchild (laser) /, der stammer fra laser som centrum for laser - pistol startx = lasergun. x; starty = lasergun. y. (adjusteddist = 0, adjusteddist < maxdist; adjusteddist + +) (//trigonometri for atmål - w.r.t laser - pistol rotation endx = lasergun. x + math.cos (lasergun.rotation * rad) * adjusteddist; endy = lasergun. y + math.sin (lasergun.rotation * rad) * adjusteddist; //beregne ramte test, hvis (obstacles.hittestpoint (endx, endy, sande) {pauser) //henlede laser -. grafik. linestyle (1, 0 x ff0000); laser. grafik. til (startx, starty); laser.graphics.lineto (endx, endy)}, teste film.,,, -... er jeg sikker på.se på den virkning, de er inspireret til at skabe en flash spil med sikkerhed intelligens.perfekt ai, udvikle interessant leg i flash.,, trin 15: hvordan ramte påvisning, der er sket, for det første har vi tilføjet nye vars til vores dokument klasse som vist: først en vinkel i radianer, var fedt: antal = math.pi/180; //, der anvendes til at beregne vinkel i radianer, ovennævnte var er i formel til at beregne en vinkel i radianer. den formel, radianer = grader * matematik. pi /180.flere oplysninger her.vi brugte denne formel i vores kode i disse linjer, endx = lasergun. x + math.cos (lasergun.rotation * rad) * adjusteddist; endy = lasergun. y + math.sin (lasergun.rotation * rad) * adjusteddist;,, lasergun.rotation * fedt, grader =, lasergun. rotation, og fedt =, matematik. pi /180, andet, skabte vi en var for den maksimale afstand være rejst med laser:, var maxdist: antal = 250; //maksimal afstand være rejst med laser, det var beslutter den maksimale afstand være rejst med laser.da det ikke er nødvendigt at henlede laser uden synlige område, vi definerer en flot afslutning.det var vil gøre, hvad der er nødvendigt.,, tredje, vi har en var for den nuværende afstand i laser på det tidspunkt, hvor enhver hindring, var adjusteddist: antal; //nye maksimale afstand, hvis enhver hindring, kommer på en måde, hvor enhver hindring kommer i vejen for laser, laseren er blokeret i stedet for rejser til maksimal afstand. den afstand, efter at blokere en laser, er ikke andet end den justerede afstand afhængigt af situationen.,,, loop - og hittestpoint() hver spiller en vigtig rolle i beregningen af denne afstand.,, fjerde, ændrede vi, projectlaser(), metode ved at tilføje actionscript er, hittestpoint() sammen med en for, loop.vi er flyttet, endx, og endy, variabler. for (adjusteddist = 0, adjusteddist < maxdist; adjusteddist + +) (//trigonometri sigte laser w.r.t laser - pistol rotation endx = lasergun. x + math.cos (lasergun.rotation * rad) * adjusteddist; endy = lasergun. y + math.sin (lasergun.rotation * rad) * adjusteddist; //beregne ramte test, hvis (obstacles.hittestpoint (endx, endy, sande) {pauser), til den justerede loop sikrer, at afstanden øges op til maksimal afstand.du tænker måske: "hvad er det sjove i justeret afstand svarende til maksimal afstand?"faktisk, det justerede afstand er lov til at matche den maksimale afstand naturligvis, men så snart det rammer alle hindringer, der er påvist ved, hittestpoint(), metode) denne afstand er mærket som afstanden til den nuværende situation.tak, hittestpoint(), for den opgave, så enkelt. vi også flyttet, endx, og endy, værdier, som er: endx = lasergun. x + math.cos (lasergun.rotation * rad) * adjusteddist; endy = lasergun. y + math.sin (lasergun.rotation * rad) * adjusteddist;, trigonometri funktioner, matematik. cos() og matematik. sin(), anvendes til at beregne den vinkel af laser w.r.t laser - pistol rotation. i enkel form, der tager sig af med laser, hvor laser - pistol leder.det er vigtigt, at laser - pistol - og begge er i sync.så når de laser - pistol drejes laser vil følge rotation. for mere information om trigonometri, læs det her hurtigt tip. endelig højdepunktet i stedet: hvis (obstacles.hittestpoint (endx, endy, sande) {pause.},, hittestpoint(), metode tager tre parametre, hvoraf den første og for det andet parametre er nødvendige, og den tredje (, shapeflag) vil blive efterladt som default (dvs. falske), hvis ikke specificeret. i vores eksempel, shapeflag, er fastsat til rigtigt, da vi vil slå påvisning, med hensyn til den nøjagtige form af target - objekt (dvs. hindringer).hvis denne værdi er sat til, falske, den ramte påvisning opstår med hensyn til tegnkasse for det objekt og ikke den præcise form. den første og anden parametre for, hittestpoint(), definerer et punkt (x, y), for at kontrollere, hvor den skærm objekt.i vores tilfælde, hindringer, er at vise mod, og endx, og endy er skæringspunktet på scenen, uklar?ret.for at forenkle sætter vi logikken i den rækkefølge, som følger:,,,, loop tillader projektion af laser fortsat (ved at ajourføre, endx, og endy) hvis inden for maksimal afstand.,, hittestpoint(), venter på at slå til, loop, så snart det ser krydset.når, loop er brudt, endx, og endy, indefryses. endelig de frosne, endx, og endy, er gået til, grafik. lineto() metode., trin 16: anvendelse af rotation til laser - pistol, at tilføje rotation til laser - pistol, vi har brug for til at udføre nogle større ændringer:,, omstrukturering, projectlaser (), metode., det forhold, at hele ramte påvisning logik i nye metode, hittest(),., at tilføje nye erklæring, laser. grafik. clear(), i, i, loop. import - erklæring, import flash.events.event, først skal vi omstrukturere, projectlaser(), metode ved at hele ramte påvisning logik i nye metode, hittest(),.så vi skal tilføje, laser. grafik. clear(), erklæring før, laser. grafik. linestyle, stk. 1, 0xff0000), statement inden for, til, loop - af nye metode, hittest(),.det vil fjerne den gamle projektion af laser - fra det tidspunkt, hvor laser - pistol vil begynde at rotere. lad os se, hvordan det vil se ud, efter at alle fire væsentlige ændringer: offentlig funktion projectlaser(): ugyldig (laser = nye sprite(); addchild (laser); //fastsat oprindelsen af de laser som centrum for laser - pistol startx = lasergun. x; starty = lasergun. y.} //- test offentlig funktion hittest(): tomrum {(adjusteddist = 0, adjusteddist < maxdist; adjusteddist + +) (//trigonometri sigte laser w.r.t laser - pistol rotation endx = lasergun. x + for matematik. lasergun.rotation * rad) * adjusteddist; endy = lasergun. y + matematik. synd (lasergun.rotation * rad) * adjusteddist; //beregne ramte test, hvis (hindringer. hittestpoint endx, endy, sande) {pauser) //henlede laser laser. grafik. clear(); //fjerner gamle laser projektion laser. grafik. linestyle, stk. 1, 0xff0000); laser. grafik. til (startx, starty); laser.graphics.lineto (endx, endy)}, kan du spørge hvorfor har vi så store ændringer.den eneste grund til, enter_frame, sag. at anvende kontinuerlige skift skal vi tilføje en ny metode, lasergunrotation (evt: tilfælde), som aktiveres ved, enter_frame, begivenhed (dvs. den drives 24 gange en anden, eftersom vores billedhastighed, der er 24fps).når det anvendes, skal du være forsigtig med at sige, at det ikke kun sådanne egenskaber, de mennesker, vi vil ændre sig over tid.for at undgå, at de værdier, der er konstant under gennemførelsen. i vores sag, hvis du ser gammel projectlaser(), metode, det har:, laser = nye sprite(); addchild (laser); //roterer laser - pistol, forestil dig at tilføje ovennævnte erklæringer på en metode, der anvendes, enter_frame, så tilfælde; nye laser sprite genstand ville blive oprettet, og tilføjede, at fase gentagne gange - 24 gange i sekundet. dette er helt unødvendig.vi er derfor omstruktureret, projectlaser(), metode og tilføjet nye metode, hittest(),.du kan kalde, projectlaser(), metode til initializelaser(), da det ikke længere projekter laser.nu er det kun skaber den tomme indehaver i laser og fastlægger dens udgangspunkt.projektionen håndteres på en ny metode, hittest(),., lad os se den nye metode, lasergunrotation (evt: begivenhed).før at tilføje følgende import erklæring i begyndelsen af dokumentet klasse:, import, flash. begivenheder. arrangement, og tilføje følgende metode: //roterer laser - pistol offentlig funktion lasergunrotation (evt: begivenhed): ugyldig (lasergun.rotation + = 0, 5; hittest();}, også, glem ikke at ringe til det metode med en, enter_frame, begivenhed i pågældende funktion som vist nedenfor: //konstruktøren offentlig funktion laser_hitdetection() {createlasergun(); createobstacles(); projectlaser(); addeventlistener (event.enter_frame, lasergunrotation)}, det sætter det op at køre, lasergunrotation() fungerer 24 gange en anden. test filmen. den raket har allerede gennemtrængt skyer.se den smukke verden.,, skridt 17: forøgelse af kontrol med nøjagtigheden af ramte påvisning, i dette skridt, vil vi tilføje en kontrol for at tilpasse nøjagtigheden af de ramte påvisning.dette er vigtigt, fordi du behøver ikke en fuldtræffer påvisning, hver gang, du har måske brug for et gennemsnitligt niveau for ramte påvisning.det vil også medvirke til at reducere de cpu forbrug på tidspunktet for ramte påvisning. vi skal indføre en ny variabel, tolerance, som:, var tolerance: antal = 1, så vil vi ændre det, for loop er tilvækst erklæring: for (adjusteddist = 0, adjusteddist < maxdist; adjusteddist + = tolerance), der nu er for loop kommer til at se ud: for (adjusteddist = 0, adjusteddist < maxdist; adjusteddist + = tolerance) (//trigonometri sigte laser w.r.t laser - pistol rotation endx = lasergun. x + matematik. - (lasergun.rotation * rad) * adjusteddist; endy = lasergun. y + matematik. synd (lasergun.rotation * rad) * adjusteddist; //beregne ramte test, hvis (hindringer. hittestpoint (endx, endy, sande) {pauser), betyder det, at i stedet for at kontrollerefor en kollision på hver pixel i laser, vi tjekker kun for en kollision på hver pixel eller hver tredje pixel osv., lavere værdi for "tolerance" vil øge nøjagtigheden af de ramte påvisning, men kræver flere cpu 'er magt.prøv at eksperimentere med forskellige værdier for "tolerance"., venner, det er tid til at forlade den raket - og åbne faldskærmen.landet sikkert på jorden og begynde at anvende de ovennævnte teknik i dit syn spil og ansøgninger.nyd det!,, konklusion: i denne lektion vi hovedsagelig så perfekt udnyttelse af hittestpoint(), og for at skabe rammer, loop nøjagtig påvisning uden anvendelse af komplekse matematik. denne virkning kan anvendes i en sikkerhed type aktion kamp, hvor kameraer og laservåben er påkrævet.

LaserGenerator_Circle
ConvertToSymbol_Settings
Library_Panel
LaserGenerator_With_Mouth
ClassName_Field
Obstacles
Obstacles_MovieClip
LaserGun_Obstacles
LaserGun_Projecting_Laser
Laser_HitDetection
Laser_MaxDistance
Laser_AdjustedDistance



Previous:
Next Page: