Autor |
Nachricht |
shop-waren
Threadersteller
Dabei seit: 25.02.2006
Ort: Waren (Müritz)
Alter: 36
Geschlecht:
|
Verfasst Di 04.04.2006 10:07
Titel Objekte zufällig in Flash fallen lassen |
|
|
Hallo,
ich möchte in einem Flash-Game verschiedene Objekte in zufälliger Reihenfolge von oben nach unten fallen lassen. Allerdings sollen sie auch von verschieden Punkten aus fallen. Aber grundsätzlich von oben in das Bild rein.
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 46
Geschlecht:
|
Verfasst Di 04.04.2006 10:12
Titel
|
|
|
- Objekt als Mc
- y-Startkoordinate ist immer gleich
- x-Koordinate ist eine Zufallszahl von 0 bis Ende des Speilfensters
Jetzt musst du noch in der Referenz nachgucken obs ne Funktion random() oder so gibt und dann kanns losgehen.
|
|
|
|
|
Anzeige
|
|
|
shop-waren
Threadersteller
Dabei seit: 25.02.2006
Ort: Waren (Müritz)
Alter: 36
Geschlecht:
|
Verfasst Di 04.04.2006 10:18
Titel
|
|
|
Und wie stelle ich die Zufallszahl ein?
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 46
Geschlecht:
|
Verfasst Di 04.04.2006 10:31
Titel
|
|
|
Erlaube mir die Frage, ob du schon etwas Übung mit AS gemacht hast.
Code: | zufall = random(45)+1; |
Die Funktion heißt random. Alles weitere erfährst du in der referenz.
|
|
|
|
|
shop-waren
Threadersteller
Dabei seit: 25.02.2006
Ort: Waren (Müritz)
Alter: 36
Geschlecht:
|
Verfasst Di 04.04.2006 10:33
Titel
|
|
|
Ich habe bisher nur Kleinigkeiten mit AS gemacht.
|
|
|
|
|
Nimroy
Community Manager
Dabei seit: 26.05.2004
Ort: zwischen Köln und D'dorf
Alter: 46
Geschlecht:
|
Verfasst Di 04.04.2006 10:37
Titel
|
|
|
Ah, okay. Naja, aber dann kennst du wenigstens schon mal den editor etc.
Mein Beispiel oben liefert dir übrigens eine Zahl zwischen 1 und 46. Da random eine Zahl bei 0 beginnend liefert, liefert random(45) eine zahl zwischen 0 und 45. Aber da lottozahlen erst bei 1 beginnen, rechne ich dann noch einen drauf.
Zuletzt bearbeitet von Nimroy am Di 04.04.2006 10:47, insgesamt 1-mal bearbeitet
|
|
|
|
|
shop-waren
Threadersteller
Dabei seit: 25.02.2006
Ort: Waren (Müritz)
Alter: 36
Geschlecht:
|
Verfasst Di 04.04.2006 10:39
Titel
|
|
|
ja klar
Wir haben inne Schule nur das grundlegende mit AS gelernt und nun sollen wir ein Flash-Game machen.
|
|
|
|
|
labrar
Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht:
|
Verfasst Di 04.04.2006 13:55
Titel
|
|
|
Hier mal ein Beispiel für Schneefall
Code: |
import flash.filters.BlurFilter;//diese Zeile weglassen wenn nicht Flash 8
Stage.scaleMode = "false";
Stage.showMenu = false;
var StageWidth:Number = Stage.width;
var StageHeight:Number = Stage.height;
var Additional:Number = 100;
var windEffect:Number = 1.1;
var SchneeEbene:MovieClip = _root.createEmptyMovieClip("SchneeEbene", _root.getNextHighestDepth());
var MovieSpeed:Number = 20;
var MinZoom:Number = 0.5;
var MaxZoom:Number = 1;
var ZoomStellen:Number = 1;
var TrennZone:Number = (MinZoom + MaxZoom)/2 + (MinZoom + MaxZoom)/20;
var LiegenBis:Number = TrennZone + TrennZone/2;
var Ebene4Schnee = _root;
function SimSnowFlight(snow:MovieClip):Void
{
snow._y += snow.SpeedY;
if(snow._y - snow._height / 2 > StageHeight)
{
clearInterval(snow.Interval);
snow.removeMovieClip();
CreateSnow(true);
return;
}
if(snow.Z >= TrennZone && snow.Z <= LiegenBis)
{
if(Schirm.hitTest(snow._x, snow._y, true))
{
clearInterval(snow.Interval);
snow.Time = 10 + random(20);
snow.Interval = setInterval(Wait, MovieSpeed * 10, snow);
CreateSnow(true);
return;
}
}
snow.radius += snow.windK / 180 * 3.141593;
snow._x -= windEffect * Math.cos(snow.radius);
snow._rotation -= Math.cos(snow.radius)*2;
}
function Wait(snow:MovieClip):Void
{
if(--snow.Time < 0)
{
clearInterval(snow.Interval);
snow.Interval = setInterval(FadeOut, MovieSpeed * 8, snow);
}
}
function FadeOut(snow:MovieClip):Void
{
if(--snow._alpha <= 0)
{
clearInterval(snow.Interval);
removeMovieClip(snow);
}
}
function CreateSnow(top:Boolean):MovieClip
{
var Z:Number = MinZoom + SpecRound(Math.random() * MaxZoom, ZoomStellen);
while(Ebene4Schnee[Z] == undefined)
Z = MinZoom + SpecRound(Math.random() * MaxZoom, ZoomStellen);
var mc:MovieClip = Ebene4Schnee[Z].attachMovie("Schnee", "Schnee" + Ebene4Schnee[Z].getNextHighestDepth(), Ebene4Schnee[Z].getNextHighestDepth());
mc.Z = Z;
mc._xscale = 60 * mc.Z;
mc._yscale = mc._xscale;
mc._alpha = 100;
mc._x = random(StageWidth + Additional * 2) - Additional;
if(top) mc._y = 0 - mc._height;
else mc._y = random(StageHeight);
mc.gotoAndStop(2);
mc._rotation = random(360);
mc.SpeedX = 0;
mc.SpeedY = mc.Z + Math.random() * 2;
mc.radius = 0;
mc.windK = -3.141593 + Math.random() * 3.141593;
var Intensity = Math.round(1 * mc.Z) * 1.3;
var BlurSnow:BlurFilter = new BlurFilter(Intensity, Intensity, 4);
mc.filters = [BlurSnow];
mc.Interval = setInterval(SimSnowFlight, MovieSpeed, mc);
return mc;
}
function SpecRound(zahl:Number, stellen:Number):Number
{
return Math.round(zahl * Math.pow(10,stellen)) / Math.pow(10,stellen);
}
for(i = MinZoom; i <= MinZoom + MaxZoom; i += 1 / Math.pow(10,ZoomStellen))
{
if(Math.round(i * Math.pow(10,ZoomStellen)) == Math.round(SpecRound(TrennZone,ZoomStellen) * Math.pow(10,ZoomStellen)))
{
Schirm.swapDepths(Math.round(i * Math.pow(10,ZoomStellen)));
i += 1 / Math.pow(10,ZoomStellen);
}
Ebene4Schnee.createEmptyMovieClip(i, Math.round(i * Math.pow(10,ZoomStellen)));
}
Ebene4Schnee.createEmptyMovieClip(i, i * Math.pow(10,ZoomStellen));
for(i=0; i<=50; i++)
{
CreateSnow(false);
}
|
Jetzt machst noch eine Flocke, konbertierst die in ein Symbol namens "Schnee" und verknüpt diese in der Bib als "Export für Actionscript"
Ja und dann kannst noch wenn du magst eine Grafik erstellen auf die der Schnee fällt. Dieser gibst du dann denn Instanznamen "Schirm".
|
|
|
|
|
|
|
|
Ähnliche Themen |
[FLASH] zufällig Bilder laufen lassen!
Zufällig externe Bilder in Flash laden
Flash: radialen verlauf zufällig ändern!!
Flash-AS >> auf einer Wiese wachsen zufällig Blumen
Movieclip auf Bühne fallen lassen
Flash Objekte anzeigen
|
|