Flashhilfe.de - Flash Community

Volle CPU Auslastung beim ausführen der SWF [Flash 11]

 


AntwortenRegistrieren Seite1  

Hanzo#1
Benutzerbild von Hanzo
Beiträge: 3
Registriert: Sep 2012

11.09.2012, 10:29

Hallo Flash Freunde,

ich arbeite an einem interaktiven Menu mit 30 Buttons, alles hat wunderbar funktioniert bis ich den 19. Button als Movieclip auf die Bühne gelegt habe sobald ich das dann exportiere als swf und mit der Maus über die Buttons gehe schisst die CPU Auslastung auf 95%

hier ist mein Basis script:



button_as2.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_as2');});
button_as2.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_as2');});

button_email.addEventListener(MouseEvent.MOUSE_OVE R,function(){play_clip('in','clip_email');});
button_email.addEventListener(MouseEvent.MOUSE_OUT ,function(){play_clip('out','clip_email');});

button_fax.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_fax');});
button_fax.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_fax');});

button_infostore.addEventListener(MouseEvent.MOUSE _OVER,function(){play_clip('in','clip_infostore'); });
button_infostore.addEventListener(MouseEvent.MOUSE _OUT,function(){play_clip('out','clip_infostore'); });

button_zip.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_zip');});
button_zip.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_zip');});

button_report.addEventListener(MouseEvent.MOUSE_OV ER,function(){play_clip('in','clip_report');});
button_report.addEventListener(MouseEvent.MOUSE_OU T,function(){play_clip('out','clip_report');});

button_csv.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_csv');});
button_csv.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_csv');});

button_idoc.addEventListener(MouseEvent.MOUSE_OVER ,function(){play_clip('in','clip_idoc');});
button_idoc.addEventListener(MouseEvent.MOUSE_OUT, function(){play_clip('out','clip_idoc');});

button_x12.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_x12');});
button_x12.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_x12');});

button_oftp.addEventListener(MouseEvent.MOUSE_OVER ,function(){play_clip('in','clip_oftp');});
button_oftp.addEventListener(MouseEvent.MOUSE_OUT, function(){play_clip('out','clip_oftp');});

button_telebox.addEventListener(MouseEvent.MOUSE_O VER,function(){play_clip('in','clip_telebox');});
button_telebox.addEventListener(MouseEvent.MOUSE_O UT,function(){play_clip('out','clip_telebox');});

button_http.addEventListener(MouseEvent.MOUSE_OVER ,function(){play_clip('in','clip_http');});
button_http.addEventListener(MouseEvent.MOUSE_OUT, function(){play_clip('out','clip_http');});

button_ftp.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_ftp');});
button_ftp.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_ftp');});

button_soa.addEventListener(MouseEvent.MOUSE_OVER, function(){play_clip('in','clip_soa');});
button_soa.addEventListener(MouseEvent.MOUSE_OUT,f unction(){play_clip('out','clip_soa');});

button_sftp.addEventListener(MouseEvent.MOUSE_OVER ,function(){play_clip('in','clip_sftp');});
button_sftp.addEventListener(MouseEvent.MOUSE_OUT, function(){play_clip('out','clip_sftp');});

button_sigg.addEventListener(MouseEvent.MOUSE_OVER ,function(){play_clip('in','clip_sigg');});
button_sigg.addEventListener(MouseEvent.MOUSE_OUT, function(){play_clip('out','clip_sigg');});

button_ocsp.addEventListener(MouseEvent.MOUSE_OVER ,function(){play_clip('in','clip_ocsp');});
button_ocsp.addEventListener(MouseEvent.MOUSE_OUT, function(){play_clip('out','clip_ocsp');});

button_crypt.addEventListener(MouseEvent.MOUSE_OVE R,function(){play_clip('in','clip_crypt');});
button_crypt.addEventListener(MouseEvent.MOUSE_OUT ,function(){play_clip('out','clip_crypt');});

button_db2export.addEventListener(MouseEvent.MOUSE _OVER,function(){play_clip('in','clip_db2export'); });
button_db2export.addEventListener(MouseEvent.MOUSE _OUT,function(){play_clip('out','clip_db2export'); });

button_db2maps.addEventListener(MouseEvent.MOUSE_O VER,function(){play_clip('in','clip_db2maps');});
button_db2maps.addEventListener(MouseEvent.MOUSE_O UT,function(){play_clip('out','clip_db2maps');});

button_spoolmaps.addEventListener(MouseEvent.MOUSE _OVER,function(){play_clip('in','clip_spoolmaps'); });
button_spoolmaps.addEventListener(MouseEvent.MOUSE _OUT,function(){play_clip('out','clip_spoolmaps'); });




function play_clip(ziel:String, clip:String){

this[clip].gotoAndPlay(ziel);

}

stop();


und in meinen Movieclips selber sind jeweils einmal "7 Frames in" und "7 Frames out" Animation mit Markern und stop befehl. Ich verstehe nicht warum das erst beim 19. Clip passiert ? ich habe schon ausprobiert den 19. Clip einfach nur als ein Frame mit einem bild ohne Script auf die bühne zu legen dann passiert das selbe! habe ich etwas Grundlegendes übersehen oder gibt es Beschränkungen für die anzahl der Clips ? Weiss jemand Rat ?

Schönen Gruß
Hanzo
Schlagwörter: movieClip buton
micB#2
Benutzerbild von micB
Beiträge: 186
Registriert: Jun 2009

11.09.2012, 10:54

hi,
eine limitierung schon bei 19 MCs ist nicht der grund.
du willst deine funktion "play_clip" aufrufen.
du erstellst aber in jedem eventListener eine eigene neue funktion (die genauso heisst, wie die, die du aufrufen willst). seltsame sache...
versuch doch mal so:
ActionScript:
1button_spoolmaps.addEventListener(MouseEvent.MOUSE _OVER,play_clip);

damit rufst du die funktion auf.
jetzt musst du nur noch dafür sorgen, dass die funktion "individuell" reagiert.
zum ersten erhält sie keine parameter (das geht so leider nicht). also:
ActionScript:
1
2
3
function play_clip(e:MouseEvent){
  ...
}

welcher deiner buttons für den aufruf verantwortlich ist, erfährst du über
ActionScript:
1e.currentTarget

und ob es ein mouseOver- oder ein mouseOut-Event war, kannst du auch abfragen
ActionScript:
1e.type
(glaube ich)
jedenfalls kannst du auf die art innerhalb deiner einen funktion die notwendigen entscheidungen treffen, welche animation abgespielt werden soll.
Geändert von micB am 11.09.12 um 10:56 Uhr
Hanzo#3
Benutzerbild von Hanzo
Beiträge: 3
Registriert: Sep 2012

Themenautor/in

11.09.2012, 11:24

ich habs jetzt so probiert:


button_sigg.addEventListener(MouseEvent.MOUSE_OVER,play_clip);

function play_clip(e:MouseEvent){
   if(e.currentTarget.name =='button_sigg'){
        clip_sigg.gotoAndPlay('in');
   }
 
}



und trotzdem beim ausführen volle Auslastung sobald sich 19 movieclips auf der bühne befinden...
hat einer eine andere Idee  ?
Geändert von Hanzo am 11.09.12 um 11:51 Uhr
Hanzo#4
Benutzerbild von Hanzo
Beiträge: 3
Registriert: Sep 2012

Themenautor/in

11.09.2012, 14:51

Sooooo ich hab es jetzt gelöst bekommen mit Hilfe meiner Kollegen und den Anregungen aus diesem und einem anderem Forum. Es lag an der Reihenfolge der Ebenen und das jedesmal eine neue Funktion erzeugt wurde jetzt läuft es wieder normal :)


button_as2.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_as2.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_email.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_email.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_fax.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_fax.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_infostore.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_infostore.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_zip.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_zip.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_report.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_report.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_csv.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_csv.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_idoc.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_idoc.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_x12.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_x12.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_oftp.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_oftp.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_telebox.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_telebox.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_http.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_http.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_ftp.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_ftp.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_soa.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_soa.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_sftp.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_sftp.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_sigg.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_sigg.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_ocsp.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_ocsp.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_crypt.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_crypt.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_db2export.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_db2export.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_db2maps.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_db2maps.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_spoolmaps.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_spoolmaps.addEventListener(MouseEvent.MOUSE_OUT,play_clip);

button_spool.addEventListener(MouseEvent.MOUSE_OVER,play_clip);
button_spool.addEventListener(MouseEvent.MOUSE_OUT,play_clip);



function play_clip(e:MouseEvent):void
{
   var ziel;
   if(e.type==MouseEvent.MOUSE_OVER) ziel = "in";
   if(e.type==MouseEvent.MOUSE_OUT) ziel = "out";

   var clip_name = e.currentTarget.name;
   clip_name = clip_name.ersetzen("button_", "clip_");

   this[clip_name].gotoAndPlay(ziel);
}


String.prototype.ersetzen = function(suchstr, ersetzstr) {
   return this.split(suchstr).join(ersetzstr);
};


stop();


Schönen Gruß
Hanzo

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de