Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-12-2006, 07:30   #1 (permalink)
headshooter
 
Benutzerbild von acdc33
 
Registriert seit: May 2004
Beiträge: 52
funktion verdoppelt sich bei replay

Hallo zusammen,

ich habe die dankbare Aufgabe bekommen für meine Abteilung eine Weihnachtskarte zu erstellen....

Ich habe nun in einem Tut folgenden Code für eine "Schnee-Animation gefunden. Das läuft soweit eigentlich alles prima:

Code:
width = 550;
height = 400;
total = 150;
for (var t = 0; t != total; t++) {
	var mc = _root.attachMovie("snowflake", "snowflake"+t,  _root.getNextHighestDepth());
	mc._x = (Math.random()*(width+20))-10;
	mc._y = (Math.random()*(height+20))-10;
	mc.yspeed = (Math.random()*1.75)+0.25;
	mc.speed = (Math.random()*3)+2;
	mc._xscale = mc._yscale=(mc.speed+mc.yspeed)*10;
	mc.onEnterFrame = function() {
		var angle = Math.atan2(_root._xmouse-(width/2), _root._ymouse)+1.5707963267949;
		this._y += Math.abs(Math.sin(angle)*this.speed)+this.yspeed;
		this._x += Math.cos(angle)*this.speed;
		if (this._x>width+10) {
			this._x = -10;
		} else if (this._x<0-10) {
			this._x = width+10;
		}
		if (this._y>height+10) {
			this._y = -10;
		} else if (this._y<0-10) {
			this._y = height+10;
		}
	};
}

Nur wenn ich am Schluss einen Replay-Button einfüge verdoppelt sich die Anzahl der Schneeflocken. Wenn das 2-3 wiederholt wird, ist die Animation recht zähflüssig...

Weiss jemand Rat?
__________________
ä schwarzn Bildschirm habi, ä schwarzn Bildschirm!!!
acdc33 ist offline   Mit Zitat antworten
Alt 01-12-2006, 07:48   #2 (permalink)
Definitionssache
 
Benutzerbild von dburucu
 
Registriert seit: Apr 2003
Ort: Braunschweig
Beiträge: 2.433
Möchtest Du dass die sich nicht verdoppeln oder nicht so langsam sind?

verdoppeln kommt daher, weil Du in der Zeile:
var mc = _root.attachMovie("snowflake", "snowflake"+t, _root.getNextHighestDepth());

die getNextHighestDepth() methode benutzt und die erezugten mc ja nicht wieder löschst.

also würde sagen, dass du anstatt _root.getNextHighestDepth() feste Werte nimmst, z.b. t+100.

oder

nach ner Zeit oder einem Ereignis die alten MCs wieder mit removeMovieClip() löschen.
dburucu ist offline   Mit Zitat antworten
Alt 01-12-2006, 08:12   #3 (permalink)
headshooter
 
Benutzerbild von acdc33
 
Registriert seit: May 2004
Beiträge: 52
ah besten Dank dburucu,

die erste Variante mit dem festen Wert eignet sich bestens für meinen Film.


Klappt einwandfrei
__________________
ä schwarzn Bildschirm habi, ä schwarzn Bildschirm!!!
acdc33 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 13:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele