Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-03-2005, 14:37   #1 (permalink)
-_-
 
Registriert seit: Dec 2002
Beiträge: 49
Question Mausposition außerhalb von Flash | ein Beispiel

Hallo!
Es gibt hier ja schon einige Beiträge in denen gefragt wurde, wie man feststellt ob die Maus auf der Bühne ist oder sie außerhalb rumgeistert. Eine Lösung für das Problem habe ich aber weder hier noch anderswo gefunden. Und dann bin ich auf das gestoßen:

http://www.fsi-viewer.com/?show=/fsi_plugins_demo.html
(auf der rechten Seite "Software Cursor" wählen!)

Da wird ein eigener Mauszeiger benutzt - ich würde das mit Mouse.hide() und einem der Maus folgenden MC machen. Wenn die Maus die Bühne aber verlässt, verschwindet das MC sofort und die normale Maus erscheint natürlich wieder. Wenn ich die Maus aus meinem Beispiel-Movie bewege, bleibt das MC an der letzten registrierten Mausposition stehen. Irgendwie müssen sie es also zuverlässig geschafft haben zu checken, ob sich die Maus auf der Bühne befindet oder nicht!

Hat irgendjemand eine Idee? Es scheint ja irgendwie möglich zu sein.

Geändert von Exuro (07-03-2005 um 14:39 Uhr)
Exuro ist offline   Mit Zitat antworten
Alt 07-03-2005, 16:17   #2 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hi.

Man könnte bei verlassen des Elements (Flash in HTML),
in Flash eine Funktion aufrufen,
in der z.B. die Maus ausgeblendet wird.
Hier mal der JavaScript Event http://de.selfhtml.org/javascript/sp...htm#onmouseout

Die Kommunikation mit Flash könnte z.B. über asfunction geschehen.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 08-03-2005, 02:15   #3 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Mich hat jetzt um die Uhrzeit leider etwas der Nerv verlassen.
Es funktioniert im Firefox Browser, aber nicht im IE komischerweise.
Insgesamt finde ich die Lösung allerdings nicht unbedingt so super,
weil immer ein setInterval in Flash aktiv ist um die Variable zu prüfen,
die durch JavaScript verändert wird.
Vielleicht kann man das auch anders machen. Ich gehe aber jetzt
gleich in die Falle.
ActionScript:
  1. /*
  2. Funktionen zum Zeiger ein- und ausblenden
  3. */
  4.  function ausblenden() {
  5.      _root.zeiger.unloadMovie();
  6.  }
  7.  function einblenden() {
  8.      _root.attachMovie("zeiger", "zeiger", 1, {_x:_root._xmouse, _y:_root._ymouse});
  9.      Mouse.hide();
  10.  }
  11.  /*
  12. Mit zeigerCheck wird geprüft, welchen Wert die Variable hat.
  13. Diese Funktion wird über das setInterval kontinuierlich aufgerufen
  14. */
  15.  function zeigerCheck() {
  16.      if (_root.info2_txt.text == 0) {
  17.          ausblenden();
  18.      } else {
  19.          einblenden();
  20.      }
  21.      updateAfterEvent();
  22.  }
  23.  einblenden();
  24.  setInterval(zeigerCheck, 1);
  25.  /*
  26. Mit den onMouseMove wird einfach der individuelle Mauszeiger
  27. bewegt und der Originalzeiger ausgeblendet.
  28. Dem Textfeld werden noch spaßeshalber die X-Koordinaten zugestellt.
  29. */
  30.  _root.onMouseMove = function() {
  31.      einblenden();
  32.      Mouse.hide();
  33.      _root.zeiger._x = _root._xmouse;
  34.      _root.zeiger._y = _root._ymouse;
  35.      updateAfterEvent();
  36.      _root.info_txt.text = _root._xmouse;
  37.  };
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
 <head>
 	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 	<title>Zeiger_ausblenden
 		  <script language=javascript>
 	<!--
 	function mach(){
 			 window.document.myFlash.SetVariable("myVar",0);
 	}
 	function mach2(){
 			 window.document.myFlash.SetVariable("myVar",1);
 	}
 	//-->
 	</script>
 </head>
 
 <body bgcolor="#ffffff" onMouseover="mach()" onMouseout="mach2()">
 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="myFlash" align="middle" >
 	<param name="allowScriptAccess" value="sameDomain" />
 	<param name="movie" value="Zeiger_ausblenden.swf" />
 	<param name="quality" value="high" />
 	<param name="bgcolor" value="#ffffff" />
 	<param name="myFlash" swLiveConnect="true">
	<embed name="myFlash" swLiveConnect="true" src="Zeiger_ausblenden.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="Zeiger_ausblenden" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
 </object>
 </body>
 
 </html>
Angehängte Dateien
Dateityp: zip zeigerAusblenden.zip (7,5 KB, 21x aufgerufen)
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------

Geändert von thebiz (08-03-2005 um 02:26 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 08-03-2005, 10:39   #4 (permalink)
-_-
 
Registriert seit: Dec 2002
Beiträge: 49
JavaScript scheint eine Möglichkeit zu sein. Auf der oben gezeigten Seite habe ich aber nichts dergleichen gefunden. Kein JS nirgendwo (oder ich habs übersehen, glaub ich aber nicht). Ich bin der Meinung, dass sie das irgendwie anders gemacht haben, habe aber absolut keine Idee mehr wie das funktionieren soll.
Exuro ist offline   Mit Zitat antworten
Alt 08-03-2005, 11:08   #5 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
such mal im forum.

elias hat schon eine sehr schöne variante dafür gefunden..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 08-03-2005, 12:03   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ist wohl das hier gemeint:
mit javascript mausposition an swf übergeben
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 08-03-2005, 17:56   #7 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
yup, genau den meinte ich...
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary ist offline   Mit Zitat antworten
Alt 12-04-2007, 22:26   #8 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 11
Im Pixelagents Blog gibt es dafür eine zuverlässige Lösung, die rein in Flash funktioniert. Ohne Button über der ganzen Stage oder so ein Quatsch.

Hier: Maus off Stage test
2domby ist offline   Mit Zitat antworten
Alt 13-04-2007, 08:48   #9 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
@2domby: Gibts einen tieferen Sinn das du 3 Threads ausgräbst (alle 2 bis 3 Jahre alt) nur um den Link zu posten?

wenn die Maus mal schnell rausgeht...
mouse innerhalb flashfenster ckeck
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt 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 20:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele