Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-02-2006, 21:04   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 61
HitTest für Buttons

ich lasse mir n Buttons in einem Movie erzeugen, die innerhalb des Movies in einem Array (Buttons) gespeichert werden. Nun müsste ich aus einem untergeordneten MovieClip mir ermitteln, ob die Maus über einen Button sich befindet und wenn ja über welchen. Das ganze läuft in eine OnEnterFrame - Event. Hierzu habe ich folgende Funktion geschrieben:

Code:
  onClipEvent(enterFrame) {
     
     ...
     with (_parent._parent._parent) {
        ...
        with (_parent._parent) {
             for (i=0; i<=buttons.length; i++) {
                trace("Prüfe :" + buttons[i]._name); // wird korrekt ausgegeben
                if (buttons[i].hitTest(_root._xmouse, _root._ymouse)) {
                   ...
                   break;  
                }

             }
        }
     }
  }
Nur leider funktioniert dieses nicht. Warum? Eine andere alternative für mich wäre ich würde einen Mausbutton-Klick-Event schicken. Aber wie?

Sascha
Sascha Laurent ist offline   Mit Zitat antworten
Alt 01-02-2006, 22:18   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
weil die globalen koordinaten anders sind, als die localen im mc/button
versuch mal das da:

if (buttons[i].hitTest(buttons[i]._xmouse, buttons[i]._ymouse)) {
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 02-02-2006, 17:51   #3 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
kannst du nicht einfach mit dem onRelease Event und useHandCursor = false arbeiten ?
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 02-02-2006, 18:22   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 61
Habe fehler gefunden. Danke!!!

Wenn ich folgenden Code schreibe

Code:
trace("Prüfe [" + i + "]:" + buttons[i]._name);
trace("X-Mouseposition: " + b1._xmouse);
trace("Y-Mouseposition: " + b1._ymouse);
trace("X-Mouseposition: " + buttons[i]._xmouse);
trace("Y-Mouseposition: " + buttons[i]._ymouse);
trace(buttons[i].hitTest(buttons[i]._xmouse,  buttons[i]._ymouse));
erhalte ich folgende Ausgabe:

Code:
Prüfe [0]:b1
X-Mouseposition: 29
Y-Mouseposition: 6
X-Mouseposition: 29
Y-Mouseposition: 6
undefined
Prüfe [1]:b2
X-Mouseposition: 29
Y-Mouseposition: 6
X-Mouseposition: -41
Y-Mouseposition: 6
undefined
HitTest gibt es anscheinend nur für MovieClips. Finde ich persönlich etwas b.... (nur so als Anmerkung). Danke für eure Hilfe.
Sascha Laurent ist offline   Mit Zitat antworten
Alt 02-02-2006, 21:48   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
ah, sorry, nicht drann gedacht.
kommt halt daher, weil reine buttons etwas aus der mode kommen. dafür nimmt man immer öfters auch mc's.

pack deine buttons in mc's rein. die kannst du dann hitTesten und deine buttons bleiben buttons.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (02-02-2006 um 21:51 Uhr)
hgseib 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:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele