hittest()

GeorgMeyer

Mitglied
hab da ein problem mit flash,vieleicht kann mir ja
jemand helfen.

es befinden sich 100 mc's auf der Bühne. 50 'rote' und 50 'blaue'.
wie kann ich jetzt festellen ob 2 davon kolidieren ?
un wenn, wie lese ich deren Instanzname aus ?
hittest() ?


danke im voraus.
 
also erstmal würd ich alle instanzen durchnummeriert benennen. z.b.
blau1, blau2, blau3.... und rot1, rot2, rot3...

zum gucken ob die sich überschneiden kann man dann ne schleife nehmen die in etwa so aussehen könnte:

for (i=1; i<51; i++) {
for (a=1; a<51; a++) {
if (_root["rot"+a].hitTest(_root["blau"+i])){
trace ("Aua!");
}
}
}

die schleife ist jetzt dafür ausgelegt das es 50 rote & 50 blaue gibt.

allerdings geht flash gerne mal in die knie bei schleifen solcher größenordung. zumindest wenn man dauernd (on clipevent enterframe) kontrolliert ob die blauen & roten sich hauen oder nicht...
 
erstmal danke für dein Lösungsvorschlag.
hab ich leider auch schon versucht.
Ist aber leider völlig unbrauchbar, weil
flash das einfach nicht packt (athlon 900/512Mb).

Die kollisionsabfrage müßte von den einzelnen MC's
selber ausgehen."Wenn Kollision,dann prüfen wer usw."
 
"Wenn Kollision,dann prüfen wer..." geht leider nicht.
es geht ja nur wenn enterframe (also immer) dann prüfen ob kollision, dann prüfen wer.

du kannst höchsten sagen das nur jeden 3. oder 4. frame geguckt wird ob nen kollision gerade stattfindet oder nicht.
aber so oder so wirst du mit 50 oder 100 objekten nicht glücklich werden. bis 20 dürfte das noch gehen, danach wird´s kritisch.
 
hier ist eine möglichkeit hittest zwischen bis zu 3000 objekten auch auf langsamen rechner zu prüfen, allerdings nicht wirklich idiotensicher, bzw um es anders zu formulieren: wirklich viel anspruchsvoller geht´s nicht.

es geht auch nur wenn nur ein objekt sich bewegt und die anderen vielen sich nicht bewegen.
dann wird je nach dem im welchen (vorher eingeteilten) sektor sich der bewegliche mc befindet nur umliegende feste mcs geprüft.
auf jeden fall ein interessanter ansatz von jemandem der wirklich ahnung hat, aber je nach dem was man vorhat vielleicht ein wenig zu komplex...
 

Anhänge

  • hittest.zip
    8,5 KB · Aufrufe: 64
ja, ich glaub damit läst sich was anfangen.
Ich sag dir mal bescheid, wenn es dann fertig ist.(dir blauen gegen die roten) :)

thanks kuat.


love and peace,
Georg Meyer.
 
Zurück