Geschrieben von mapmaster am 24.08.2004, 23:00

Wen schon immer der häßliche Windows-mauszeiger gestört hat, hat seit Flash MX die Möglichkeit, zumindest auf seinen Flashseiten einen eigenen, selbst erstellten Mauszeiger über den Bildschirm flitzen zu lassen. Dafür gibt es mehrere Methoden, die alle ihre jeweiligen Vor- und (wie alle tollen Dinge im Leben) auch Nachteile haben. Das nachfolgende Tutorial behandelt die einfachste und für die meisten Anwendungen ausreichende Methode.

Flash gestartet, neuen Film mit einem Bild aufgemacht, Aktioneneingabe auf Normalmodus gestellt? Dann geht es jetzt los:
Als erstes erstellen wir mit Strg+F8 einen neuen Movieclip, in den wir ein möglichst schönes, originelles und zweifelsfrei als Mauszeiger erkennbares Etwas malen. Wichtig ist hierbei, dass das kleine Positionskreuz in der Mitte des Movieclips die sensible Fläche des Mauszeigers sein wird - bei einem klassischen Pfeil sollte also die Spitze auf dem Positionskreuz liegen, bei etwa einem Fadenkreuz liegt selbiges natürlich in der Mitte.
Ist allen ästhetischen Ansprüchen genüge getan worden, geht es wieder zurück auf die Bühne, wo wir dem dort liegenden MC im Eigenschaften-fenster einen Instanznamen geben - zum Beispiel >zeiger< (Nein, wie originell...).
Der nächste Schritt: Wir verstecken den normalen Mauszeiger. Dabei hilft der Befehl

Mouse.hide();

der unter Objekte/Film/Maus/Methoden zu finden ist und den wir ins Aktionsfenster des ersten Bildes auf der Zeitleiste stecken. Wenn ihr jetzt den Film testet (mit Strg+Enter), ist tatsächlich nichts mehr vom Mauszeiger zu sehen (obwohl er trotzdem noch funktioniert). So wollen wir das natürlich nicht lassen (ausser, wir wollen ein sehr, SEHR schwieriges mausgesteuertes Spiel machen) - jetzt schlägt die Stunde des Movieclips, den wir vorher in einem Anflug von hemmungsloser Kreativität >zeiger< genannt haben.
Hier kommt der nächste Befehl ins Spiel:

start.Drag("");

unter Aktionen/Movieclipsteuerung. Das "drag" kennt ihr vielleicht aus "drag&drop" - im Prinzip ist damit gemeint, dass die Maus ein beliebiges Objekt quasi aufnimmt und mit sich herumzieht. Im Aktionenfenster finden wir im Kontextmenü weitere Optionen für den start.Drag-befehl: Unter "Ziel" wird der Pfad und der Instanzname des zu ziehenden Objektes eingegeben (also bei uns: _root.zeiger, das Kästchen "Ausdruck" hinter der Zeile wird NICHT aktiviert), und damit Flash unseren zeiger auch als Mauszeiger erkennt, wird noch das Kästchen "Maus zentrieren" angeklickt.
Nun noch den Movie testen - et voila, ein hoffentlich wunderschöner neuer Mauszeiger macht uns (innerhalb des Flashmovies) das Leben zur reinsten Freude.

Wo Licht ist , ist auch Schatten, und deshalb hat auch diese Methode einige kleine Nachteile:
1.) Die Geschwindigkeit des Mauszeigers ist framerate-abhängig. Wenn also euer Film nur mit 12 Bildern pro Sekunde läuft, wird auch euer Mauszeiger entsprechend ruckeln (32 bps ist meiner Erfahrung nach meistens der beste Wert für Movies). Wenn euer Film also tatsächlich mit 32 bps läuft, und ihr macht zu viele Alpha-tweenings rein, die den Film verlangsamen, verlangsamt das dann auch euren Mauszeiger.
Meistens ist das aber egal, und wenn euer Film ohnehin langsam läuft, habt ihr eh was falsch gemacht.
2.) Ihr könnt keine anderen Objekte mehr draggen (d.h. ihr könnt natürlich schon, aber dann bleibt der Mauszeiger halt irgendwo liegen). Das wird zum Beispiel zum Problem, wenn ihr etwa ein Inventory für ein Adventure machen wollt.
Für dieses Problem gibt es eine Lösung, aber dafür mach ich später mal ein anderes Tutorial.
3.) Unter Mozilla Firefox und anderen Alternativbrowsern wird manchmal, nachdem man mit der rechten Maustaste das Menü aufgerufen hat, der normale weiße Mauszeiger sichtbar.
Da die meisten Leute aber eh IE benuzen, ist das eher ein Randproblem (und wozu fummeln die Leute denn auch in euren Movies rum?).

Fazit: Ein einfacher und schneller Weg zum eigenen Mauszeiger.

Bewertung Anzahl
6
66,7 %
2 Bewertungen
4
33,3 %
1 Bewertungen