Toon posts:

[Flash] PHP variables target*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Heb echt al hard lopen zoeken en heb het bijna opgelost, maar er ontbreekt nog 1 stukje in de puzzel. Wat is de bedoeling:

Vanuit Flash worden verschillende variabelen ingelezen uit een MySQL-db met PHP. Dit gaat goed.

Ik weet nu hoe ik ze in Flash kan tonen d.m.v. loadVariablesNum("read_content.php", 0). Maar dit is alleen in de huidige movieclip. Wat ik wil is dat ze in de _root worden geladen en vervolgens 2 levels lager ook te lezen zijn. In mijn geval is dat _root.content en hierin zitten dan verschillende movieclips (volgens mij zou het niet uit moeten maken of deze laatste een instance name hebben of niet) en in elke movieclip zit een dynamic textfield met een var naam die zojuist is ingelezen.

Dus: inlezen in _root en uit te lezen in movieclips in _root.content


Ik heb bijvoorbeeld ook al geprobeerd ze in te lezen in _root.content met

onClipEvent (load) {
loadVariablesNum("read_content.php", this);
}

of op level 0, 1 of 2. Dit werkt dus niet.... :'(

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 20:27

crisp

Devver

Pixelated

topic titel ontcapsed ;)

Intentionally left blank


  • stefanvverk
  • Registratie: Oktober 2002
  • Niet online
Kort uit het hoofd:
Is het niet gewoon zo;

onClipEvent (load) {
loadVariablesNum("read_content.php", _root);
}

??
Want; 1e deel is toch WAT je wil inlezen, en 2e deel is toch WAAR naar TOE ??
Of heb ik dat mis ?

[edit]
Jah, heb ff gecheckt, en het klopte wat ik zei.
Naast onClipEvent kan je het ook in de timeline zitten, dus gewoon in Frame 1 bijvoorbeeld. Effect is hetzelfde.
Alleen (!!!!) als je bij je bij action Location "target" in plaats van "level" selecteert, en dan _root in vult, werkt het beter geloof ik. Zal je even moeten uitproberen.
Dit is em dan met Location "target":
code:
1
loadVariables("myvars.php", _root);

en dit is em met Location "level":
code:
1
loadVariablesNum("myvars.php", _root);

[ Voor 63% gewijzigd door stefanvverk op 17-10-2003 23:29 ]


Verwijderd

Topicstarter
sorry voor de caps..

had er inderdaad nog niet aan gedacht ze gewoon in de timeline te laden. maar dat werkt dus ook niet, heb domweg alles maar geprobeerd: loadVariables/-Num, _root/"_root", etc.

dus het zou zo moeten zijn dat als je iets in de _root hebt ingeladen, ze voor alle onderliggende movieclips beschikbaar zouden moeten zijn?

  • stefanvverk
  • Registratie: Oktober 2002
  • Niet online
Verwijderd schreef op 17 October 2003 @ 23:42:
sorry voor de caps..

had er inderdaad nog niet aan gedacht ze gewoon in de timeline te laden. maar dat werkt dus ook niet, heb domweg alles maar geprobeerd: loadVariables/-Num, _root/"_root", etc.

dus het zou zo moeten zijn dat als je iets in de _root hebt ingeladen, ze voor alle onderliggende movieclips beschikbaar zouden moeten zijn?
Iets dat je in de _root inlaad, en dus in de _root "plaatst", kan je opvragen van waar je maar wilt.
Dus bijvoorbeeld ik laad iets in in _root, en in _root.myMC.mysub.foo heb ik staan "_root.myvar = bar" of "this.bar = "_root.myvar", het werkt allemaal. Zolang je maar de juist path gebruikt.
En.............. geef je PHP de tijd om te laden. Dus doe niet in Frame 1 je loadVar en in Frame 2 wil je ermee werken.. Dat kan soms mislukken omdat Flash niet ZO snel is...

Verwijderd

Topicstarter
hmmzz.. ik heb nu maar voor een alternatieve oplossing gekozen, maar deze werkt wel. als iemand vragen hierover heeft kan-ie bij mij terecht :-)

Verwijderd

Topicstarter
leuke timing stefanvverk ;-)

ok, ik snap het nu allemaal wel geloof ik, tnx!!

  • stefanvverk
  • Registratie: Oktober 2002
  • Niet online
Verwijderd schreef op 18 oktober 2003 @ 00:04:
leuke timing stefanvverk ;-)

ok, ik snap het nu allemaal wel geloof ik, tnx!!
M'n timing zuigt ;)
En wat was je oplossing dan ?

Verwijderd

Topicstarter
AS frame 1: loadVariables("read_content.php", _root)

En in plaats van tekstvelden in meerdere movieclips heb ik die tekstvelden voor 1 tekstveld in (een aparte layer in) de movieclip _root.content vervangen. de inhoud daarvan wijzig ik dan steeds door middel van: _root.content.<tekstveld) = _root.<variabele>;

ik vind het een beetje omslachtig, maar het werkt prima voor mij. waarschijnlijk is het ook nog iets efficienter door het gebruik van 1 tekstveld. hier worden verder toch geen acties mee uitgevoerd, wat trouwens wel zou kunnen.
Pagina: 1