[AS/Flash 8] Dynamic Text update niet?

Pagina: 1
Acties:

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 24-12-2025
Ik heb een Dynamic Textfield waar een bepaalde text in zit, en die wil ik op een gegeven moment updaten. Dat doe ik vanuit een ander object, bij het behalen van een bepaald frame.

Ik gebruik de "target path" functie binnen de AS editor zodat ik het zeker weet dat ik de goede instance aanspreek. Het komt uiteindelijk hier op neer:

code:
1
this._parent.GUI.GWindow.programText.text = "About Me";


Gek genoeg verandert er vervolgens helemaal niets? Moet ik nog een bepaalde update() method aanroepen ofzo? De namen GUI, GWindow en programText zijn allemaal instance-names die ik zelf ingesteld heb, en die dus ook aangegeven worden door de target-path functie, lijkt me dus dat het pad opzich klopt :?

Rookworst zonder R is ook worst.


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 18-01 18:46

XangadiX

trepanatie is zóó kinderachtig

trace hem is, om te kijken of je wel de goede te pakken hebt, en schrijf je daadwerkelijk naar het veld of update je alleen de variabele?

Stoer; Marduq


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 24-12-2025
XangadiX schreef op maandag 19 juni 2006 @ 14:26:
trace hem is, om te kijken of je wel de goede te pakken hebt, en schrijf je daadwerkelijk naar het veld of update je alleen de variabele?
Ik ben niet zo bekend met de debugger van Flash, hoe kun je een object tracen?

Ik schrijf, zoals je ziet, gewoon een string naar de text-property van het dynamic textfield object en dat zou dus de text moeten updaten, maar er verandert niets. Ik blijf dus gewoon de text zien die ik at design time heb ingegeven...

Rookworst zonder R is ook worst.


Verwijderd

als je het volgende in de code zet, dan moet je wat zien in je output venster:
code:
1
2
3
4
5
6
7
8
// Oude tekst
trace(this._parent.GUI.GWindow.programText.text);

// Tekstveld nieuwe tekst geven
this._parent.GUI.GWindow.programText.text = "About Me";

// Nieuwe tekst
trace(this._parent.GUI.GWindow.programText.text );

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 24-12-2025
Verwijderd schreef op maandag 19 juni 2006 @ 16:48:
als je het volgende in de code zet, dan moet je wat zien in je output venster:
code:
1
2
3
4
5
6
7
8
// Oude tekst
trace(this._parent.GUI.GWindow.programText.text);

// Tekstveld nieuwe tekst geven
this._parent.GUI.GWindow.programText.text = "About Me";

// Nieuwe tekst
trace(this._parent.GUI.GWindow.programText.text );
Undefined? Mmm, zit er denk ik toch iets mis in de aanroep denk ik. Wel apart dat Flash daar geen error over geeft zoals een compiler dat wel zou doen... Undefined/unknown variable/object oid. Iig, iemand enig idee waar ik het nu in moet zoeken? Want ik weet toch zeker dat programText in GWindow zit en dat de GWindow instance in GUI zit... ?

Rookworst zonder R is ook worst.


Verwijderd

probeer dit eens:
code:
1
trace(_root.GUI.GWindow.programText.text);


Je pad klopt waarschijnlijk niet. Dit kan af en toe ff puzzelen zijn in Flash.

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 24-12-2025
Verwijderd schreef op dinsdag 20 juni 2006 @ 08:33:
probeer dit eens:
code:
1
trace(_root.GUI.GWindow.programText.text);


Je pad klopt waarschijnlijk niet. Dit kan af en toe ff puzzelen zijn in Flash.
Dat had ik ook al geprobeerd, zonder succes :/

Rookworst zonder R is ook worst.


  • LB Back
  • Registratie: November 2004
  • Laatst online: 03-06-2025
undefined betekent waarschijnlijk dat het textField niet op de tijdlijn aanwezig is,
op het moment dat je er een .text in wilt zetten.

Probeer "About Me" eens in een variabele (in de _root bijvoorbeeld) te zetten
en geef de waarde van die var door aan programText als je zeker weet dat die
aanwezig is.

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 18-01 18:46

XangadiX

trepanatie is zóó kinderachtig

als je hebt geexporteerd en de swf bekijkt in flash zie je het menu van flash veranderen, er zit dan onder anderen ook een 'debug' knopje in je menu waarmee je je variabelen en je objecten kunt bekijken. In je output window krijg je dan een lijst met al je objecten en variabelen met hun 'echte' pad (vanaf _level0) daar kun je dus altijd even doorheen zoeken

Stoer; Marduq


  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 24-12-2025
LB Back schreef op dinsdag 20 juni 2006 @ 11:22:
undefined betekent waarschijnlijk dat het textField niet op de tijdlijn aanwezig is,
op het moment dat je er een .text in wilt zetten.

Probeer "About Me" eens in een variabele (in de _root bijvoorbeeld) te zetten
en geef de waarde van die var door aan programText als je zeker weet dat die
aanwezig is.
Hey, dat lijkt te werken. Maar echt alleen als ik de .text property zet vanuit de tijdlijn waarin hij zich direct bevindt. Dus alleen als ik dus vanuit de huidige scope gewoon this.programText.text kan doen. Nu zet ik dus vanuit de aanroep gewoon een bepaalde var (die gedefinieerd wordt op Frame1 van de main timeline) en zet ik de text property gelijk aan de waarde van die var direct op het moment dat de boel in beeld komt. Via een omweggetje dus, maar het werkt :)

Thanks!

aanroep:
code:
1
2
this._root.GUI_Window_Text = "About Me";
this._parent.GUI.gotoAndPlay(2);


binnen het GWindow object op frame 1:
code:
1
this.programText.text = this._root.GUI_Window_Text;

Rookworst zonder R is ook worst.


  • LB Back
  • Registratie: November 2004
  • Laatst online: 03-06-2025
Fijn dat het werkt.

Als iets er niet is kun je er ook niets instoppen als het ware.
Als iets er op een gegeven moment wel is kan het iets ergens vandaan halen.

* LB Back is gewend in kindertaal met projectmanagers te praten ;)

  • BezurK
  • Registratie: Juni 2001
  • Laatst online: 24-12-2025
LB Back schreef op dinsdag 20 juni 2006 @ 16:04:
Fijn dat het werkt.

Als iets er niet is kun je er ook niets instoppen als het ware.
Als iets er op een gegeven moment wel is kan het iets ergens vandaan halen.

* LB Back is gewend in kindertaal met projectmanagers te praten ;)
Zeker. Sja opzich snap ik nu achteraf het probleem ook wel, maar ik wist niet dat er op het moment dat ik er iets in wilde stoppen er in feite dus niks was. In mijn ogen bestond het object gewoon, maar blijkbaar werkt Flash anders dan ik dacht ;)

Ervaring met andere programmeertalen is meestal erg handig, maar soms werkt het tegen je doordat je bepaalde dingen voor lief neemt blijkbaar ;)

Rookworst zonder R is ook worst.

Pagina: 1