Adobe Flash Bild per Zufall wählen

goldader

goldader

Aktives Mitglied
Thread Starter
Dabei seit
10.08.2004
Beiträge
304
Reaktionspunkte
1
Kann mir jemand helfen?

Möchte in einem Flash-Film externe Bilder (1.jpg bis 45.jpg) im Zufallsprinzip laden.

Also jedesmal wenn ich den Flash-Film aufrufe, dann wählt er ein anderes Bild und lädt es in einen Container: 1.jpg, 23.jpg, 35.jpg, 2.jpg etc.

Bis jetzt hab ich nur geschafft, dass die Bilder geladen werden; aber bei dem Code ja logischerweise leider nur eines.

containerX._x=1
containerX._y=50
containerX.loadMovie("Bilder/1.jpg");

Wie krieg ich den Rest hin?! Hilfe!!!
 
sollte hiermit gehen....

HTML:
var vArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
      var vLen = vArray.length;
      // mischen:
      for (var v=1; v<vLen; v++) {
  var v1 = random(vLen);
  var v2 = random(vLen);
  while (v1 == v2) {
    v2 = random(vLen);
  }
  var h = vArray[v1];
  vArray[v1] = vArray[v2];
  vArray[v2] = h;
}
// entnahme von vNLen
var vNLen = 4;
var vNAry = [];
for (v=0; v<vNLen; v++) {
  vNAry[v] = vArray[v];
}
trace(vNAry);
//
//
// das gleiche trickreicher programmiert:
vArray.sort(function () {return (random(3)-1);});
var vNAry = vArray.concat();
vNAry.length=vNLen;
trace(vNAry);

PS: wenn nicht mal den hier versuchen:

HTML:
 var rnd = new Object();
      rnd.vAnzahl = 20;
      rnd.vNextRandom = null;
      rnd.vLastRandom = null;
      rnd.fNextRandom = function()
{ with (this)
  { if (!vNextRandom.length)
    { // zufallsreihenfolge erzeugen
      vNextRandom = [];
      for (var i = 1; i<=vAnzahl; i++) vNextRandom.push(i); 
      // sortieren
      vNextRandom.sort(function () {return (random(3)-1);});
      // ungleich letzte vom letzten mal
      if (vLastRandom == null) 
      { vLastRandom = vNextRandom[vAnzahl-1];
      }
      else
      { if (vLastRandom == vNextRandom[vAnzahl-1])
        { var i = random(vAnzahl);
          vNextRandom[vAnzahl-1] = vNextRandom[i];
          vNextRandom[i] = vLastRandom;
      } }
      vLastRandom = vNextRandom[0];
    }
    return vNextRandom.pop();
} };
//
// Test:
this.onEnterFrame = function()
{ var nextNr = rnd.fNextRandom();
  trace(nextNr);
};
 
Vielen Dank!

Aber das ist ja mordskompliziert?!?!?

Geht das nicht auch einfacher?

Hab das hier gefunden, kapiers aber nicht...?!?

Bildran=random(25)
Bild=Bildran++
Bildname="tump/bild"+Bild+".jpg"
loadMovie(Bildname,"_root.pic")

Wo muss ich denn was schon wieder ändern?

Mein Ordner heisst "Bilder" und die Bilder drin heissen z.B. "Fritz1.jpg"

hmmmm....
 
Joa, klar ists kompliziert...

Aber für alles gibts auch immer eine einfache Lösung:

containerY._x=500
containerY._y=30
function loadranimg(){
var imgtoload = "Bilder/Fritz"+(random(37)+1)+".jpg";
containerY.loadMovie(imgtoload);
}

loadranimg();


Und scho klappts!! ;)

Aber vielen Dank für die Anregungen, Berbel01!!!
 
Zuletzt bearbeitet:
Zurück
Oben Unten