Random funktion nicht klar (bsp)

D

doof

Hi, kann mir mal jemand an diesem Beispiel (anhang) erklären wie das mit der funktion random oder math.random funktioniert!! Ich habe im web einen Code gefunden.

onClipEvent (load) {
w = 600;
h = 150;
xR = _parent._x;
x = random(w)-xR;
}
onClipEvent (enterFrame) {
if (x-_x>-5 && x-_x<5) {
x = random(w)-xR-_parent._parent._x;
}
_x += (x-_x)/10;
}



Er bewegt eine Linie von rechts nach und und umgekehrt (zufallig) aber warum irgendwie steige ich nicht hinter diesen Code

Wäre um Hilfe sehr dankbar

Cu
 

Anhänge

  • hilfe.zip
    2,4 KB · Aufrufe: 17
random(x) ermittelt eine zufallszahl zwischen 0 und x.

math.random() ist flash4 und ermittelt ein zahl zwischen 0.0 und 1.

um ein zufallszahl zwischen 1 und 10 zu bekommen schreibt man das so:

flash5: zahl = random(9)+1;

flash4: zahl = math.floor(math.random() * 9)+1
 
onClipEvent (load) {
w = 600;
h = 150;
xR = _parent._x;
x = random(w)-xR;
}
onClipEvent (enterFrame) {
if (x-_x>-5 && x-_x<5) {
x = random(w)-xR-_parent._parent._x;
}
_x += (x-_x)/10;
}

um mal konkret auf das beispiel zurückzukommen:

w ist die 'laufbreite' in dem sich objekt auf der x-achse bewegt. also zwischen 0 und 600 pendelt das ding hin & her.
xr ist die aktuelle x-posi.
x ist die aktuelle x-posi minus einem zufallswert zwischen 0 und 600.

dann wird jeden frame aufs neue geguckt ob die differenz zwischen (zufallszahl-xposi) und der aktuellen xposi zwischen -5 und +5 liegt.

wenn sie das tut, wird von der zufallszahl+xposi der aktuelle x-wert abgezogen, d.h. an der stelle dürfte x ((zufallszahl+xposi)-xwert) annähernd 0 wenn nicht sogar negativ werden.

nach dieser abfrage (egal ob von x letztendlich der aktuelle xwert abgezogen worden ist oder nicht) wird die x-position des objekts mit dem wert von (x-_x)/10 verändert.
x ist ja die zufallszahl-xposi.
_x ist die aktuelle xposi des objekts.
und die /10 bewirken das langsame beschleunigen und abbremsen des objekts, da sich der wert der sich aus (x-_x)/10 ergibt ,je nach dem inhalt der klammer, nicht liniear-proportional ist sondern hyperbel-mäßig verhält.. (mir fällt gerade der ausdruck nicht ein.) auf jeden fall ist die resultierende x-veränderung bei kleinen werten gering und bei größeren werten ungleich größer.


keine ahnung ob dir das jetzt konkret geholfen hat oder nicht, aber das ist so in etwa das ganze in worten ausgedrückt.
 
Hi,

danke für diese Erklärung! ;) Ich werde es mir mal durch den Kopf gehen lassen

p.s mal sehen ob ich noch fragen hab

Cu
 

Neue Beiträge

Zurück