PDA

Volledige versie bekijken : Loop van tekstvelden


DoaX
%Europe/Berlin %711 %2005, 17:04
Ik heb verschillende tekstvelden en wil dit in een loop steken zodat om de paar seconden en ander tekstveld wordt weergegeven.

Per tekstveld heb ik een TextFormat aangemaakt:

var FMT_2:TextFormat = new TextFormat();
FMT_2.font = "Garamond_id";
FMT_2.size = 25;
FMT_2.color = 0x0066CC;
}
//slogandeel1
this.createTextField("txt1", 1, -340, -170, 360, 150);
this.txt1.text = "blablablablabla";
this.txt1.setTextFormat(FMT_2);
this.txt1.selectable = false;
this.txt1.embedFonts = true;
//slogandeel2
this.createTextField("txt2", 2, -300, -150, 360, 150);
this.txt2.text = "tralalallalalala";
this.txt2.setTextFormat(FMT_2);
this.txt2.selectable = false;
this.txt2.embedFonts = true;
//slogandeel3
this.createTextField("txt3", 2, -300, -150, 360, 150);
this.txt3.text = "hupsasasasasa";
this.txt3.setTextFormat(FMT_2);
this.txt3.selectable = false;
this.txt3.embedFonts = true;

Dus eerst moet "blablalblalbla" komen dan "tralalalalal" en dan "hupsasasasa" ...

Ik veronderstel een for-lus maar ik weet niet hoe ik dan die tekstvakken moet aanspreken?

Ik weet dat dit ook gaat op via de tijdslijn maar ik wil het in AS

Jordy
%Europe/Berlin %729 %2005, 17:30
Je moet een interval gebruiken :) Staat heel goed in de Flash help beschreven hoe je dit gebruikt

btw: je code klopt niet ;) in het begin staat er een "}", die moet weg :)

DoaX
%Europe/Berlin %447 %2005, 10:44
Normaal zou het met onderstaande code moeten werken, denk ik ... Maar het werkt dus niet!

//fonts
var FMT_2:TextFormat = new TextFormat();
FMT_2.font = "Garamond_id";
FMT_2.size = 25;
FMT_2.color = 0x0066CC;

//slogandeel1
this.createTextField("txt1", 1, 5, 100, 360, 150);
this.txt1.text = "TEKST1";
this.txt1.setTextFormat(FMT_2);
this.txt1.selectable = false;
this.txt1.embedFonts = true;
this.txt1._visible = false;
//slogandeel2
this.createTextField("txt2", 2, 15, 120, 360, 150);
this.txt2.text = "TEKST2";
this.txt2.setTextFormat(FMT_2);
this.txt2.selectable = false;
this.txt2.embedFonts = true;
this.txt2._visible = false;

teller = 1
var tekstje
function myTimer():Void {
if (teller == 2) {
tekstje = "this.txt" + teller
tekstje._visible = true
teller = 1
tekstje = "this.txt" + teller
tekstje._visible = false
trace(tekstje)
}
else {
tekstje = "this.txt" + teller
tekstje._visible = true
teller +=1
tekstje = "this.txt" + teller
tekstje._visible = false
trace(tekstje)
}
}
var intervalID:Number = setInterval(myTimer, 5000);

theFlashWizard
%Europe/Berlin %487 %2005, 11:42
het kan niet zijn dat een textfield geen visible property heeft?
probeer de textfields eens in mc's te maken en die dan wel of niet visible te maken.

Flasher
%Europe/Berlin %500 %2005, 12:00
Dit:
tekstje = "this.txt" + teller
moet je veranderen in dit:
tekstje = this["txt"+teller];
zoals jij het had is tekstje een string in plaats van een reference naar het tekstveld.
Als je de variabele tekstje net zoals de andere strict had getyped (var tekstje:TextField) had je dat gemerkt omdat flash dan een error geeft.
en tFW, textfields hebben wel een _visible property

DoaX
%Europe/Berlin %508 %2005, 12:12
Visible werkt alleen op dynamische tekstvelden! Ik heb er dus dit bijgezet:

this.txt1.type = "dynamic"

Maar het werkt nog steeds niet ...