Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-03-2008, 13:17   #1 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
film lastet rechner ganz aus,onEnterFrame ersetzen

Hallo leute!
Ich habe ein Problem in meinem aktuellen Projekt. Die Rechenbelastung ist viel zu hoch!
Ich attache in meinem Film bis zu 50 Objekte aus der Bibliothek auf die Bühne.
Diesen Objekten wird eine Funktion zugewiesen, durch welche Sie sich unabhängig voneinander bewegen, skalieren, rotieren und ihren Alphawert ändern.

Code:
function parse() {
	for (i = 0; i < uMax; i++) {     //uMax ein  Zahl zwischen 20-80
		clip = attachMovie("ding, "at_ding" + i, i);
		clip.x =(Math.random() * 2000 ) - 1000;
		clip.y = -1 * (Math.random() * 600 ) + 5;
                clip.z = i * 1000;
		clip.wert = random(2);
		clip.onEnterFrame = bewegung;
	}
}
Das heißt ich habe wenn uMax = 80 ist, 80 Objekte auf der Bühne. die alle ein onEnterFrame Event besitzen!
Ich hab inzwischen schon herumgetestet und den Film auf verschiedenen Systemen ausprobiert, es scheint wirklich an der anzahl der onEnterFrames zu liegen. meine Frage:
Kann ich diese events irgendwie sinnvoll ersetzen, oder einfach geschickter vorgehen?
gruß Flo
florist ist offline   Mit Zitat antworten
Alt 10-03-2008, 13:23   #2 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.649
Vermutlich liegt das Performance-Problem eher am Inhalt der onEnterFrame-Funktionen, nicht an den Events selber.

Was passierten denn alles pro Frame pro MC?

Und was sind das für Bild-Inhalte?
Große Vektorgrafiken (Aber auch Pixelgrafiken bei entsprechender Größe), Filter und Alphaeffekte saugen extrem an der Leistung.
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 10-03-2008, 13:46   #3 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Das Skript das ich für meine Bewegung verwende basiert auf der 3D Bildergalerie von Flashstar.de
Bewegungsfunktion mit rotation und alpha Effekt:
Code:
function bewegung() {
	if (this._xscale >blendSpeed) {
		this._alpha = 100-(this._xscale-blendSpeed)*1.5;
	} else {
		this._alpha =100;
		} 
	this.x = this.x + vx;
	this.y = this.y + vy;
	this.z = this.z + vz;
	// Falls der z-Wert den Minimalwert in der Verschiebung nach hinten unterschreitet,
	// stellt Flash das Bild wieder vorne an
	if (this.z < (-fl)) {
		this.z = this.z + (100 * uMax);
	} 
	// Gegenfall: Falls der z-Wert den Maximalwert in der Verschiebung nach 
	// vorne überschreitet, dann stellt Flash die Bilder hinten an	
	else if (this.z > ((200 * uMax) - fl)) {
		this.z = this.z - (200 * uMax);
	}
	// z-beeinflusst die Skalierung und Positionsverhältnisse im Raum
	// Begrenzt die Bewegung nach rechts und links
		if (this.x < (-1000)) {
		this.x = this.x + (2000);
	} else if (this.x > ((2000) - 1000)) {
		this.x = this.x - (2000);
	}
	// Zuweisung der Ebenenlage des Bildes
	this.swapDepths(1000000 - this.z);
	var scale = (fl / ((fl + this.z) + zc));
	this._x = (this.x * scale) + xc;
	this._y = (this.y * scale) + yc;
	this._xscale = (this._yscale = scale * 100);
	//this._rotation+=_rotation+1*this.speed*(-1);
	if (this.wert == "1") {
		this._rotation+=_rotation+1*this.speed;
	//	trace(this.speed);
	} else {
		this._rotation+=_rotation+1*this.speed*(-1);
	}
}
Was meinst du genau mit "Was passierten denn alles pro Frame pro MC?"?

Ich hatte ursprünglich ein in PS erstelltes Sechseck, welches ich als Grafik in der Bibliothek hatte, inzwischen habe ich es schon durch eine Form in Flash nachgebaut.

Mein Film ist 2000x400 groß. ABer daran sollte es nicht liegen,soweit ich weiß.
verwende ich z.B. nur 10 Objekte(mit rotieren,skalieren,alpha,bewegung) läuft alles gut und ohne ruckeln


Ich kann leider heute keine bsp mehr bereitstellen, da das verfremden zu lange dauern würde.
florist 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 02:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele