Browser Absturz EnterFrame [Flash 9]
13.07.2009, 14:04 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:
13.07.2009, 15:09 Re1 Beiträge: 1769 Wohnort: Laimbach 6 1/2Registriert: 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:02 Re2 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 Mitgliedern
13.07.2009, 16:21 Re3 Beiträge: 901 Wohnort: Nether-BavariaRegistriert: Jun 2008 Beim mir tritt das ganze nicht auf.
Check deine Firefox addons.
Qt! www.adrianslaboratory.net
13.07.2009, 16:39 Re4 Beiträge: 4906 Wohnort: zuhausRegistriert: 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:45 Re5 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:47 Re6 Beiträge: 901 Wohnort: Nether-BavariaRegistriert: 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:48 Re7 Beiträge: 4906 Wohnort: zuhausRegistriert: 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:06 Re8 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:20 Re9 Beiträge: 901 Wohnort: Nether-BavariaRegistriert: 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:24 Re10 Beiträge: 4906 Wohnort: zuhausRegistriert: 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:53 Re11 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:41 Re12 Beiträge: 901 Wohnort: Nether-BavariaRegistriert: 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:01 Re13 Beiträge: 4906 Wohnort: zuhausRegistriert: 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:15 Re14 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 02.02.2010 - Sebastian
11.02.2010 - p.laubichler
19.12.2009 - NameNick
10.02.2012 - FlashNewie
Flashhilfe.de
Flash Platform Tipps & Tutorials
Flash Platform
Andere Programmiersprachen
Jobangebote
Diskussionen
Flashhilfe News
Regeln & Bedingungen