Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-02-2005, 15:53   #1 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
mouse innerhalb flashfenster ckeck

hi
kann mir mal jemand eine stueck actionscript posten mit dem ich abfrage ob die maus im flash fenster ist oder nicht, es darf nur keine button sein heisst, es soll nicht die gesamte stage wie eine button reagieren und den mauszeiger in einen klick zeiger verwandeln.

vielen dank!

Geändert von rib (25-02-2005 um 15:54 Uhr)
rib ist offline   Mit Zitat antworten
Alt 25-02-2005, 15:57   #2 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
Zitat:
es darf nur keine button sein heisst, es soll nicht die gesamte stage wie eine button reagieren und den mauszeiger in einen klick zeiger verwandeln.
warum nicht?

Code:
deinButton.useHandCursor = false;
zeigt dann keine Hand
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 25-02-2005, 16:01   #3 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
das problem bei einer button ist das sich in dem screen weitere buttons befinden.
wenn ich nun von einer dieser buttons runtergehe, nimmt flash das automatisch als rollover fuer die screen button, das darf nicht passieren. es muss eine erkennung sein die unabhaengig von allen anderen buttons im screen erkennt ob sich die mouse im flash fenster befindet oder nicht

Geändert von rib (25-02-2005 um 16:03 Uhr)
rib ist offline   Mit Zitat antworten
Alt 25-02-2005, 16:11   #4 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
ActionScript:
  1. _root.onEnterFrame = function()
  2. {
  3.     var width:Number = 550;
  4.     var height:Number = 500;
  5.     if ( _xmouse > 0 && _xmouse < width && _ymouse > 0 && _ymouse < height )
  6.     {
  7.         trace( "drin" );
  8.     }
  9.     else
  10.     {
  11.         trace( "draußen" );
  12.     }
  13. }

leider schaff ich es nicht, die Breite dynamisch auszulesen.. Stage.width & Stage.height ist irgendwie komisch und verändert sich dauernd..

außerdem wirst du damit probleme haben, denn es wird nicht überprüft, wenn du außerhalb der swf bist.
pokepika ist offline   Mit Zitat antworten
Alt 25-02-2005, 16:18   #5 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
womit? mit deinem script oder mit stage._width und _height?
ich hatte schon probiert das ganze so abzufragen:
ActionScript:
  1. if(_root._xmouse>_root._x && _root._xmouse<_root._width && _root._ymouse>_root._y && _root._ymouse<_root._height){
  2.         trace("inscreen");
  3.     }
das funktioniert aber nicht selbst wenn ich die maus auserhalb des screens habe
meint flash noch das sich die maus drinnen befindet.
rib ist offline   Mit Zitat antworten
Alt 25-02-2005, 16:30   #6 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
Zitat:
womit? mit deinem script oder mit stage._width und _height?
allgemein, weil sich Flash die letzte Postion der Maus merkt und diese - solange die Maus sich nicht im Film befindet - so bleibt.. :|
pokepika ist offline   Mit Zitat antworten
Alt 25-02-2005, 17:50   #7 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
hat denn keiner ne loesung parat, ich denke hier im forum sind so viele schlaue koepfe.
rib ist offline   Mit Zitat antworten
Alt 25-02-2005, 18:23   #8 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
das ja, aber es gibt nicht immer nur eine Lösung.

versuch mal das:

Code:
Stage.scaleMode = "noScale";
_root.createEmptyMovieClip("watcher",1);
with(watcher){// dient nur zum schauen
moveTo(0,0);
lineStyle(0,0x444444,100);
lineTo(Stage.width-20,0);
lineTo(Stage.width-20,Stage.height-20);
lineTo(0,Stage.height-20);
lineTo(0,0);//bis hier
} 
watcher._x = 10;
watcher._y = 10;
_root.watcher.onMouseMove = function () {
if(_root._xmouse <= 10 || _root._xmouse >= Stage.width-10 || _root._ymouse <= 10 || _root._ymouse >= Stage.height-10){
_root.out.text = "Ich bin draussen"; //das mit trace ersetzen
}// oder Textfeld out auf die Bühne legen
else _root.out.text = "Ich bin drinnen";//das mit trace ersetzen
updateAfterEvent;
}
onEnterFrame ist ev. nicht schnell genug, um mitzukriegen, ob die Mouse außerhalb.
Besser noch einen Spielraum von 10 Pixel zum Rand lassen
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®

Geändert von nullidee (25-02-2005 um 18:25 Uhr)
nullidee ist offline   Mit Zitat antworten
Alt 28-02-2005, 15:56   #9 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
funktioniert leider nicht stabil genug, ich musste haufenweise button abfragen mach um diese anscheinend doch grosse problem zu loesen und es hat immer noch ein paar kleine schoenheitsfehler.

hatte nicht gedacht das selbst in der 7er flash version sowas noch so ein problem darstellt.
rib ist offline   Mit Zitat antworten
Alt 12-07-2005, 12:04   #10 (permalink)
Kitzlerelch
 
Registriert seit: May 2005
Beiträge: 13
Hi,

hab gerade das gleiche problem, hat in der Zwischenzeit vielleicht jemand eine Lösung gefunden bzw. einen anderen Lösungsansatz?

DerGruß.
rakke ist offline   Mit Zitat antworten
Alt 12-04-2007, 22:12   #11 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 11
Ja, hier gibt es die einzig wahre ;-) Lösung, die im Gegensatz zu den anderen wirklich einigermaßen funktioniert:

PixelagentsBlog: Mouse hat Stage verlassen in Actionscript

Gruß, _Jerry
2domby 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 23:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele