Variable in Textfeld ausgeben

Roli189

Mitglied
Hallo!

Ich möchte in einem dynamischen Textfeld Bildnummern anzeigen lassen.
Es läuft so:

Ein Bild wird geladen - dann button gedrückt nächstes Bild usw. und ein Textfeld soll anzeigen das wievielte Bild gerade geladen wurde.

Da ich die Variable i schon definiert habe ( var i = 1) dachte ich ich ziehe ein dynamisches Textfeld auf die Bühne mit der Variablen bild und schreibe als Script:

bild = "Bild " +i+ " von 20";

Aber die Variable verändert sich nicht es steht nur 1 im Textfeld.
Kann mir jemand sagen wie ich es machen muss damit die aktuelle Zahl im Textfeld steht?

Danke

Roli
 
na ja,

Du musst den Text auch immer dem Textfeld zuweisen, sobald sich der Wert der Variable bild ändert:
PHP:
bildtextfeld.text = "Bild " + i + " von 20"
(bzw. wenn Du mit einer Textfeldvariable arbeitest, muss Diese auch aktualisiert werden)

Ich nehme an, Du stepst mit einem Button oder so durch die Bilder? Dann führe diesen Code einfach beim Klick auf diesen Button aus.

Gruß
.
 
Danke für die Antwort.

Du hast recht ich steppe mit einem Button durch die Bilder es klappt jetzt auch.
Aber:
Ich habe auch einen Button mit dem man wieder einen Schritt zurück kann da habe ich

bildtextfeld.text = "Bild " +(i--)+ " von 20";

eingegeben.
Aber wie kann ich es aufhalten das man über das 20ste bzw. 1 Bild hinauskann.
Ich hoffe du verstehst was ich meine.

Thx

Roli
 
Hi,

erstmal: müsste es nicht
Code:
bildtextfeld.text = "Bild " +(--i)+ " von 20";
heissen?

Zur Frage: Verändere die Variable vor der Textzuweisung und teste, ob ihr Wert den gültigen Bereich verlässt:
PHP:
on(release) {
    i--;
    if (i < 1) i = 1;
    bildtextfeld.text = "Bild " + i + " von 20";
}
(Dergleichen natürlich auch für den anderen Button)

Gruß
.
 
Hi und vielen Dank wieder mal für deine kompetente Antwort

Es klappt jetzt das ich nicht mehr unter 1 gehe aber wie funktioniert das in die gegenrichtung das ich nicht über die 20 hinausgehe?
Ach und nebenbei geht es auch das ich den Button deaktiviere wenn er bei 1 bzw. bei 20 angelangt ist? (Es geht sicher nur wie ist die Frage...)

Vielen Dank

Roli
 
So da ich langsam finde das Erklärungen zu kompliziert werden poste ich mal die fla.
Dann kann jeder sehen woran es hängt.

Thx
 

Anhänge

  • galerieVersuch.zip
    7,4 KB · Aufrufe: 106
... also sooo schwer kann das eigentlich nicht sein. ;)
PHP:
 on(release) {
    i ++;
    if (i > 20) i = 20;
    bildtextfeld.text = "Bild " + i + " von 20";
}
...Gell?

Gruß
.
 
Ach Datic du bist ein Goldjunge

Aber du hast recht da hätte ich selber daraufkommen müssen.

Etwas aber noch:

Wie deaktiviere ich die Buttons wenn die Maximalzahl erreicht wurde?
Ich dachte das geht so:

PHP:
on (release) {
	i--;
	this.Bildwechsel();
	if (i<1) {
		i = 1;
		this.enabled = true;
	}
	bildtextfeld.text = "Bild "+i+" von 20";
}
aber irgendwie.... du weisst schon.

Den Code habe ich jetzt nur dazugeschrieben das du siehst das ich mich echt bemühe alles zu verstehen :-(

Thx

Roli
 
Also,

gib zuerst dem zweiten Button auch einen Instanznamen (wenn der erste "back" heisst, nenne den anderen z.B. "fore"). Du musst nämlich (wenn z.B. der erste deaktiviert ist), beim Klick auf den zweiten den ersten wieder reaktivieren (und umgekehrt).

Dann käme auf den ersten Button:
PHP:
on (release) {
	this.Bildwechsel(-1); // nicht -i, das wäre falsch!
	fore.enabled = true; // den zweiten aktivieren
	i --;
	if (i < 1) {
		i = 1;
		back.enabled = false; // deaktivieren
	}
	bildtextfeld.text = "Bild " + i + " von 28";
}
und auf den anderen:
PHP:
on (release) {
	this.Bildwechsel(1);
	back.enabled = true;
	i ++;
	if (i > 20) {
		i = 20;
		fore.enabled = false;
	}
	bildtextfeld.text = "Bild " + i + " von 28";
}
(das i-- in der Textfeldzuweisung war ebenfalls fehl am Platz; Du veränderst die Variable ja schon vorher)

Gruß
.
 
Zurück