Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-03-2005, 12:11   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 90
hitTest funktioniert nicht!! ;-(

Hi Leute,

irgendwie funktioniert hitTest bei mir einfach nicht.
Ich habe 2 MCs auf meiner Bühne (Test2 und Ergon). Ergon lässt sich per Tastatur steuern und Test2 ist fest (beide in der gleichen Ebene).

Bei dem Trace kommt immer false raus, egal ob sich Ergon über, neben, berührt oder sonst wo befindet.
Das hier ist der Code von Ergon (der einzige Code im Projekt):

onClipEvent (enterFrame) {
switch ( Key.getCode() )
{
case 37:
_root.Ergon._x = _root.Ergon._x - 4
trace(_root.Ergon.hitTest(Test2._x, Test2._y, true));
break;
case 38:
_root.Ergon._y = _root.Ergon._y - 4
break;
case 39:
_root.Ergon._x = _root.Ergon._x + 4
break;
case 40:
_root.Ergon._y = _root.Ergon._y + 4
break;
}
}

Danke schonmal im Voraus! :-)

Gruß Nova
Novanic ist offline   Mit Zitat antworten
Alt 17-03-2005, 12:16   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
trace( _root.Ergon.hitTest( _root.Test2 ) );
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 17-03-2005, 13:18   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 90
Ja, stimmt, jetzt funktioniert es! :-)

Kann man hitTest auch allgemein anwenden? Also ich hab mehrere Objekte "TLine" auf meiner Bühne, das sind alles MovieClips. Nun kann ich hitTest ja aber nur auf jeweils ein Objekt von "TLine" anwenden (wenn ich das Objekt z.B. "TLine1" nenne: "_root.Ergon.hitTest(_root.TLine1);" Aber kann man das auch allgemein für alle "TLine"-Objekte sagen? Weil ich hab ungefair 50 Stück von "TLine" auf meiner Bühne und das 50 mal durchlaufen zu lassen nur weil sich da eine Zahl ändert...

Also geht das z.B. so in der Art?: "_root.Ergon.hitTest(_root.TLine1);"

oder so?: "_root.Ergon.hitTest(_root.TLine + i);" Wobei i für eine Variable steht.

Danke schonmal! :-)

Gruß Nova
Novanic ist offline   Mit Zitat antworten
Alt 17-03-2005, 14:09   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Nur mal so zur Erklärung:
Dein hitTest hat auch funktioniert, aber Du hast nur einen Pixel getestet, also nur die Stelle Test2._x Test2._y, wenn Du den ganzen mc prüfen willst macht man das mit der Methode die ich Dir genannt habe.

So nun zu Deiner Frage:
Da ist es am besten wenn Du alle TLine-Objekte in einen mc packst.
Dann prüfst Du ob Dein mc Ergon diesen berührt und dann prüfst Du erst welches TLine-Objekt berührt wurde.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele