Een snelle Hint: opsporing van de botsing tussen de Gemeenschap

, snelle tips: botsing tussen de,,,,,,,,,, 5, 11 - eenheid,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' dit artikel niet missen, is een reeks bekend als onderdeel van de reactie van de botsing en. Tip: een cirkel met een streep van de botsing tussen de opsporing, de opsporing van een botsing tussen twee overlappende, controleren of de vorm van een tak.Als je een spel van fysieke of van de actie, weet je zeker dat je je vlucht niet bekend met dit onderwerp.Dit is de eerste reeks over de botsing.In deze tip, we zullen zien in de methoden voor het opsporen van de botsing gerealiseerd, hittestobject (), schrijven, onze eigen detectie van overlapping tussen de twee ronde,,,, en dat het uiteindelijke resultaat bekijken, het is uiteindelijk de SWF 's zullen we in deze tip te creëren.Op de blauwe en groene cirkel slepen naar een.Als ze elkaar overlappen, groene ring zal het veranderen van kleur; als je een ronde, de andere weer groen.,, stap 1: de doos controleren, die vertrouwd zijn met de methoden 2 zou gerealiseerd, hittest ().Dit commando overlapping tussen de twee vormen van onderzoek, of een vorm van een beetje elkaar overlappen.SCRIPT 3 is gesplitst in twee afzonderlijke methoden, hittestobject () (),,, hittestpoint.We zullen zien, hittestobject (), de eerste.Dit commando meestal voor een doos van de botsing (vierkant of rechthoekig).De vorm van de grens een beeld, wanneer deze rechthoek overlappen, hittestobject (), terug.De volgende voorbeelden, kijk.Pak de blauwe doos tot een groene.Als ze elkaar overlappen, groene doos donker.,, ik heb hier de scenario 's die de invoering van de desbetreffende hierboven.En de doos, is een speciale soort, gemakkelijk kunnen worden geproduceerd vierkant.Ik zal de bron van de soorten in de MAP is opgenomen, zie je ze.Botsing van belangrijke tekst hieronder aangegeven invoer. {flash.display.graphics; de invoer van flash.display.sprite; de invoer van flash.events.mouseevent; /* * auteur @ hittest doos hajime * /[SWF 's (met een breedte van 400, hoogte = 300)] van de eenvoudige uitbreiding van de VAR - 1: particuliere Sprite {doos van openbare functies eenvoudig (: vak; (1) = nieuwe doos (0x0000ff); addchild (1); 1. X = 250; 1. Y = 250; 1. AddEventListener (mouseevent.mouse_down, beginnen); 1. AddEventListener (mouseevent.mouse_up, einde); zaak = nieuwe doos (0x00ff00); addchild (vak); zaak. X = 100; doos. Y = 50;} privé functie (E:MouseEvent): {e.target startdrag (); e.target.ad ongeldig is.Deventlistener (mouseevent.mouse_move, controleer de functie aan de (particuliere);} {E:MouseEvent): e.target ongeldig is. Stopdrag (); e.target. RemoveEventListener (mouseevent.mouse_move, controle);} particuliere functie inspectie (E:MouseEvent): ongeldig als (e.target. Hittestobject (Box2)) box2.color = 0x00aa00; andere box2.color = 0x00ff00;}}}, stap 2: de nadelen, de rechthoek, maar niet doeltreffend tegen de Gemeenschap gebruik van dit bevel.Controleer de volgende presentatie.De blauwe cirkel tot een groene.Ze hebben de vorm van vóór de botsing, vak overlappen, hittestobject (), is echt.We moeten een betere oplossing voor dit probleem is, niet alleen de algemene, maar niet vierkante vorm van de botsing.De waargenomen.Organische vorm, zijn moeilijk op te lossen veelhoekige, we moeten gebruik maken van pixel nauwkeurige botsing botsing, niet precies, verschillende, door de hittestobject.Stap 3: de afstand tussen de centrale en de oplossing van dit probleem is zeer eenvoudig: wij moeten de afstand tussen het midden van de meting van deze cirkel.Als deze centra dicht genoeg bij de, zullen we de vlag als waar de botsing.Maar hoe dichtbij genoeg?,,, de afstand van de ronde.Aan de top.R, 1, verwijst naar de circle1 en de straal R, 2, verwijst naar de straal van de cirkel.De afstand tussen de berekening van rond elk frame.Indien (en alleen als) is gelijk aan of kleiner dan twee straal en (R, 1 + R, 2), moeten twee kringen dan contact of overlapping van stap 4:.,, de cyclus van de botsing, dit is voor de uitvoering van de actie: een belangrijk concept, de minimale afstand = circle1.radius + ring. Straal;, privé - onderzoek (E:MouseEvent): ongeldig {VAR afstand: de hoeveelheid = geblokkeerd. De stelling van circle1. X, Y, circle1. Ring ring. X. Y); als (afstand < = = = = = = = 0x00ffaa circle2.color mindist); andere circle2.color = 0x00ff00;}, en stap 5: oplossing van het monster, dit is een een oplossing van de monsters.Trek aan de groene richting blauwe cirkels.Als zij elkaar overlappen, je ziet groen van kleur veranderen.Het is niet de terugkeer naar de normale kringen botsing.,, ik heb de volgende behandelingen om de invoer van flash.display.sprite {. Pakket; de invoer van flash.events.mouseevent; * * * * * * * * * * * * * * 2 ring van eenvoudige /botsing @ auteur in * /[SWF 's (met een breedte van 400, hoogte = 300)] open simple3 uitbreiding Sprite {particuliere var circle1: ring de ring, ring:; particuliere var afstand: nummer; de functie van simple3 () {circle1 = nieuwe ring (0x0055aa, addchild (30); circle1); circle1. X = 250; circle1. Y = 250; circle1. AddEventListener (mouseevent.mouse_down, beginnen); circle1. AddEventListener (mouseevent.mouse_up, einde); de nieuwe ring (0x00ff00 cirkel = 30); addchild (ring); x = 1 ring.00; ring. Y = 50; afstand = circle1.radius + circle2.radius;} privé functie (E:MouseEvent): {e.target ongeldig is. Startdrag (); e.target. AddEventListener (mouseevent.mouse_move, controleer de functie aan de (particuliere);} {E:MouseEvent): e.target ongeldig is. Stopdrag (); e.target removeEventListener (mouseevent.mouse_move, onderzoek).;) particuliere functie inspectie (E:MouseEvent): ongeldig {VAR afstand: de hoeveelheid = geblokkeerd. De stelling van circle1. X, Y, circle1. Ring ring. X. Y); als (afstand < = = = = = = = 0x00ffaa circle2.color mindist); andere circle2.color = 0x00ff00;}}}, conclusies, als je kan. Gezien het fundamentele beginsel van de botsing met wiskundige formules om te controleren of de overlapping van de verschillen tussen deIn verschillende vormen.Vector wiskunde speelt ook een belangrijke rol.De volgende is een cirkel met een streep van de botsing tussen.Dank u voor te lezen, en je snel zien.





Previous:
Next Page: