Schneeflocken in 18 Schritten
so siehts aus
01. erst malt ihr eine schneeflocke. bild
02. wandelt es in ein symbol um (im bsp: schneeflocke). bild
03. gebt dieser instanz einen namen (im bsp: schneefl1). bild
04. geht in die instanz der schneeflocke. bild
05. wandelt diese flocke wieder in ein symbol um und benennt es (im bsp: instanzname:schneefl2, symbolname:schneeflocke2). bild1 bild2
06. geht auch in diese instanz und macht dort einen bewegungstween aus der grafik (ich hab es auf 60 frames gesetzt weil ich meißt mit 24belder pro sekund arbeite, seiht halt flüssiger aus).bild
07. erstellt eine pfadebene und einen pfad welchen die flocke folgen soll. bild
08. ihr könnt das letzte bild des tweens einen alpha wert zuweisen, ein schöner effekt wenn die flocken verschwinden. bild
09. erstellt noch eine ebene und macht in den letzten frame ein schlüsselbild. bild
11. klick rechts auf das schlüsselbil und wählt aktion. bild
11. der actionscript editor öffnet sich, gebt dort "removeMovieClip(this);" ein, dadurch löscht sich das erstellte mc selber wenn es durchlaufen ist. bild
12. geht wieder eine instanz höher "schneeflocke". bild
13. erstellt eine neue ebene mit zwei frames. bild
14. rechtsklickt auf den ersten frame und klickt auf aktion das sich der as-editor wieder öffnet.
15. fügt das script ein: bild
var y;
movieclip.prototype.verteilen = function(clip, x) {
duplicateMovieClip(clip, "clip"+x, x);
this["clip"+x]._x = random(500);
this["clip"+x]._y = random(1);
this["clip"+x]._xscale = random(30)+20;
this["clip"+x]._yscale = random(30)+20;
y = x+1;
clip._visible=false;
};
verteilen(schneefl2,y);
16. klickt auf den zweiten frame und fügt es auch da ein.
beschreibung des scripts:
/////////////////////////////////////////////////////////
var y; //--> eine globale variable, ist nötig um jeden mc neu zu erzeugen.
movieclip.prototype.verteilen = function(clip, x) { //--> erstellt und benennt eine function, clip und x sind variablen die ihren inhalt durch den aufruf der funktion bekommen werden.
duplicateMovieClip(clip, "clip"+x, x); //--> erstellt ein duplikat des mc "clip", gibt ihn einen namen "clip"+x und gibt ihn eine tiefenordnung (clip="schneefl2", x=y).
this["clip"+x]._x = random(500); //--> gibt den erstellten mc eine horizontale position die zw 0 und 500 zufällig erstellt wird.
this["clip"+x]._y = random(1); //--> g. d. e. mc eine vertikale pos, ...
this["clip"+x]._xscale = random(30)+20; //--> g. d. e. mc eine bestimmte breite, sie wird immer mind 20 sein und zw der summe 20+30 variiren.
this["clip"+x]._yscale = random(30)+20; //--> g. d. e. mc eine bestimmte höhe, ...
y = x+1; //--> erklärt sich von selbst oder...
clip._visible=false; //--> der hauptclip wird unsichtbar gemacht.
}; //--> functionsende
verteilen(schneefl2,y); //--> ruft die oben beschriebene function auf und übergibt den namen des mc sowie y
/////////////////////////////////////////////////////////...->( y wird permanent erweitert um keine mc's doppelt zu erstellen oder in gleicher tiefe abgelegt werden, das kann zu scriptfehlern fürhen )
17. die eigentliche größe und position legt ihr fest eindem ihr die oberste instanz verschiebt und dessen größe ändert. bild
18. natürlich müßt ihr die werte des scriptes auch an eure bedürfnisse anpassen.
Zusatzoptionen:
wer mehr schnee braucht muß im tween anstelle von: removeMovieClip(this);
dieses script einfügen:
var dl;
var L=0;
function loesche()
{
if(L<=dl){removeMovieClip(this);}
else{dl++;}
}
loesche();
dabei steht L für die anzahl die das mc durchlaufen darf, wenn es L erreicht hat wird es gelöscht.
wenn man unterschiedlichere flocken und fallarten haben will erstellt man mehrer von der art schneefl2 mc's.
am besten man gibt ihnen identische namen das man mit round gleich den mc namen zusammenstellen kann.
und nicht vorher noch ein array erstellen muß...
bsp:
vorhandene mc's: schneefl20,schneefl21,schneefl22.
der aufruf sähe dann in etwa so aus: verteilen(eval("schneefl2"+random(2)),y);
eigentlich sind der phantasie keine grenzen gesetzt, fallende kühe, konfettie, totenköpfe, etc :)
viel spaß, Mfg Prinz
zum offline tuten, hier ein zip mit den tut und files.