Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-02-2006, 16:38   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: Hamburg
Beiträge: 22
onClipEvent (enterFrame) performance?

mein film ist ganz schön langsam, vermute es liegt an folgenden script.
muss am ende beim onClipEvent nicht immer "delete" stehen?
könnt ihr mir helfen? Wie müsste es dann hier lauten?
Hoffe ich drücke mich verständlich aus..
Code:
onClipEvent (enterFrame) {
	resize(_root.w+1, _root.h+1,_parent.pic,8);
}
Danke Euch!
Daniel
dan10 ist offline   Mit Zitat antworten
Alt 26-02-2006, 23:17   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Generell solltest du auf die veralteten Clipevents verzichten und deine Scripte alleine schon der Übersichtlichkeit halber auf die Zeitleiste legen, bspw. mit einem onEnterFrame-Event.

Da der Event wie schon ganz richtig bemerkt viel Performance kostet, solltest du eine if-Bedingung setzen, wie lange der Event laufen soll und ihn dann löschen, bspw.:
PHP-Code:
//auf der Hauptzeitleiste
this.onEnterFrame = function(){
   if(
_level0.pic8._xscale 200){//bspw. bis 200 % skalieren
      
_level0.pic8._xscale +=10;
      
_level0.pic8._yscale +=10;
     
//_level0.resize(_level0.w+1, _level0.h+1,_level0.pic,8);//check noch die Objektpfade mit ein paar trace-Befehlen
   
else{//bspw. 200% erreicht
      
delete this.onEnterFrame;//Event löschen
   
}

  Mit Zitat antworten
Alt 27-02-2006, 09:29   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: Hamburg
Beiträge: 22
Danke für deine Antwort

Ich möchte ungern jetzt ungern alles umschreiben.
Wie würde die zeile denn lauten wenn ich das script
auf dem film lasse?

habs mal so versucht:
Code:
this.onEnterFrame = function(){
   if(this._xscale < 100){
      this._xscale +=1;
      this._yscale +=1;
	  _parent.pic,8;
    } else {
      delete this.onEnterFrame;//Event löschen
   }
}
klappt irgedwie noch nicht. bekomme fehlermeldung:
Statement must appear within on/onClipEvent handler
this.onEnterFrame = function(){

entschuldige bitte. bin noch nicht so fit im scripten.
Grüße Daniel
dan10 ist offline   Mit Zitat antworten
Alt 27-02-2006, 10:31   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ich möchte ungern jetzt ungern alles umschreiben.
Damit musst du aber bei Antworten hier im Forum immer mit rechnen... Wir wollen ja nicht "verschlimmbessern". Clipevents haben den großen Nachteil, dass die Scripte großzügig über diverse Objekte verteilt sein können und dementsprechend schwer zu warten und zu pflegen sind. Zeitleistenevents dagegen kann man alle schön übersichtlich auf einem einzigen Frame am besten in einer eigenen Ebene sammeln. Nachteil dabei ist nur, dass deine MCs und Buttons zwingend Instanznamen benötigen, damit Flash die in den Scripten erwähnten Objekte auch wiederfindet.

Der onEnterFrame läuft eben nicht auf dem Clip, sondern auf einem Schlüsselbild der Hauptzeitleiste. Deshalb bekommst du auch die Fehlermeldung.

Geändert von agedoubleju (27-02-2006 um 10:32 Uhr)
  Mit Zitat antworten
Alt 27-02-2006, 11:44   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: Hamburg
Beiträge: 22
Danke für deine schnelle Antwort
Dann versuche ich das script mal auf die Hauptzeitleiste zu packen...
Grüße Daniel
dan10 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 23:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele