Archief - ActionScript 3.0

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Gurdt

Legacy Member
kben mezelf een beetje flash aant leren en ik ben op een probleempje gestoten waar ik niet meteen een oplossing voor vind:

er zijn 2 movie clips, en ik wil weten wanneer die elkaar raken, dus overlap ofzo
--
dus zoals een spelletje waarbij je op voorbijvliegende dingen moet schieten, wil ik weten wanneer uw kogel zo een ding raakt, dus eigelijk...

Chili Gonzalez

Legacy Member
Daarvoor gebruik je de functie hitTest.

Om een voorbeeldje te geven

Deze code komt dan in dit geval, in movieclip1

onClipEvent(enterFrame){
var geraakt:Boolean;
if(hitTest(_root.movieclip2)){
geraakt = true;
}
}

Uitleg:

hitTest gaat kijken wanneer de opgegeven parameter raakt met de movieclip waarin je deze AS-code gezet. Dit resultaat kan True of False zijn.

Indien dit True is, gebeurt er een bepaalde event (daarom de if functie) (in dit geval wordt "geraakt" true)
Je kan de "geraakt" variabele ook veranderen door meteen de event te schrijven (bv. doel._visible = false; // doel geraakt, dus doel verdwijnt)

Hopelijk snap je het zowat, anders laat je maar wat weten ;)

Gurdt

Legacy Member
Chili Gonzalez zei:
ja kdoe informatica, kweet wa een iftest enz is:')

maar ik dacht dat hitTest iets voor AS2 was

er zijn trouwens bij zulke functies nog complicaties, telt die hittest voor een boundingbox of voor de outer-border vn het object?

Recipe4hate

Legacy Member
Wat jij zoekt is de AS3 functie van een DisplayObject, genaamd hitTestObject(o : DisplayObject);
Voorbeeld:
return movieClip1.hitTestObject(movieClip2);

Je kan ook met o.hitTestPoint(x:Number, y:Number) werken.

Gurdt

Legacy Member
Recipe4hate zei:
Wat jij zoekt is de AS3 functie van een DisplayObject, genaamd hitTestObject(o : DisplayObject);
Voorbeeld:
return movieClip1.hitTestObject(movieClip2);

Je kan ook met o.hitTestPoint(x:Number, y:Number) werken.
straks eens proberen, maar als ik het nu al mag vragen: geldt dit dan voor de bounding box vn de movieclip of de visuele border?

alvast bedankt!

Recipe4hate

Legacy Member
Heb het even getest en het is inderdaad een bounding box die gebruikt wordt bij collision tests.

Gurdt

Legacy Member
hmm inderdaad, bounding boxed, maar misschien is er gewoon geen methode :(

Recipe4hate

Legacy Member
Er is geen andere methode, behalve degene die je schrijft ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan