Abfrage der anderen Maustasten (Mausrad)

Solenne

Grünschnabel
Hallo zusammen,

ich würde gerne das Klicken des Mausrades abfragen. Bisher herausgefunden habe ich, das man dies über Key.isDown(4) tun kann, aber dazu benötigt man dann ja ein Event, zu dem diese Abfrage gestartet wird.
Als eigentlich passendes Event fiel mir onKeyDown() ein, aber damit scheint es nicht zu funktionieren. Zumindest wurde nichts innerhalb der Schleife
if (Key.getCode() == 4) {

}
ausgeführt.
Deshalb nun meine Frage: sollte es prinzipiell möglich sein, das Drücken des Mausrades auf diesem Weg abzufragen? Gibt es sonst einen anderen Weg?
Über die Maus selber lässt sich, soweit ich es bisher herausfinden konnte, nur das Drehen des Mausrades abfragen, nicht aber das Drücken. Ist das richtig?

Ich habe bisher nirgendwo etwas zu diesem Thema gefunden, ich hoffe, hier kann mir jemand weiterhelfen.
Vielen Dank schonmal für das Lesen,
Solenne
 
Hi und willkommen im Forum,

wenn es mit einem Listener nicht klappt, könntest Du Dich vielleicht mit einem Workaround behelfen:
Code:
var middleKey = false;

this.onEnterFrame = function() {
	if (Key.isDown(4)) {
		if (!middleKey) {
			trace("Geklickt!");
			middleKey = true;
		}
	} else {
		if (middleKey) {
			trace("Losgelassen");
			middleKey = false;
		}
	}
}
Alternativ (um bei der Latenz nicht von der Framerate abhängig zu sein) könntest Du statt onEnterFrame ein Intervall verwenden.

Gruß
.
 
Hallo und vielen Dank für die schnelle Antwort!

Eigentlich würde ich gerne umgehen, permanent abfragen zu müssen, ob die Taste gedrückt wurde. Das Projekt ist etwas größer, und die ständige Abfrage würde mir zu viele Ressourcen fressen.

Mich wundert, dass ich zwar über eine Key Methode abfragen kann, ob die Taste gedrückt wurde, dass aber das KeyDown Event nicht ausgelöst wird. Das ist wirklich schade.
Oder habe ich nur etwas übersehen?

Viele Grüße
 
Hi,

mir war diese Möglichkeit (Abfrage der mittleren Maustaste) bislang nicht bekannt und dokumentiert ist sie m.W. ebenfalls nicht. Unter AS 2.0 feuern anscheinend keine Listener, wenn diese Taste gedrückt wird.

Andererseits: Auch bei einem größeren Projekt dürfte eine globale onEnterFrame-Methode mit dieser Abfrage nicht viele Ressourcen fressen - ich würde das Ding auf _root definieren und dort nur noch abfragen, über welchem Objekt sich der Mauszeiger zum Zeitpunkt des Klicks befindet.

Gruß
.
 
Zurück