#1 11. April 2011 [AS3] Mouse Wheel - Zoom Hi Leute, ich versuche grade eine Karte zu realisieren. Ich bin grad an einem Punkt angekommen wo ich nicht weiter weiß. Die Karte soll man mit dem Mausrad Zoomen können. Mein Code sieht so aus: PHP: stage . addEventListener ( MouseEvent . MOUSE_WHEEL , Zoom ); function Zoom ( e : MouseEvent ): void { var mod : Number = 100 ; Karte . scaleX += e . delta / mod ; Karte . scaleY += e . delta / mod ;} Jetzt kommt der Witz. Wenn ich es als Flash 10 exportiere funktioniert das nicht. Wenn ich es jedoch als AIR 1.1 exportiere funktionirt es dann doch. Was muss ich ändern damit es mit Flash 10 geht? Ich bin für jede Hilfe dankbar + Multi-Zitat Zitieren
#2 11. April 2011 AW: [AS3] Mouse Wheel - Zoom geht doch. PHP: package { import flash . display . MovieClip ; import flash . events .*; import flash . geom .*; public class demo extends MovieClip { public var Karte : MovieClip = new MovieClip (); public function demo () { Karte . graphics . beginFill ( 0xFF0000 ); Karte . graphics . moveTo ( 0 , 0 ); Karte . graphics . lineTo ( 40 , 0 ); Karte . graphics . lineTo ( 40 , 30 ); Karte . graphics . lineTo ( 0 , 30 ); Karte . graphics . lineTo ( 0 , 0 ); addChild ( Karte ); stage . addEventListener ( MouseEvent . MOUSE_WHEEL , Zoom ); } public function Zoom ( e : MouseEvent ): void { var mod : Number = 100 ; Karte . scaleX += e . delta / mod ; Karte . scaleY += e . delta / mod ; } }} + Multi-Zitat Zitieren
#3 11. April 2011 AW: [AS3] Mouse Wheel - Zoom Bei dem Code hab ich genau das gleiche Problem. Könnte das vieleicht an Mac OS X liegen? Oder bin ich einfach zu doof ^^? + Multi-Zitat Zitieren
#4 11. April 2011 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [AS3] Mouse Wheel - Zoom magst du mal den wesendlichen teil extrahieren und zur verfügung stellen, sodass man ein tut daraus machen kann. // edit kann mir nicht vorstellen, dass das am system liegen soll. hier mal mein demo No File | www.xup.in + Multi-Zitat Zitieren
#5 11. April 2011 AW: [AS3] Mouse Wheel - Zoom Ich bin wohl einfach zu doof. Das ist mein Actionscript: PHP: import flash . net . URLRequest ; import flash . net . URLLoader ; import flash . display .*; import flash . events .*; import flash . geom .*; stage . addEventListener ( MouseEvent . MOUSE_WHEEL , Zoom ); function Zoom ( e : MouseEvent ): void { var mod : Number = 100 ; Karte . scaleX += e . delta / mod ; Karte . scaleY += e . delta / mod ;} var i : Number = 0 ;var xml : XML ; setChildIndex ( Info , numChildren - 1 ); function addInfo ( event : MouseEvent ): void { } function addInfoFromNr ( event : MouseEvent ): void { } function makeBunt ( xml : XML ) { } function loadHandler ( e : Event ): void { var code : String = e . target . data ; xml = new XML ( code ); makeBunt ( xml );} var req : URLRequest = new URLRequest ( 'musterstadt.xml' );var loader : URLLoader = new URLLoader (); loader . load ( req ); loader . addEventListener ( Event . COMPLETE , loadHandler ); // DRAG DER KARTE Karte . addEventListener ( MouseEvent . MOUSE_DOWN , startMove ); Karte . addEventListener ( MouseEvent . MOUSE_UP , stopMove ); function startMove ( e : MouseEvent ): void { Karte . startDrag ();} function stopMove ( e : MouseEvent ): void { Karte . stopDrag ();} // Zoom per Button Steuerrung . Plus . addEventListener ( MouseEvent . MOUSE_DOWN , fPlus ); function fPlus ( e : MouseEvent ): void { Karte . scaleX = Karte . scaleX + 0.1 ; Karte . scaleY = Karte . scaleY + 0.1 ;} Steuerrung . Minus . addEventListener ( MouseEvent . MOUSE_DOWN , fMinus ); function fMinus ( e : MouseEvent ): void { Karte . scaleX = Karte . scaleX - 0.1 ; Karte . scaleY = Karte . scaleY - 0.1 ;} Bitte nicht zu viel über den Code meckern. Ich bin Anfänger in sachen Flash ^^ Edit: Vieleicht würde auch einfach eine Demo datei von dir Reichen damit ich das ganze verstehe. Edit2: So deine Demo-Datei funktioniert bei mir nicht. Ich habe genau das gleiche Problem mit der Datei wie mit meiner. Die enthaltene SWF datei erzeugt ein Rechteck was ich nicht Zoomen kann. Wenn ich es neu Veröffentliche als AIR funktioniert es. Es scheint echt am Mac OS zu liegen ^^ Edit3 Okay wenn ich die datein (meine und deine) im Flash Player öffne funktioniert das Zoomen . Aber als Embedd in einer HTML datei leider nicht :-( + Multi-Zitat Zitieren
#6 11. April 2011 AW: [AS3] Mouse Wheel - Zoom und was ist wenn du mal auf das swf klickst (demit der focus auf das swf ist). dann sollte der zoome gehen. hier mal ein JS um den focus auf dein swf zu legen. Code: <script type="text/javascript"> window.onload = function(){ document.getElementById("myswf").focus(); } </script> myswf musst umändern. es muss die id von deinem embed element sein. // edit firefox mag nicht, ie geht. + Multi-Zitat Zitieren
#7 11. April 2011 AW: [AS3] Mouse Wheel - Zoom Das funktioniert leider auch nicht. Gibt es vieleicht eine Sicherheitseinstellung die das Abfangen des Mausrades verhindert? Ich bin echt am verzweifeln. Ich bin in 2 Stunden zu hause an meinem Windows rechner da kann ich dann Kontrollieren ob es vieleicht doch am Mac OS liegt. Das hoffe ich ja fast weil ich echt nicht mehr weiter weiß. + Multi-Zitat Zitieren
#8 11. April 2011 AW: [AS3] Mouse Wheel - Zoom da komm dann ich wieder in spiel: in firefox kannst du swf-objekte leider nicht mit getElementById referenzieren ^^ aber so gehts: Code: function getFlashMovieObjectById(id) { if (window.document[id]) return window.document[id]; if (navigator.appName.indexOf("Microsoft Internet") == -1) if (document.embeds && document.embeds[id]) return document.embeds[id]; else return document.getElementById(id); } + Multi-Zitat Zitieren
#9 11. April 2011 Zuletzt von einem Moderator bearbeitet: 14. April 2017 AW: [AS3] Mouse Wheel - Zoom Danke für eure Hilfe... aber... Das bringt leider garnichts. Es will einfach nicht die Eingabe über die Maus verarbeiten. Das Event wird nicht mal gestartet. Hab ein trace eingebaut und Flash tut so als ob ich garnichts mit der Maus mache. In einer halben Stunde bin ich zuhause und sitz an einem vernünftigen PC und dann sehen wir obs klappt unter Win. Hier mal die SWF - Funktioniert das Zoomen bei euch? https://www.xup.in/dl,14371323/Flash.zip/ + Multi-Zitat Zitieren
#10 11. April 2011 AW: [AS3] Mouse Wheel - Zoom firefox 4: HTML: <!DOCTYPE html> <html> <head> <title>Karte</title> </head> <body> <embed src="karte.swf" menu="false" width="600" height="400" type="application/x-shockwave-flash"></embed> </body> </html> funktioniert auf anhieb ohne javascript + Multi-Zitat Zitieren
#11 11. April 2011 AW: [AS3] Mouse Wheel - Zoom So war grad noch auf einer Atom Demo xD Bin jetzt Zuhause und genau die Datei die auf der Arbeit an einem Mac OS X rechner nicht funktioniert hat geht jetzt. Also denke ich das es entweder am OS liegt oder an der Flash version. Das werde ich dann nochmal nachprüfen. Aber laut meinen Recherschen im Internet sieht es so aus das Mac OS X damit ein Problem hat. Danke für eure Hilfe + Multi-Zitat Zitieren
#12 12. April 2011 AW: [AS3] Mouse Wheel - Zoom hab was gefunden, das weiter hilft. AS3.0 MouseWheel on Mac OS X « pixelbreaker warum mac probleme macht weiß ich nicht. ich glaube grob, dass das event nicht ans swf übergeben wird, daher hat man ein JS gebastel um dies zu tun. korregiert mich falls ich mich irre. es bestätigt mir aber mal wieder, dass ich mir nie nen mac holen werde. + Multi-Zitat Zitieren