Autor Zpráva
Belt
Profil *
Zdravim a prosim o radu s nasledujicim problemem.

Jak napsat kod podminky pro nacitani externiho swf dle promene v externim txt?
Aby v textaku bylo napsano treba movie1=a, movie2=b, ...

Ve flashi by byla podminka, co ma nacitat (movie1), podle toho zda je hodnota v textaku (a) nebo (b),
pokud (a) nacti 1a.swf a pokud (b) tak nacti 2b.swf

loadMovieNum("1a.swf", 2);
loadMovieNum("1b.swf", 2);

Dale co ma nacitat (movie2), podle toho zda je hodnota v textaku (a) nebo (b),
pokud (a) nacti 2a.swf a pokud (b) tak nacti 2b.swf

loadMovieNum("2a.swf", 3);
loadMovieNum("2b.swf", 3);


Diky moc za odpoved, vubec se mi to nedari dat do kupy.
FlashManiac
Profil
podívje se do helpu flashe na třídu LoadVars
je tam ppříklad.. od kterého se odrazíš.. po načtení txt souboru pak už budeš používat obyčejnou rozhodovací strukturu if
Belt
Profil *
Uz se mi to povedlo dat do hromady, diky za navedeni, ale funguje mi pouze ta druha podminka, prosim o radu, jak to doladit, aby podminek mohlo byt vice za sebou.


unloadMovieNum(2);

unloadMovieNum(3);


var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
if (my_lv.myVariable1==1) {

loadMovieNum("byt_1a.swf", 2);

} else {
loadMovieNum("byt_1b.swf", 2);

}
};
my_lv.load("example.txt");

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
if (my_lv.myVariable2==2) {

loadMovieNum("byt_2a.swf", 3);

} else {
loadMovieNum("byt_2b.swf", 3);

}
};
my_lv.load("example.txt");


toto je osah textaku:

&myVariable1=1&myVariable2=2&myVariable3=1&myVariable4=1&myVariable5=2&myVariable6=1

DIKY
Belt
Profil *
Nebo pokud to prehodim, pripadne rozlozim do vice vrstev, tak vzdy funguje pouze jedna podminka? :(
Belt
Profil *
my_lv2 :)
COBIS
Profil *
Pokud nacitas z textaku promenne tak jsou vzdy retezec a ne cislo. To znamena ze dana hodnota musi byt v uvozovkach:
if (my_lv.myVariable1=="1") {
//...
} else if (my_lv.myVariable1=="1") {
//...
}
Johnik
Profil
COBIS:
Není lepší toto?

if (Number(my_lv.myVariable1) == 1) { 
//... 
}


Belt:
Přepisuješ si my_lv a navíc to máš špatně navržené:

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) { 

if (my_lv.myVariable1 == 1)
{
  loadMovieNum("byt_1a.swf", 2); 
}
else if (my_lv.myVariable1 != 1)
{ 
  loadMovieNum("byt_1b.swf", 2);
}
else if (my_lv.myVariable2 == 1)
{
  loadMovieNum("byt_2a.swf", 2); 
}
else if (my_lv.myVariable2 != 1)
{ 
  loadMovieNum("byt_2b.swf", 2);
}

} 
};
COBIS
Profil *
Johnik
Nevidim duvot proc v tomto pripade pomoci tridy Number nebo metody parseFloat() prevadet retezec na cislo (pretypovavat data). Snad mozna pro lepsi orientaci ale to je sporne a navic se zbytecne vyknva dalsi akce. Pokud ti to tak vyhovuje nebo nekomu jinemu tak at to tak dela.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: