PDA

Volledige versie bekijken : hitTest shape vs shape


Abel
%Europe/Berlin %685 %2006, 17:26
kan iemand uitleggen hoe ik dat gebruik?
Ik weet dat als ik
if (mc1.hitTest(mc2)) {
code
}
gebruik het de hele mc (ook het witte gedeelte dus in een rechthoek) gebruikt maar ik had gelezen over dat er nieuw in flash 8 een shape vs shape dat niet het witte gebruikt maar stond niet bij hoe je het gebruikt (ergens op dit forum). Dus zou iemand dat uit kunnen leggen?

marcvz
%Europe/Berlin %894 %2006, 22:27
Staat er wel hoor:
http://flashfocus.nl/forum/showthread.php?t=14468&highlight=bitmapdata.hittest

Abel
%Europe/Berlin %343 %2006, 09:15
die thread had ik niet gezien ;) maarja
if (myBmp1.hitTest(new Point(circle._x, circle._y), 255, myBmp2, new Point(0, 0), 255))
zou jij me kunnen vertellen wat hierin hoort te staan?

SaphuA
%Europe/Berlin %422 %2006, 11:08
Abel,
Lees de text dat erboven staat, anders moet je even wat duidelijk zijn.

~Sph

Abel
%Europe/Berlin %430 %2006, 11:19
Waarboven?

Abel
%Europe/Berlin %460 %2006, 12:02
heb er ff mee zitten kloten en het werkt wel, maar als het is ergens dan een gewone hittest, als ik op een afstand van ~30 pixels sta traced hij een hittest..:S

Emveedee
%Europe/Berlin %461 %2006, 12:03
Je moet de shapeflag op true zetten

dus bijv

_root.mc1.hitTest(_root.mc2, true);

Dan zou hij de exacte vormen moeten gebruiken

Ruben!
%Europe/Berlin %693 %2006, 17:38
Emvedee heeft gelijk. citaat uit het boek Flash MX ActionScript, auteur Bob van Duuren:
De detectiewijze van hitTest() is een Booleaanse waaarde die bepaalt of het selectiekader (false) of de daadwerkelijke vorm van het object (true) wordt gebruikt bij het bepalen van de botsing. Het selectiekader is altijd rechthoekig of vierkant en omsluit het volledige object. Als u deze manier van dectectie met een cirkel wilt gebruiken, is het over het algemeen verstandig de voorwerpvorm te gebruiken, en de waarde dus "true" te maken.
Dus het voorbeeld van Emvedee zou iig moeten werken;)

greetzz
Ruben alias RC*D.Sign

behived
%Europe/Berlin %297 %2006, 08:07
@ RCdesign
volgens mij werkt die toevoeging van true aan hitTest enkel met een movieclip en een x en y coördinaat op de stage en niet met 2 movieclips

Ruben!
%Europe/Berlin %436 %2006, 11:27
tsja nu ik dat stukje in het boek eens aandachtiger doorlees, zou dat idd best kunnen :# :X oepss! sry;) maar hoe moet het dan wel...?

Abel
%Europe/Berlin %517 %2006, 13:25
door er een true achter te zetten gebeurd er nog steeds niks...:S maarja de vraag is dan, hoe moet het dan wel?:p

behived
%Europe/Berlin %560 %2006, 14:27
heb je gekeken naar de link die marcvz voorstelde?

Abel
%Europe/Berlin %642 %2006, 16:24
Ja ik heb alles heel vaak doorgelezen en snap er geen **** van :S ipv links te geven of vragen te stellen zou niet iemand het gewoon uit kunnen leggen?veel simpeler

Eric
%Europe/Berlin %656 %2006, 16:45
Nou volgens mij is dit (http://flashfocus.nl/forum/showpost.php?p=117772&postcount=7) een redelijk duidelijk voorbeeld.

wat heb je zelf al geprobeerd? en wat werkt er niet?

SaphuA
%Europe/Berlin %783 %2006, 19:48
Nogmaals, lees de text die erboven staat:
// if (myBmp1.hitTest( // De check met eerste bitmap
// new Point(circle._x, circle._y), // Huidige positie van eerste bitmap
// 255, // Toegestane verschil in alpha
// myBmp2, // Tweede bitmap
// new Point(0, 0) // huidige positie van tweede bitmap
// )) {