PDA

Volledige versie bekijken : flash and php / mc_tween


hockmen
%Europe/Berlin %560 %2007, 14:27
Dag allen

ik ben weer aan het prullen met Flash en PHP.

ik ben in de begin fase en wil gewoon een php var in flash krijgen. jah dit lukt al niet meer :-s

dus wat heb ik gedaan?
- een dynamic textfield aangemaakt in een mc. dit is mijn configuratie:
. instance name: nav1_btn is van het textfield en geen btn.
. ik gebruik use device fonts
. var : nav1_btn
. single line
. render as HTML text is aangevinkt

dit is mijn code in flash:

lv = new LoadVars();
lv.load("test.php", lv);
lv.onLoad = function(ok) {
if (ok) {
_root.nav1_mc.nav1_btn.htmlText = lv.nav1_btn;
}
};

dit is mijn code in PHP:

$nav1_btn="&nav1_btn=";
$nav1_btn.= "Gastenboek";

echo "$nav1_btn";

wat geeft hij?
"; en meer niet :-x

nu heb ik ook de MC_tween extension gevonden, maar hij doet geen alfa tween meer op de mc waarin het textfield inzit. hij doet het wel als ik zonder php werk en dan ipv use device font anti-alias for animation en dan embed doe.
waarschijnlijk kan ik deze anti-alias for animation niet gebruiken als je met php werkt.
ik moet wel met php werken in deze site omdat ik met 3 talen in de site zit.

weet iemand een oplossing voor deze 2 problemen?
of hoe hebben jullie het in het verleden gedaan?

alvast bedankt
hockmen

Laiverd
%Europe/Berlin %638 %2007, 16:19
echo $nav1_btn;volgens mij

hockmen
%Europe/Berlin %643 %2007, 16:27
idd nu werkt het wel ineens terwijl ik het al eens geprobeerd had, rare boel. waarschijnlijk had hij niet goed vernieuwd.

heb jij ervaring met de mc_tween laiverd?
of weet je mss een oplossing om op dynamic textfields een alfa tween toe te passen met de mc_tween?

hockmen
%Europe/Berlin %688 %2007, 17:30
ok met anti alias gaat het. ^^

nu nog een vraagje. hoe doe je het best als je hele content van je site dynamisch is?

bijvoorbeeld voor de menu items heb ik voor ieder een apparte mc
maar als ik ze binnenhaal neemt hij alleen de laatste wat ik echo "contact" in dit geval. ik doe het zo:

actionscript:

lv = new LoadVars();
lv.load("test.php", lv);
lv.onLoad = function(ok) {
if (ok) {
_root.nav1_mc.nav1_btn.htmlText = lv.nav1_btn;
_root.nav2_mc.nav2_btn.htmlText = lv.nav2_btn;
_root.nav3_mc.nav3_btn.htmlText = lv.nav3_btn;
_root.nav4_mc.nav4_btn.htmlText = lv.nav4_btn;
_root.nav5_mc.nav5_btn.htmlText = lv.nav5_btn;
_root.nav6_mc.nav6_btn.htmlText = lv.nav6_btn;
}
};


php:

<?php
$nav1_btn="&nav1_btn=Gastenboek";
$nav2_btn="&nav1_btn=Omgeving";
$nav3_btn="&nav1_btn=Vrije Tijd";
$nav4_btn="&nav1_btn=Prijzen";
$nav5_btn="&nav1_btn=Arrangementen";
$nav6_btn="&nav1_btn=Contact";

echo $nav1_btn;
echo $nav2_btn;
echo $nav3_btn;
echo $nav4_btn;
echo $nav5_btn;
echo $nav6_btn;

?>


is deze werkwijze fout en waarom geeft hij alleen de laatste weer in de eerste mc?

dubbelugh
%Europe/Berlin %698 %2007, 17:45
<?php
$nav1_btn="&nav1_btn=Gastenboek";
$nav2_btn="&nav2_btn=Omgeving";
$nav3_btn="&nav3_btn=Vrije Tijd";
$nav4_btn="&nav4_btn=Prijzen";
$nav5_btn="&nav5_btn=Arrangementen";
$nav6_btn="&nav6_btn=Contact";

echo $nav1_btn;
echo $nav2_btn;
echo $nav3_btn;
echo $nav4_btn;
echo $nav5_btn;
echo $nav6_btn;

?>


Je overschreef je variabele nav1_btn 6 keer, zodat alleen de laatste waarde 'Contact' opgeslagen werd.

hockmen
%Europe/Berlin %736 %2007, 18:41
******d*mmmmeuh stoem dak da nie zie.

nu is dit een goede manier om te werken?
nee, op welke manier gaan jullie tewerk?

Laiverd
%Europe/Berlin %752 %2007, 19:03
echo $nav1_btn.$nav2_btn.$nav3_btn.$nav4_btn.$nav5_btn. $nav6_btnMisschien moet je toch eens een keer je basiskennis van PHP wat gaan uitbreiden. Overigens zou ik het zo niet doen. Ik zou gewoon een string outputten met alle labels
echo "&nav=Gastenboek,Omgeving,Vrije Tijd,Prijzen,Arrangementen,Contact";Die string split je in Flash naar een Array, en daarna kun je ermee doen wat je wilt.

John

hockmen
%Europe/Berlin %919 %2007, 23:04
mijn PHP kennis is goed tot bijna zeer goed, maar mijn probleem is dat ik niet weet hoe of wat flash aan kan. hoe hij dingen verwerkt of opvangt.

door zulke goede reacties van jou laiverd leer ik bij. dank je ervoor.
als je nog tips kunt geven. die zijn altijd welkom.

mvg
hockmen

hockmen
%Europe/Berlin %320 %2007, 08:40
hoi

ik heb mijn string in flash en wil nu de items uit de array in een bestaande mc pasten.

ik heb mijn mc genummerd. dus ik kan die nummer gebruiken voor in een loop. maar ik weet geen manier om die nummer van de mc te veranderen in het path.

dit is mijn actionscript code:


lv = new LoadVars();
lv.load("parent.php?language="+user.data.language, lv);
lv.onLoad = function(ok) {
if (ok) {
var navigation = lv.nav;
var nav_array:Array = navigation.split(",");
for (var i = 0; i<nav_array.length; i++) {
_root.nav1_mc.nav1_btn.htmlText = nav_array[i];
/* dit heb ik ook geprobeerd, maar omdat het een path is kan het er niet in gebruikt worden : _root.nav+i+_mc.nav+i+_btn.htmlText = nav_array[i];*/
}
}
};

Laiverd
%Europe/Berlin %358 %2007, 09:36
Even uit het hoofd
_root["nav" + i + "_mc"].nav1_btn.htmlText = nav_array[i];

Probeer trouwens als het even kan het gebruik van _root te vermijden; het is niet per se fout, maar kan je later wel in de problemen brengen wanneer je deze swf eens zou willen inladen in een ander swf. Als je movieclip op de zelfde tijdlijn staat als dit script, kun je het sowieso weglaten; kijk anders even naar _parent.

John

hockmen
%Europe/Berlin %462 %2007, 12:06
hmm het blijkt niet te werken.

dit is mijn code tot nu (as)

lv = new LoadVars();
lv.load("parent.php?language="+user.data.language, lv);
lv.onLoad = function(ok) {
if (ok) {
var navigation = lv.nav;
var nav_array:Array = navigation.split(",");
for (var i = 0; i<nav_array.length; i++) {
["nav" + i + "_mc"].["nav" + i + "_btn"].htmlText = nav_array[i];
}
}
};


dit geeft hij als fout "Expected a field name after '.' operator"
op deze regel ["nav" + i + "_mc"].["nav" + i + "_btn"].htmlText = nav_array[i];

Laiverd
%Europe/Berlin %465 %2007, 12:10
Spreek je wel een textfield aan?

hockmen
%Europe/Berlin %497 %2007, 12:55
yep, want op deze manier werkt het wel

nav1_mc.nav1_btn.htmlText = nav_array[i];

Mr. Black
%Europe/Berlin %518 %2007, 13:26
De haakjes doen eigenlijk het werk van de punt, dus die hoef je niet meer te typen:

lv = new LoadVars();
lv.load("parent.php?language="+user.data.language, lv);
lv.onLoad = function(ok) {
if (ok) {
var navigation = lv.nav;
var nav_array:Array = navigation.split(",");
for (var i = 0; i<nav_array.length; i++) {
_root["nav" + i + "_mc"]["nav" + i + "_btn"].htmlText = nav_array[i];
}
}
};

Je tenslotte toch ook

_root["ok" + i]
// en niet
_root.["ok" + i]

Succes nog. ;)

hockmen
%Europe/Berlin %546 %2007, 14:07
iep iep thnx het werkt.

bedankt voor jullie reacties!!!