1&1 DSL
Flashhilfe.de - Flash Community

Browser Absturz EnterFrame [Flash 9]

Forum > ActionScript 3.0 > Browser Absturz EnterFrame

 


AntwortenRegistrieren Seite1  

 13.07.2009, 14:04 
Benutzerbild von rebel
Beiträge: 53
Registriert: May 2006

Browser Absturz EnterFrame
Hi,

bei meiner Bildergalerie stürzt mein Browser ab wenn ich mit der Maus sehr schnell über die MCs fahre. In der SWF gibt es eine EnterFrame Funktion, ich denke das das zu viel für den ist. Die Bilder werden bei ROLL_OVER ständig neu positioniert.
Das passiert aber nur im Browser!
Eingebettet wird die SWF mit swfObject.

Ich hab ein Screenshot mit der Fehlermeldung beiliegen.
Wenns so nicht reicht kann ich die SWF auch nochmal mitschicken (ist aber bisschen viel mit bildern, html, css ...)

Danke!

Angehängte Dateien:
Bild error.png52.66 KB
 13.07.2009, 15:09Re1
Benutzerbild von RustyCake
Beiträge: 1769
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

wegen einer enterframe kann ich mir nicht vorstellen das der browser down geht.
mit dem bild kann man nicht viel anfangen.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
 13.07.2009, 16:02Re2
Benutzerbild von rebel
Beiträge: 53
Registriert: May 2006

Themenautor/in

ich hab das mal auf nen Server geladen

hier
kannst ja mal in die HTML rein kucken
Geändert von rebel am 13.07.09 um 16:07 Uhr

 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 13.07.2009, 16:21Re3
Benutzerbild von niquito12
Beiträge: 901
Wohnort: Nether-Bavaria
Registriert: Jun 2008

Beim mir tritt das ganze nicht auf.

Check deine Firefox addons.
Qt! www.adrianslaboratory.net
 13.07.2009, 16:39Re4
Benutzerbild von springerFlashhilfe.de Moderator
Beiträge: 4906
Wohnort: zuhaus
Registriert: Apr 2004

hi,
bei mir passiert auch nix (kein absturz)....
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Geändert von springer am 13.07.09 um 16:39 Uhr

 13.07.2009, 16:45Re5
Benutzerbild von rebel
Beiträge: 53
Registriert: May 2006

Themenautor/in

geh ma mehrmals ganz schnell mit der maus von links nach rechts über die Bilder
 
nicht sichtbar bei eingeloggten Mitgliedern
 13.07.2009, 16:47Re6
Benutzerbild von niquito12
Beiträge: 901
Wohnort: Nether-Bavaria
Registriert: Jun 2008

Gut. Dann stürtzt es ab. Meine Empfehlung ins Blaue : Entferne die Listener beim Tweenen.

Am besten kann man es jedoch aus dem Code lesen.
Qt! www.adrianslaboratory.net
 13.07.2009, 16:48Re7
Benutzerbild von springerFlashhilfe.de Moderator
Beiträge: 4906
Wohnort: zuhaus
Registriert: Apr 2004

bei mir passiert auch dann nix...
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
 13.07.2009, 17:06Re8
Benutzerbild von rebel
Beiträge: 53
Registriert: May 2006

Themenautor/in

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package classes
{
   
   import flash.display.*;
   import flash.net.URLRequest;
   import flash.events.*;
   import flash.system.LoaderContext;
   import flash.utils.*;
   import flash.media.*;
   import flash.geom.*;
   import classes.XMLLoader;
   import classes.ImageEntry;
   import classes.ShapeBuilder;
   import classes.Filter;
   import caurina.transitions.*;
   
   public class Main extends MovieClip
   {
      private var xml:XMLLoader = new XMLLoader();
      private var img:ImageEntry;
      
      private var imgArray:Array = new Array();
      private var maskArray:Array = new Array();
      
      private var closedWidth:Number;
      private var openedImage:Number = 0;
      
      public function Main():void
      {
         var XMLURL:String = this.loaderInfo.parameters.xmlUrl;   
         if(XMLURL == null) XMLURL = "test.xml";
         
         xml.addEventListener("dataWritten", onXMLLoaded);
         xml.loadXML(XMLURL);
      }
      
      private function onXMLLoaded(e:Event):void
      {
         trace("MAIN :: onXMLLoaded");
         closedWidth = (704 - 280) / (xml.XMLLength -1);
                  
         for(var i:uint = 0; i < xml.XMLLength; i++)
         {            
            img = new ImageEntry();
            img.addEventListener("ImageLoaded" , onImageLoaded);
            img.loadImage(xml.XMLData["path" +i]);
            
            img.x = i * closedWidth;
            
            var Mask = addChild(ShapeBuilder.newRect(closedWidth, 280));
            addChild(Mask);
            
            img.mask = Mask;
            
            img.x = i * closedWidth;
            Mask.x = i * closedWidth;
            
            imgArray.push(img);
            maskArray.push(Mask);
            addChild(img);
            
            img.info.theTitle.text = xml.XMLData["title" +i];
            img.info.theContent.text = xml.XMLData["content" +i];
            
            img.addEventListener(Event.ENTER_FRAME, loop);
            img.addEventListener(MouseEvent.MOUSE_OVER, onOver);
            img.addEventListener(MouseEvent.CLICK, onClick);
         }
         maskArray[openedImage].width = 280;
      }
      
      private function onImageLoaded(e:Event):void
      {
         trace("MAIN :: Image loaded !");
      }
      
      private function loop(e:Event)
      {
         var index:Number = imgArray.indexOf(e.target);
         
         if(imgArray.indexOf(e.target) > 0)
         {            
            maskArray[index].x = maskArray[index -1].width + maskArray[index -1].x;
            imgArray[index].x = maskArray[index].x;
         }
         // Filter wird hinzugefügt !
         try { if(imgArray.indexOf(e.target) != openedImage) imgArray[index].filters = [Filter.Blur()]; }
         catch(e:Error) { trace("ERROR");}
      }
      
      
      private function onOver(e:MouseEvent)
      {   
         openedImage = imgArray.indexOf(e.currentTarget);
         
         for(var i:uint = 0; i < imgArray.length; i++)
         {
            if(i != imgArray.indexOf(e.currentTarget)) {
               Tweener.addTween(maskArray[i], {width: closedWidth, time:0.2, transition:"linear"});
            }
         }
         Tweener.addTween(maskArray[openedImage], {width: 280, time:0.2, transition:"linear"});
         
         // Filter wird entfernt!
         imgArray[openedImage].filters = null;
      }
      
      private function onClick(e:MouseEvent)
      {
         trace("MAIN :: ON CLICK -> " + imgArray.indexOf(e.currentTarget));
      }
      
      
   }
}
 13.07.2009, 17:20Re9
Benutzerbild von niquito12
Beiträge: 901
Wohnort: Nether-Bavaria
Registriert: Jun 2008

springer da musst du schon ordentlich rödeln ;) Bei mir im FF 3.5 passiert es auch erst sehr spät.

Entferne in deiner Loop am anfang alle MouseListener und füge sie am ende der Loopfunktion wieder hinzu und das Problem dürfte gelöst sein.
Qt! www.adrianslaboratory.net
 13.07.2009, 17:24Re10
Benutzerbild von springerFlashhilfe.de Moderator
Beiträge: 4906
Wohnort: zuhaus
Registriert: Apr 2004

@niquito12: ne klappt nicht, arghhh, will einfach nicht abstürzen... wird wohl am MAC liegen, der ist etwas weniger anfällig :_))
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
 13.07.2009, 17:53Re11
Benutzerbild von rebel
Beiträge: 53
Registriert: May 2006

Themenautor/in

@niquito12: ich werd das ma versuchen, danke.
@springer: Sorry! schade das du es nicht sehn kannst. Ist aber auch besser so.

noch eine Frage bevor ich das Thema schließe, kann man solche Preformance Fehler abfangen so das sich der Browser nicht gleich aufhängt?
 14.07.2009, 09:41Re12
Benutzerbild von niquito12
Beiträge: 901
Wohnort: Nether-Bavaria
Registriert: Jun 2008

@springer: Vielleicht gehts ja nicht weil die Macs nur eine Maustaste haben oder die Mäuse schlichtweg zu langsam sind ;) *stichel*

Nur durch saubere Programmierung, andere Möglichkeiten kenne ich nicht.
Qt! www.adrianslaboratory.net
 14.07.2009, 10:01Re13
Benutzerbild von springerFlashhilfe.de Moderator
Beiträge: 4906
Wohnort: zuhaus
Registriert: Apr 2004

@niquito: hab aber ne logitech maus... :-( sogar am mac kann man die mausgeschwindigkeit einstellen, allerdings brauch ich nur zwei clicks bis ich ins entsprechende menu gelange 8-))
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
 14.07.2009, 10:15Re14
Benutzerbild von rebel
Beiträge: 53
Registriert: May 2006

Themenautor/in

Hey ich habs,

das lag an dem Blur in der EnterFrame Funktion. Ich stetz den Blur jetzt einmal am anfang und wenn man mit der Maus über die MCs fährt.

Dank euch!
 
Themen
Ähnliche Beiträge zum Thema
Hilfe bei Flash Game [Flash 8] 11.02.2010 - p.laubichler
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de