You are not logged in.

1

Tuesday, January 21st 2014, 2:46pm

In Fotos blättern; was mache ich falsch ?

Ich will einen layer (container) erstellen, in welchem ich durch Anklicken eines Vorwärts-/Rückwärtsbuttons durch eine Serie von Fotos blättern kann. Die Fotos sind plugins, die mit foto1, foto2, etc. benannt sind und als Zähler verwende ich eine Variable img_count.
Das Code-Schnipsel, das nicht funktioniert, sieht so aus:

<action name="next_img" >
if(%1==1,set(plugin[get(foto)].visible,false);add(img_count,1);set(plugin[get(txtreplace(foto,'1',img_count))].visible,true));
</action>

Am Anfang enthält die Variable foto den Wert "foto1" und img_count den Wert 1. Klicke ich auf den Vorwärtsbutton, so wird next_img ausgeführt. Das erste set funktionert, d.h. Foto1 verschwindet, aber Foto2 erscheint nicht. Ich habe verschiedene Varianten mit Anführungszeichen und get vor den Variablennamen ausprobiert, ohne Erfolg. Auch die einfachere Variante, wo der Index der plugins verwendet wird, funktioniert nicht, da offenbar für layers und plugins derselbe Index verwendet wird: Es verschwinden mir dann andere layers in der Anwendung, wenn ich den button mehrfach klicke.

Wo steckt der Fehler ?

2

Tuesday, January 21st 2014, 5:37pm

Meine Antwort

Hallo,
habe den Fehler in der Zwischenzeit selber gefunden. Es scheint ein Problem der Funktionsverschachtelung zu sein. Wenn ich die Zeile so

if(%1==1,set(plugin[get(foto)].visible,false);add(img_count,1);txtreplace(foto,'1',get(img_count));set(plugin[get(foto)].visible,true));

schreibe, funktioniert es (wobei ich txtreplace durch eine besser geeignete Funktion ersetzen werde).