Stage resize legt Prozessor lahm

mardazad

Erfahrenes Mitglied
Hi,
kann mir bitte jemand erklären, warum diese .fla mir den Prozessor ziemlich lahm macht?

Ich habe den MC content_mc, der als Container die eigentliche Homepage lädt ( container.loadMovie("mainhp.swf"); ). Auf der stottern die Animationen dann aufs übelste. Wenn ich das .swf von zur Homepage direkt im Browser öffne läufts wunderbar, also muß es doch an diesem Script liegen (stammt glaube ich von Chris Kuat, ich hab die Berechnung für die Mitte verbrochen):

PHP:
Stage.scaleMode = "noScale";
StageListener = new Object();
StageListener.onResize = function () 
{
  doResize()
}
Stage.addListener(StageListener);


function doResize ()
{
	var sw = 1280
	var sh = 960
	
	var w = Stage.width
	var h = Stage.height
	
	var rw = (w - sw) / 2
	var rh = (h - sh) / 2
	
	oben = 0 - rh
	links = 0 - rw
	unten = sh + rh
	rechts = sw + rw
	
	// rechts unten -----------------------------
	mc._x = rechts
	mc._y = unten 	
	// links oben ------------------------------
	mc2._x = links
	mc2._y = oben	
	// rechts oben -----------------------------
	mc3._x = rechts
	mc3._y = oben
	// links unten -----------------------------
	mc4._x = links
	mc4._y = unten
	
	//verlauf_mc unten positionieren
	verlauf._x = links
	verlauf._y = unten
	
	// mitte
	content_mc._x = links + (rechts - links)/2
	content_mc._y = oben + (unten - oben)/2
	
	
	
}

doResize ()
stop();


Wie krieg ichs hin, daß es besser funktioniert?
Danke schonmal
 

Anhänge

Hi,

kann sein, dass Dein riesen-Verlauf das ganze ausbremst. Der Flashplayer geht oft ziemlich in die Knie, wenn es darum geht, große Objekte zu zeichnen (und das muss er dauernd neu tun, wenn sich in dem darüberliegenden Film was bewegt). Was passiert, wenn Du den Verlauf und die bunten Kästen mal probeweise von der Bühne löschst?

Du kannst auch mal in die Funktion doResize() eine trace-Aktion einbauen, um auszuschließen, dass der Listener ungewollt feuert.

Gruß
.
 
Hi,
Danke erstmal.
An Verlauf und Kästen lags nicht.
Wie müßte denn die Trace-Funktion aussehen und was seh ich dann da?

Gruß
 
so:
PHP:
trace("bla");
Wenn das Problem aber nur im Browser auftaucht und nicht in der Flash-Vorschau, dann setz Dir irgendwo ein Textfeld auf die Bühne, dem Du in der Funktion doResize ein Zeichen hinzufügst. So siehst Du, wenn die Funktion aufgerufen wird:
PHP:
mein_textfeld.text += "-";

Gruß
.
 
Zurück