Navigation per Zufallsgenerator

mardazad

Erfahrenes Mitglied
Hallo und ein frohes neues allerseits,

kann mir jemand erklären wie ich eine Navigation erstelle, in der ich onrelease in einen zufällig ausgewählten Bereich der HP komme? Angenommen ich bin per Zufallsgenerator in Bereich C gelangt, soll beim Verlassen desselbigen ein Button erscheinen, der dorthin zurückführt. Damit ich die Bereiche, die ich schon gesehen habe, nocheinmal direkt anwählen kann, quasi als Verlauf.
Natürlich sollten die Bereiche, die schoneinmal aufgerufen worden sind, nicht nocheinmal via Zufallsgenerator angewählt werden, so daß eine Verdichtung zum letzten noch nicht aufgerufenen Bereich stattfindet...

Ich hoffe das Prinzip ist klar geworden,
Danke schonmal
 
Hi,

ohne mich jetzt mit der nötigen Mathematik auseinandergesetzt zu haben, habe ich mal eben ein Script erstellt, das zumindest eine gewisse Gewichtung (zumal in den ersten paar Aufrufen) in Richtung seltener aufgerufener Zahlen erzeugt. Lege ein Array für die Menüpunkte an, in dem Du die bisherigen "Hits" speicherst. Count ist die Anzahl der Einträge, weight das Ausmas der Gewichtung.

Gruß
.
 

Anhänge

  • randomselect.zip
    6,6 KB · Aufrufe: 14
Hi Datic,
vielen Dank, aber ich glaube du hast mich falsch verstanden (?).
Es geht darum, daß ein bereits aufgerufener Bereich nicht mehr im Zufallsgenerator sein soll, stattdessen soll ein button auf der Bühne erscheinen, von dem aus ich direkt dorthin zurückspringen kann.
Ein Beispiel: Ich habe bspw 5 Marker in der Zeitleiste A, B, C, D, E. Wenn ich auf den Zufallsgenerator-Button klicke wird per Zufall Bereich B aufgerufen. Auf der Bühne erscheint jetzt ein ButtonB, der fortan zu diesem Bereich B führt. Wenn ich jetzt wieder auf den Zufallsgeneratorbutton klicke, ist die Auswahl auf die Bereiche A, C, D, E beschränkt, da B ja schon aufgerufen wurde. Die "Verdichtung" findet insofern statt, als nach 4maligem Klick nurnoch ein Bereich übrigbleibt...

Bin kein Programmierer -und definitiv kein Mathematiker-, aber ich glaube dein .fla ist schon zuviel des Guten...
 
Hi,

mensch, heut hab ichs aber mit dem Verständnis... ^^

Ok, anbei eine "strikte" Version, die generell noch nicht aufgerufene Einträge ausspuckt:

Gruß
.
 

Anhänge

  • randomselect2.zip
    5,8 KB · Aufrufe: 13
Hi,
danke schön. Das Prinzip stimmt. Kannst du mir bitte das Skript im angehängten Fla so modifizieren, daß der MC Content zum entsprechenden Bild springt und das clearAll(); nicht zurückgesetzt wird, wenn man 10x geklickt hat ? Es wäre sehr lieb von dir. Ich habs auch selbst versucht, aber ich steige da nicht durch...

Danke im Vorraus
 

Anhänge

  • randomselect2b.fla.zip
    10,9 KB · Aufrufe: 8
Hi,

ändere einfach in der Funktion "nextOne" die Zeile
PHP:
return rnd;
in:
PHP:
_root.ct.gotoAndStop(rnd + 1);
und benenne den MC in "ct" um, denn "content" ist ein reserviertes Wort in AS.

clearAll() muss aufgerufen werden, sonst ist nach dem zehnten Klick Schluss! Wenn Du das allerdings so haben willst, schreibe die Funktion "nextOne" so um:
PHP:
function nextOne() {
	var amt = 0;
	for (var i=0; i<count; i++) {
		amt += hits[i];
	}
	if (amt < count) {
		var rnd = int(Math.random() * count);
		while (hits[rnd] > 0) {
			rnd = int(Math.random() * count);
		}
		hits[rnd] ++;
		_root.ct.gotoAndStop(rnd + 1);
	}
}

Gruß
.
 
Wunderbar! Nochmals vielen Dank.
Leider macht es so keinen wirklichen Sinn. Entweder der Zufallsbutton wird gelöscht sobald alle Bereiche aufgerufen wurden, oder man kann weiterhin zufällig hin,- und herspringen, ohne daß die anderen Buttons gelöscht werden...

Das muß doch irgendwie gehen?

Gruß
 
... das geht sicher irgendwie. Leider habe ich nicht verstanden, was nun passieren soll: Man kann nur entweder einmal alle Punkte durchgehen, oder beliebig oft alle Punkte mit Ausschluss der jeweiligen aufgerufenen. Wenn Du noch einmal verständlich erklären kannst, was sich genau abspielen soll, kann ich Dir sicher weiterhelfen.

Gruß
.
 
Hi Datic,
daß mit der Verständlichkeit ist leider sone Sache...

Am Besten wäre es, wenn bar 0-9 nicht gelöscht werden, nachdem 10x geklickt wurde. Beim 11. Klick springt der MC ct wieder per Zufall in ein frame, bar0-9 bleiben aber sichtbar auf der Bühne. Also genau so, wie wir es jetzt haben, außer daß beim 11. Klick (und den folgenden Klicks) bar0-9 sichtbar bleiben.

ALTERNATIV dazu müßte der Button für den Zufallsgenerator gelöscht werden, nachdem bar0-9 alle sichtbar geworden sind. Mit dem 10. Klick wird also der Button gelöscht und bar0-9 bleiben sichtbar auf der Bühne.

Ich hoffe das war verständlicher ?! Ich geb mir echt mühe...

Grüße
 
äh. Wozu genau brauchst Du eigentlich die Clips bar0 - 9 ? Die habe ich nur angelegt, um die Verteilung irgendwie zu visualisieren... na ja, ruf doch einfach die Methode zum aktualisieren der Balken ab dem 10. Mal nicht mehr auf und sage statt dessen etwas wie;
PHP:
button._visible = false;

Gruß
.
 

Neue Beiträge

Zurück