van het gezichtsveld, gebruik te maken van de vector van de regionale uitvoering van de horizon in flash Game,,,,,,,,,, delen, 5 delen,,,,,,, de delen van het netwerk, maandag wat In tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, in deze handleiding zal je leren hoe te gieten die bewaker op het gebied van een specifieke locatie van de standpunten.Als een vijand in de toren in het gezichtsveld van de toren aan, ze schieten.Vector wiskunde gebruikt zal worden om te helpen bij de uitvoering van dit gebied, aan het eind van de standpunten bekijken, laten we eens kijken naar de resultaten van de laatste, we zullen proberen.Op het podium en klik op de bodem van de simulatie, stap 1: gezichtsveld, geloof ik dat de meeste lezers zijn het gebruik van camera 's.Alle camera 's zijn een perspectief, een definitie van het type door de lens.Een smalle en breed perspectief.Vanuit het oogpunt van de standpunten op het gebied van beperking van de standpunten in een sector.Van een top - down - positie. Ze ziet eruit als een figuur.Als je foto 's, alles grijs gebied wordt gevangen.In de simulatie, toren visie als een camera.Als er een vijand in het gezichtsveld, een bewaker zal reageren (akoestisch alarm, richten, schieten, enz.).Normaal gezien, is gelijkheid van links en rechts.De straal van de cirkel is ook in de hele sector zal zijn.Derhalve moet worden onderzocht, een vijand is niet in de toren van de visie van deze twee voorwaarden, wiskunde kunnen worden gebruikt: de afstand tussen de torens en de vijanden van minder dan straal van zicht op de vijand, die vanuit het oogpunt van de hoek van minder dan 30.In dit geval, rekening houdend met de vervoerder, vline2 vline3,,,.We kunnen vline2 en vline3:,, vergeleken met de omvang van de maatregelen na te gaan of aan de voorwaarde van 1 2, in vergelijking met de hoek en vline3 geklemd tussen de 2 vline2 na te gaan of aan de voorwaarde van stap 2, door gebruik te maken van de vector,. Tussen de formule van de hoeveelheid product, die we kunnen vinden... In de hoek tussen twee vectoren.Ik heb ook een presentatie voor je begrip.Klik op de bodem van de doos, hier is, vector2d (ik reeds tijdens eerdere behandelingen, de opleiding, het werk doen.Let op, 257 rij helpen bij het bepalen van de vooruitzichten voor de negatieve of positieve kant is.Maar dit is niet van plan om hier om ons te helpen richting is niet belangrijk.In het volgende deel van deze reeks, meer over dit onderwerp een verklaring voor het verkrijgen van kleinere, /* * * * * * *. Vanuit het oogpunt van de grootte, de huidige koers, gevangen in de input - * * * * * * * * * * * * * * de vector beperkt Param vector2 @ antwoorden zijn vanuit het oogpunt van de hoek, is de wijzers van de klok mee, negatief is tegen de wijzers van de klok in de functie van de hoek (* * * * * * * /vervoerder: vector2d): ///////hoeveelheid (verkregen uit norm1:vector2d = het vector var. Normalise (); de VAR - norm2:vector2d = vector. Normalise (); ///////- punt van de drager van dat product, hoek van producten: - = aantal norm1. Dotproduct (norm2); producten = wiskunde. Min (1. Producten); de hoek: = aantal wiskundige. "(De producten); ///////de hoek als dit. Vectorproduct (vervoerder) < 0 = - 1) hoek naar hoek;}, uitvoering, stap 4:Mijn mentale toestand, met inbegrip van het volgende aangetoond dat het concept van de horizon.Te klikken en die grotere cirkel van grey.Door de duisternis van de regionale vertegenwoordiging van die visie.,, stap 5: belangrijke actie, als je wilt dat de hierboven beschreven behandelingen, open, appfan.as, downloaden van de toelichting van de bron te begrijpen.Ik kan hier alleen maar fragmenten van de belangrijke, de voorwaarden te controleren. - en ik leg de nadruk op elke kleine punten op het podium te beoordelen, om te zien of het wijzen op de toestand in de regio, een verklaring voor de berekening van de omvang en de hoek van ///////var vline2:vector2d = nieuwe vector2d (B2 - X, Y. X - B1 B2, B1. Y); var. Vline3:vector2d = nieuwe vector2d (B3. X X, B1, B3. Y - B1. Y); var. E.ON: = aantal wiskundige. ABS (vline2. Hoek (vline3)) /eliminatie de hoek var mag richting kenmerken: het aantal = vline2. Getmagnitude (); elke (VAR - project: de bal in de SP) {VAR vparticle1:vector2d = nieuwe vector2d (project. X - B1. Het project X. Y - B1. Y); ////////voorwaarden als in de sector Onderzoek en de grootte van de deeltjes: minder dan mag de hoek en de relatie tussen wheelingE2 als (lager dan wiskunde. ABS (vline2. Hoek (vparticle1) < en & & mag > vparticle1. Getmagnitude () {}) item.col = 0x000000; ///////buiten de oorspronkelijke paragraaf als andere kleuren, item.col = 0xcccccc; b) projecten. (;}, stap 6: veranderd. De toevoeging van veranderingen van het gebruik van dat gebied, kunnen we overal verval.In feite, maar we hebben veel aandacht.De verzwakking van de voor de ver, ver weg van de vijand, dan ver mogen niet gezien worden door verval van de afstand) van de toren.Voor de demping in de buurt, te dicht bij de vijand (minder dan in de buurt van de demping) niet kan worden gezien van de toren.Dat klinkt redelijk, maar stel je voor, als de vijand in de afgrond rechts zit in de hoge rotsen, oké, misschien je toren, er niet van overtuigd, dus hier is een ander voorbeeld van, de verschillende gebruiken.Een bewaker met een zwaard, een boog en pijl.Als de vijand te ver weg, hij wil alleen maar ogen dicht.Als de vijand verscheen op een schietbaan, hij schoot een pijl.Als de vijand te dichtbij, hij met een zwaard vechten.Je kan zelfs de bewakers om verschillende soorten: Archer, zwaardvechter.In de verwerking door vijandelijk vuur in Archer en in de buurt van de dolende Ridder. Naar stap 2, onder de voorwaarden van de veranderingen kunnen worden opgenomen in ons simulatie of spel.,, 7 stappen: de definitie van de voorwaarden, met inbegrip van het gezichtsveld, ik heb een demo met verschillende gevallen de desbetreffende voorwaarden te stellen.Klik op de knop naar verschillende situaties.,, salaristrap 8: de voorwaarden op het gebied van de voorwaarden voor de uitvoering van het programma, de volgende stap is in de code 7.Misschien wil je zien region2.as source code, en het toezicht op de uitvoering en /of elk beeld. De functie van de particuliere mobiele (E:MouseEvent): ///////ongeldig {var. De vijand g_e vector: vector2d = nieuwe vector2d (de vijand terug. X. X, de vijand. Y - verdediger. Y); het aantal var hoek: = R3. Hoek (g_e); ///////withinsector var: booleaanse = geblokkeerd. (wiskunde. ABS (-)) < sector; var withinr3: booleaanse = g_e. Getmagnitude () < 3. Getmagnitude (); De var - withinr2: booleaanse = g_e. Getmagnitude () < R2. Getmagnitude (); de VAR - withinr1: booleaanse = g_e. Getmagnitude (R1) <. Getmagnitude (); ///////slechte zaak als (bijvoorbeeld = = 0) {als (withinsector & & withinr3) {t1.text = "visie"} andere t1.text = "buiten het gezichtsveld"} anders als (bijvoorbeeld = = 1) {als (withinsector & & withinr3 & &.Withinr1) {t1.text = ", in de buurt van NFAR verval" anderen "buiten het gezichtsveld t1.text = {} (bijvoorbeeld anders als" tussen = = 2) {als (withinsector) {als (withinr1) t1.text = "als" het zwaard aanval (withinr2) t1.text = "schiet", of als "(withinr3) t1.text = aan de andere t1.text"} = "buiten het gezichtsveld"}} ///////- aanleg reactie op veranderingen in de context van de uitwisseling (E:contextmenuevent menu 's privé - functie): ///////de uitwisseling van voorbeelden als ongeldig {(e.target.caption = = & "; de FOV &")) = 0; als (e.target.caption = = & "; ver /in de buurt van de demping &") van de patiënten = 1; anders als (e.target.caption = = & "observatie /pijl /zwaard &")) = 2; ///////regionale richtlijnen opnieuw testenDe productie van de regionale drawregion ();}, stap 9: de uitvoering van, het is een idee van de verwezenlijking van de in stap 6 toegelicht.Klik op en slepen het zwarte cirkel rond om te controleren of het in de fase van zichtbaar licht binnen de regio 's.Op het podium klik - menu, en de keuze van de fundamentele visie "," ver /in de buurt van de demping "en" observatie /pijl /zwaard dat verschillende voorbeelden van scenario 's, 10:., stap in, nu alles wat we leren, we moeten het creëren van een simulatie.Hier is de scenario 's: een in het stadium van de kant van de toren.Het is de rol van zo veel mogelijk om zoveel mogelijk troepen in de ruimte.Natuurlijk, die zal moeten zien dat deze troepen (in het zicht), met het oog op de foto 's van laser - troepen en tot ziens.Want het kan in geen geval een laser schieten, het zal de keuze van de meest bij de vijand, en aan de andere kant, de troepen met succes zal proberen over te steken naar de andere kant.Ze moeten door een rivier, en als ze dat doen, zullen ze vertragen.Nu, deze troepen zullen de wedergeboorte van de Top fase als ze dood of ga van het podium af.,, stap 11: fundamentele vaststelling, uitvoering van dit voorbeeld zal codering hard.De instellingen zijn.We zullen in het starten van de grafische elementen (rivier, het leger, de toren) en de plaats waar het zo goed.Klik op de toren in het paars, animatie zal beginnen.We zien ze in elk beeld van animatie - op basis van de openbare taken van elk element van gedrag, scene1 () {maketroops () (); makeriver; maketurret (); de toren. AddEventListener (mouseevent.mouse_down, beginnen); de functie van () {: blanco - fase. AddEventListener (event.enter_frame, mobiele);}} particuliere verkeer functie (E: gebeurtenissen): ongeldig {behaviourtroops (); behaviourturret ();}, de volgende is van deze variabelen, privé - var - rivier: Sprite; particuliere eenheden: vector. < de bal > particuliere troopvelo:VAR vector. < vector2d > particuliere var een Sprite, privé - var - fieldOfView? Lineofsight:vector2d; particuliere var = nieuwe vector2d (0300); van het noorden van var - sectorofsight zicht /particuliere: hoeveelheid = 20 //communicatieNa de helft van de sector, in de mate van het,, stap twaalf: de tekeningen en de positie van de rivier.Heel eenvoudig, private functie makeriver (): ongeldig {rivier = nieuwe elf;; ///////addchild (rivier) aangewezen locatie & grafische weergave van de rivieren (rivier) {x = 0; y = 150; grafische. Beginfill (0x22bbdd, 0,2); grafische. DrawRect (0, 5, 50); grafische (). Endfill;}}, stap 13: de opstelling van de strijdkrachten en de locatie van de strijdkrachten van de eenvoudige kaart.Ik wil echter in het leger, die een "5".Dus ik in de eerste plaats op de bodem van de "vijf", en dan in het leger aan beide zijden van de vleugels te volgen.Misschien moet je de aanpassing van de centrale positie van het centrum, en de afstand tussen de xapart troepen door de,,, yapart,.Opgemerkt moet worden dat, het leger, en de overeenkomstige, troopvelo, dezelfde index.Alle troops zijn op weg south., private functie makeTroops ():. {troops = nieuwe Vector.< Ball> //Initiate troops troopVelo = nieuwe Vector.< Vector2D> //initiate snelheid //local of var center:Vector2D = nieuwe Vector2D (stage.stageWidth * 0,5, 150); var xApart:int = 20; var yApart:int = 15; //Locating velocities troops & var a:Ball = nieuwe bal. Stage.addChild (a); troops.push (a); a.x = center.x; a.y = center.y; //troops post - var aV:Vector2D = nieuwe Vector2D (0, 1); troopVelo.push (AV); voor (var i:int = 1; I < 11; I + +) {VAR b:Ball = Nieuwe bal. Stage.addChild (b); troops.push (b); b.x = center.x + I * * * * * * * xApart; b.y = center.y - i * * * * * * * yApart; var bV:Vector2D = nieuwe Vector2D (0, 1);Troopvelo. Duw (bv); c = nieuwe bal var: de bal; fase. Addchild (C); voor het leger. - (C); C.X = centrum. - ik xapart; de haven in het centrum. Ik yapart; var - cv: vector2d = nieuwe vector2d (0 en 1); troopvelo duwen (cv. {});,, stap 14: opstelling en - toren, hier, zullen we dat de positie van de toren, en het Oosten, de Noord - en de visie van de vijand.Naar het noorden op zicht, private functie maketurret () {///////:void geconcretiseerd, locatie, Oost toren = nieuwe elf; het podium. Addchild (toren); de toren. X = stage.stagewidth × 0,5, toren. Y = stage.stageheight; turret.rotation = 90; turretrot = 2; //////////////W:int snelheid van de tekening van een reactieve = 30; var H:int = 10; toren. Figuur. Beginfill (0x9911aa); de toren. Grafische. Type (2); de toren. Grafische. Op (0, - H /2); de toren. Figuur. Lineto (G, H /2); de toren. Figuur. Lineto (G, H /2); de toren. Figuur. Lineto (0 /2); de toren. Figuur. Lineto (0 - H /2); de toren. Figuur. Endfill (); ///////de instellingen van mening van de grafische gegevens op het gebied van de VAR - punt: vector2d = nieuwe vector2d (0, 0); var.T2:vector2d = nieuwe vector2d (1 0); var criteria: vector2d = nieuwe vector2d (0, 0); 1. (lineofsight. Getmagnitude (), verstopping. Radianof (sectorofsight)); 2. Setmagnitude (lineofsight. Getmagnitude () /wiskunde. Want (verstopping. Radianof (sectorofsight))); (lineofsight. De polariteit. Getmagnitude (), verstopping. Radianof (- sectorofsight); ///////concretisering, locatie, locatie. FieldOfView = nieuwe elf gebied; addchild (fieldOfView); fieldOfView. X = toren. X; fieldOfView. Y = toren. Y; fieldofview.rotation = 90; ///////fieldOfView op het gebied van de standpunten. (0xff9933. Figuur. Beginfill, 0,1); fieldOfView. Grafische. Type (1); fieldOfView. Grafische. Op (0, 0); fieldOfView. Figuur. Lineto (1. De X - en Y - fieldofview.graphics.curve (1);De (x, Y 2. 2. De standaard. Punt X. Y); fieldOfView. Grafische. (0, 0); fieldOfView. Figuur. Endfill ();}, een klein detail hier tekeningen op het zicht.Ik op de foto onder omvat de volgende verklaring:, stap 15: het gedrag van de troepen, het leger zal in de tijd worden de animatie.Dit is hun gedrag.Let op, de laatste twee regels van de toelichting.Als je dood wil troops te worden verwijderd van de animatiefilm, je kan uncomment. //troops'aan particuliere, behaviourTroops (functie):. {//for dan voor (var. I:int = 0; I < troops.length; I + +) (//If dan bij de bodem van het scherm, reageer op de Top van het scherm Als (troops[i].y > stage.stageHeight) {troops[i].y = 0; troops[i].x = wiskunde. Willekeurige (*) (stage.stageWidth - 100) + 100;} //if wading door de normale snelheid, langzaam. ///////anders als (river.hitTestObject (troops[i])) troops[i].y + = troopVelo[i].y*0.3; anders troops[i].y + = troopVelo[i].y Dan is dood //If (alfa - < 0,05), reageer op de Top van het scherm als (troops[i].alpha < 0,05) {troops[i].y = 0; troops[i].x = Math.rand(de). * * * * * * * (stage.stagewidth - 100) + 100; troepen [M] = 0xcccccc. Col; troepen trekken [I]. (); de troepen [M] = 1; ///////. Fase. Removechild (eenheden [M]); het leger. Aansluiting (I, 1); ///////troopvelo aansluiting (. Ik, 1);}}}, 16: de handelingen, maatregelen die, na de toegang die bewaker was rond het gebied, maar in een hoek.Hier, ik heb de hoek tussen de definitie van 135 en 45 (met een zaklamp betreft).Als er een vijand in zicht en het zal aanvallen.Maar als er meer dan één vijand, dan kiest de laatste aanval, het gedrag van de toren. ///////behaviourturret (): private functie niet binnen de werkingssfeer van de toren (///////- 135 & 45 als (turret.rotation > 45) turretrot = 2 als (turret.rotation < turretrot = 2 /135) foto 's van de meest intieme /vijand in zicht van de grafische. Duidelijk ('); als (enemywithinsight ().= nul) (zie de vijand: ///////de laatste bal = enemywithinsight (VAR); target.col = 0; doel. B (); /Black & target.alpha = 0,2; ////////- toren op een verslechtering van de gezondheid van de vijand var turret2target:vector2d = nieuwe vector2d (doelstellingen. X X, toren. Het doelwit. Y - toren. Y); turret.rotation = geblokkeerd. (turret2target. Getangle ()); ///////de vijand weg getrokken grafische laserstraal. (2); grafische. MoveTo (x, y toren. Toren.); Grafische. Lineto (doelstellingen. X, Y) ///////.); geen vijanden in zicht blijven scannen, andere {turret.rotation + = ///////turretrot} beschouwen en zie die toren gebied volgens de toren een roterende; lineofsight.seta fieldofview.rotation =.Enkele (verstopping. Radianof (toren);}, stap 17: dichter bij de vijand zal zijn, in het licht van de toren in het vinden van de beste vijand van de laser in haar reactie.Kijk hoe het dichtst bij het vinden van de vijand, kijk naar de verwezenlijking van de volgende behandelingen. ///////terug, het dichtst bij de vijand in zicht enemywithinsight (privé - functie): bal {VAR closestenemy: bal = nul; de VAR - closestdistance: hoeveelheid = lineofsight. Getmagnitude (); elke (VAR - project: de bal in het leger) {VAR turret2item:vector2d = nieuwe vector2d (project. X - toren. Het project X. Y toren. Y); //////////////1 als de vijand binnen.In de sector van de horizon ///////////////////////////.Met het oog op ///////3.De beste vijand C1 bij dan var: booleaanse = wiskunde. ABS (lineofsight. Hoek (turret2item) < verstopping. Radianof (sectorofsight); c = turret2item var: Bull. Getmagnitude < lineofsight () (). Getmagnitude; var C3: - = turret2item doek. Getmagnitude () < closestdistance; ///////als aan alle voorwaarden voor vernieuwing closestenemy als (C1, C2 & & & & c) {closestdistance = turret2item. Getmagnitude (); closestenemy = projecten;}}}, stap terug closestenemy; 18: start de simulatie, nu kan je Op in de FlashDevelop en observatie van de CTRL simulatie.Klik op de toren aan de volgende stap: presentatie.,, een stap in de richting van 19, kunnen we gebruik maken van dit begrip, dat de visie, de vijand: de tenuitvoerlegging van de toren meer.,, veranderingen in de visie voor stap 9.,,,... Wacht eens even. Ik hoop dat Dit zal leiden tot een aantal ideeën, en kan helpen bij je volgende simulatie of spelletjes, conclusies, bedankt voor het lezen.Zoals gewoonlijk, een opmerking maken, laat het me weten, als dit om je te helpen.Ik schrijf een handleiding, zien hoe de vijand kan in de toren in het perspectief van de belemmeringen "verborgen" achter de rug.Let op,.,
Door gebruik te maken van de vector in regio 's die flash Game
Next Page:Van de training en fijne feestdagen.