| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 42
|
Hallo zusammen, ich habe zwar mal gesucht, aber zu dem Thema irgendwie nix finden können und hoffe, dass mir trotzdem einer helfen kann... Ich habe zwei Movies, die ich für einen Loader nutzen möchte, wobei ein Movie als Anzeigetext verwendet wird und ein zweiter als Animation ablaufen soll. Der Movie wird derzeit im ersten Keyframe gestartet (es gibt auch nur einen Frame) und dort habe ich folgendes Script platziert: PHP-Code: Nun meine Frage: Habe ich irgendwo einen Fehler oder der Player? Hat vielleicht jemand einen Verbesserungsvorschlag? Aber bitte kein Tween. Das habe ich auch schon ausprobiert und ist von der Performance absolut indiskutabel... Wäre super, wenn jemand einen Tipp hat! Danke schonmal... Geändert von Oli K. (13-08-2006 um 09:20 Uhr) |
| | |
| | #3 (permalink) |
| meistens harmlos Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 17.643
|
Löschst du die Intervalle auch wieder? Falls nicht, laufen die alle weiter, rufen die Funktion immer wieder auf und addieren sich so langsam hoch. Beispiel Code: function funktionsname(){
//was alles passieren soll aber dann
clearInterval(myInterval);
}
myinterval=setInterval(funktionsname, 200); Rena |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
alle 200 millisekunden lädst du etwas neuen und wunderst dich, das irgendwann mal schicht ist? irgendwann ist jeder parkplatz voll, jedes station überlaufen und jedes buffet leergefuttert. hörst du auch irgendwann einmal auf ständig neu dazu zu laden? oder wirfst du wenigstens irgend wann einmal nicht mehr benutzte mc_LoaderIcon's raus? ------------ bei besserer absprache hätten wir im chor antworten können ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (13-08-2006 um 12:21 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 42
|
Danke für Eure Hinweise. Damit kommt ja schonmal etwas Licht in die ganze Situation... ![]() Also alle 200ms wird ein neuer Movie mit einem onEnterFrame erstellt. Das ist zwar ziemlich kurz, sollte aber kein Problem darstellen, weil eigenlich nie mehr als vier Movies auf einmal ablaufen... Was ich mir durchaus vorstellen kann ist, dass es tatsächlich ein Problem mit den nicht gelöschten Interval IDs ist. Allerdings stoppt das gesamte Script, wenn ich ein clearInterval nach dem delete this.onEnterFrame platziere... ![]() Daher nochmal die Frage, wie löse ich das Problem am Besten? Dass es kein Problem gibt, habe ich ja nicht behauptet, gell, @hgseib. Ich habe nur nach einem Tipp für einen Lösungsansatz gefragt... |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
"..Habe ich irgendwo einen Fehler oder der Player?.." wollen wir mal nicht die goldwaage auspacken. du wunderst dich schon über das ergebnis. wenn ich es richtig verstanden habe, dann legst du ein mc über das andere. irgendwann liegen 100 oder mehr mc's übereinander. das belastet den rechner schon. also jedesmal das mc. das 3..4 ebenen tiefer liegt komplett rauskegeln. setInterval gibt dir eine nummer zurück, mit der musst du das interval clearen. dabei darauf achten, das jedes setInterval eine neue nummer erzeugt. eine möglichkeit, das zu händeln ist: http://www.seibsprogrammladen.de/fra...thmen/Interval mehrere Interval's
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (13-08-2006 um 12:21 Uhr) |
| | |
| | #8 (permalink) | |
| Neuer User Registriert seit: Jun 2004
Beiträge: 42
| Zitat:
Ok, ich habe mal eine Demo angehangen.@hgseib: Danke für den Link! Geändert von Oli K. (13-08-2006 um 12:42 Uhr) | |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
ist doch ein unterschied, ob man sich nur den script ansieht oder mal mit einer fla was ausprobieren kann. a) das ganze zeugs hättest du auch locker mit einem einfachen tween machen können der loopt. b) da ich nicht weiss, was das ganze noch werden soll mal eine totalüberarbeitung: p.s. 60 fps ist ziemlich heftig! der mensch sieht sowieso nicht mehr als 25 bilder pro sekunde. somit macht auch dein setInterval keinen sinn. so schnell kann keiner den bildschirm updaten, wie du ihn gezeichnet haben willst. setInterval macht sinn: - unterschiedliche zeitabläufe gegenüber dem fps - reine berechnungen können öfters oder seltener ausgeführt werden - bildschirmdarstellungen nur wenn seltener als fps (es seih denn, fps ist wesentlich kleiner als 25) Code: function newLoaderIcon(me) {
me._depth++;
if (me._depth>500) {
clearInterval(iTemp);
trace("fertig");
}
var _mc = me.attachMovie("mcLoaderIcon", "icon"+me._depth, me._depth);
_mc.onEnterFrame = function() {
if (this._alpha>=5) {
this._alpha -= 5;
this._yscale = this._xscale += 10;
this._x += this._width/3; // nur so zum ansehen
} else {
this.removeMovieClip();
}
};
}
this.depth = 0;
iTemp = setInterval(newLoaderIcon, 120, this);
stop();
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (13-08-2006 um 14:22 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |