Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-12-2003, 18:27   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 2
Question laufend generierte MCs - Performance

Hallo,

ich habe in meinem Flash ein ActionScript eingefügt, das aus einem MC "Flocke" im Loop immer neue Flocken generiert, die dann als Schnee "runterfallen".

Leider benötigt dieses Script enorm viel CPU-Leistung, wenn der Flashfilm abläuft.

Habt Ihr da eine Idee?

Gruß
Korbinian
korbinian ist offline   Mit Zitat antworten
Alt 02-12-2003, 18:33   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hi & willkommen im FF

Das Problem sind wahrscheinlich nicht die generierten MCs sondern irgendwelche Schleifen-Wesen, die mit dupliziert werden. Haben denn deine MCs onEnterFrame-Handler? Sowas kostet - wenn paarmal unnötig vorhanden - schon mal ganz schön Performance...

Gruß,
Tom
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 02-12-2003, 18:46   #3 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Tippe auch auf enterFrame-Events. Deshalb sehr wichtig: Wenn sie aus der Bühne rausgefallen sind, wieder entfernen (removeMovieClip) bzw. wenn sie irgendwo liegen bleiben sollen dann dort das Script löschen (delete).

Gruß
rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:14   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 2
Ja, ja, in meinem MC gibt es ein "onClipEvent (enterFrame)". Gibt es eine Möglichkeit es so zu programmieren, dass es weniger Performance frisst?
korbinian ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:27   #5 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
ja, wie rena es erklärt hat...also nochmal in flash:
entweder Du entfernst Deine Flocke, wenn sie aus dem Bild verschwindet, z.B. so:
ActionScript:
  1. onClipEvent(enterFrame){
  2. ...
  3. //Dein script
  4. ....
  5. if(this._y>400){
  6. this.removeMovieClip();
  7. }
  8. }

...oder Du entfernst die enterFrames wenn die Flocke liegenbleibt, z.B. so:
ActionScript:
  1. onClipEvent(enterFrame){
  2. ...
  3. //Dein script
  4. //irgendwo fragst Du ab ob die Flocke sich noch bewegen soll
  5. //vielleicht so::
  6. if(this.hitTest(_root.dach_mc)){
  7. ....
  8. //und da machst Du dann das:
  9. delete(this.onEnterFrame);
  10. }
  11. }
...das kommt halt auf Dein bisheriges script an...

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 03-12-2003, 11:30   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Ja wie rena schon erwähnt hat - den onEnterFrame löschen, wenn nicht mehr benötigt (weil sich die Flocke z.B. nicht mehr bewegt) Das geht aber nur mit der "modernen" callback-Variante "mc.onEnterFrame = function() {..}" Die kannst du dann deleten.
Bsp.
ActionScript:
  1. //code auf _root:
  2. var i = 0;
  3. this.createEmptyMovieClip("cnt",1);
  4. this.cnt.onEnterFrame = function() {
  5.     trace(++i);
  6.     if(i == 10) delete this.onEnterFrame
  7. }

Gruß,
Tom

Edit:
ah, der Alois war schon da, der weiß sowas auch...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (03-12-2003 um 11:31 Uhr)
sonar 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 19:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele