Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-07-2003, 17:00   #1 (permalink)
Überzeugter Flasher...
 
Benutzerbild von DoppelX
 
Registriert seit: Oct 2001
Ort: Köln
Beiträge: 1.654
Performance bei for() {}

Hi,
bin hier gerade ein bisschen am rumspielen mit flash und wollte ein einfaches color objekt auf ein mc anwenden. folgender code:

PHP-Code:
newColor = new Color(mc);

function 
wasweissich() {
    for(
i=11;i<99;i++) {
        
newColor.setRGB(0x0933+i);
    }    
}

mc.onEnterFrame = function() {
    
setInterval(wasweissich,1000);

das problem ist nur, das sich dir farbe nur einmal ändert. Wieso??? Hab auch nen trace in der Schleife gehabt und der wurde immer ausgegeben.
*gruss x²
__________________
Tjo...

Geändert von DoppelX (10-07-2003 um 17:05 Uhr)
DoppelX ist offline   Mit Zitat antworten
Alt 10-07-2003, 17:07   #2 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
hi xx!

ich denke innerhalb der for-schleife wird einfach kein repaint durchgeführt, daher ändert sich die farbe nur einmal.
versuch mal unter der zeile "newColor..." ein updateAfterEvent() einfügen, aber ich weiß grad net ob des in dem fall funzelt, kanns hier au net testen. versuchs halt mal.

gruß, mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 10-07-2003, 17:08   #3 (permalink)
...or not?!
 
Benutzerbild von Sir-FlashAlot
 
Registriert seit: May 2003
Ort: Camelot
Beiträge: 157
Das Problem ist das Deine Schleife bei jedem Aufruf der Funktion ganz durchläuft und man immer nur die letzte Farbe sieht...
__________________
Gruß

Sir-FlashAlot
Sir-FlashAlot ist offline   Mit Zitat antworten
Alt 10-07-2003, 17:11   #4 (permalink)
...or not?!
 
Benutzerbild von Sir-FlashAlot
 
Registriert seit: May 2003
Ort: Camelot
Beiträge: 157
Soll die Farbe nach jedem Intervall einmal, um einen Wert erhöht, geändert werden, oder soll nach jedem Intervall das ganze Spektrum durchgewechselt werden???
__________________
Gruß

Sir-FlashAlot
Sir-FlashAlot ist offline   Mit Zitat antworten
Alt 10-07-2003, 17:11   #5 (permalink)
Überzeugter Flasher...
 
Benutzerbild von DoppelX
 
Registriert seit: Oct 2001
Ort: Köln
Beiträge: 1.654
stimmt! so gehts:

PHP-Code:
newColor = new Color(mc);
i=11;

function 
wasweissich() {
    
trace("test");
    if(
i<99) {
        
newColor.setRGB(0x0933+i);
        
i++;
    }    
}

mc.onEnterFrame = function() {
    
setInterval(wasweissich,1000);

gibts in solchen fällen denn eine alternative zur for-schleife?
__________________
Tjo...
DoppelX ist offline   Mit Zitat antworten
Alt 10-07-2003, 17:11   #6 (permalink)
dummschnack
 
Benutzerbild von Chino
 
Registriert seit: Mar 2002
Ort: Essen
Beiträge: 1.778
Hi!

Warum setzt du den setInterval innerhalb eines onEnterFrame Handlers?

Damit überschreibst du den intervall ja immer wieder und es kommt nicht zur Ausführung... Einmal setzen reicht aus.

Gruss, Chino
Chino 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 00:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele