Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-12-2004, 16:14   #1 (permalink)
Neuer User
 
Benutzerbild von nawan
 
Registriert seit: Dec 2003
Beiträge: 8
random - zahl ausschließen

Hallo,
habe hier ein Problem:
Ich habe auf meiner Seite einen Bereich mit sechs Containern, in die per Zufall verschiedene Filme aus einem Ordner geladen werden sollen. (Banneranzeigen).
Natürlich soll kein Banner zweimal angezeigt werden.
Hab mir überlegt, man könnte die erste Variable mit random(); festellten und bei der zweiten müsste die erste Variable ausgeschlossen werden.
Also wenn die erste Variable "2" ist, wird die "2" nicht mehr mitgezählt.

Weil das hier ein bischen umständlich ist: (vor allem bei sechs mc´s)
Code:
var x = random(2);

if (x == 1) {
var y = "0"
}

if (x == 0) {
var y = "1"
}

loadMovie("promo/"+x+".swf", "promo1");
loadMovie("promo/"+y+".swf", "promo2");
...
Ist das möglich?!?
Oder sonst irgendeine Idee?
nawan ist offline   Mit Zitat antworten
Alt 23-12-2004, 16:22   #2 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Beiträge: 644
Du kannst ja eine eigene function machen in der du eine zahl generieren lässt, danach lässt du diese in einen array speichern, wenn du nun nochmal die function aufrufst kann er ja erstmal den array durchsuchen ob diese zahl schon drinne gespeichert ist.
jonny-noob ist offline   Mit Zitat antworten
Alt 23-12-2004, 16:25   #3 (permalink)
Neuer User
 
Benutzerbild von nawan
 
Registriert seit: Dec 2003
Beiträge: 8
Vielleicht ein Beispiel?!?
Kann mir im Moment nichts drunter vorstellen.
nawan ist offline   Mit Zitat antworten
Alt 23-12-2004, 16:36   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!

Hier ist's jetzt umgekehrt. Die Zahlen werden einfach aus dem Array entfernt.

PHP-Code:
var Numbers = Array(123456);
for (var 
0x<6x++) {
    var 
Posi random(Numbers.length);
    var 
Zahl Numbers[Posi];
    
trace (Zahl);
    
Numbers.splice(Posi,1);

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 24-12-2004, 19:55   #5 (permalink)
Neuer User
 
Benutzerbild von nawan
 
Registriert seit: Dec 2003
Beiträge: 8
Mir soweit klar.
Mit splice wird die letzte var gelöscht.
Aber mit random(Numbers.length); wird doch nur die Anzahl "gerandomt". Also 6. Brauche jedoch die einzelnen Bezeichner so das beim nächsten durchlauf z.B. nur 1,2,4,5,6 zur Verfügung steht.
Oder sehe ich da was falsch?
nawan ist offline   Mit Zitat antworten
Alt 24-12-2004, 20:11   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
du brauchst doch nur den code von "Der Frager" zu kopieren und laufen zu lassen um fest zu stellen, das er funktioniert! und wenn du beim debuggen schritt für schritt ablaufen lässt, dann verstehst du vielleicht auch, warum er mit indizes arbeitet.
und es wird nicht die letzte position gelöscht. wie kommst du den darauf?

http://www.seibsprogrammladen.de/fra...gm/Algorithmen
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (24-12-2004 um 22:59 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 24-12-2004, 20:26   #7 (permalink)
Neuer User
 
Benutzerbild von the binary
 
Registriert seit: Jul 2001
Ort: Berlin | Friedrichshain
Beiträge: 3.561
würds so machen.
1. alle vorhandenen in einen array speichern,
2. array kopieren,
3. kopiertes array mischen

und zu guter letzt einfach
4. eins nach dem anderen aus dem gemischten array entfernen, bis nix mehr da is.

eigentlich ganz einfach..

gruss
__________________
8bm | join ff@BOINC
formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn
the binary 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 06:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele