Autor Zpráva
Anonymní
Profil *
Mam tu jeden zapeklity problem:

mam nekolik (hodne) instanci jednoho MC, generuji se dynamicky a jmenuji se napr. dot1, dot2, dot3 ...atd.

a tlacitko ktere (podle jinych parametru) spocita promenou i a pak by melo spustit instanci MC ktera ma jmeno ve tvaru "dot" + i (napr. dot37)

jenze zapis ve tvaru "dot"+i.play() to nebere, zkousel jsem to i pres dalsi promenou ale taky se nic nedeje.

V php se to resi jednoduse $$i ale co ve Flashi? Diky za pripadne reakce.
Hanz
Profil
Nevím jestli to půjde ale napiš to takhle:¨
eval("dot"+i+".play()")

Nezkoušel jsem to ale možná to bude fungovat(myslím si to)
Leo
Profil
Moc ve Flashi nedelam, ale v Actionscriptu nejsou pole? Nebo se nedaji pouzit pro jmeno instance? Leo
Anonymní
Profil *
jj to je presne ono:

eval("dot"+i).play()

dik moc!
Hanz
Profil
Leo
Nechápu --> kdo tu mluví o nějakém poli?
Leo
Profil
Ale nic, spete dal, Leo
Hanz
Profil
Leo
Né. Napiš mi co nechápu. Mně to zajímá! Pouč mně (já PHP nerozumím takže jestli tohle: $$ Má něco společného s polem tak mi to napiš)
Leo
Profil
No ja nejsem expert na Flash, ale kdyz vidim, ze nekdo obecne pouziva tisic promennych s nazvy

$cislo1 = 23;
$cislo2 = 2;
$cislo3 = 5.8;

a pak slozite eval nebo $$...

tak se ptam, jestli nejde pouzit pole (Array) a mit jednotliva cisla ulozena v cislo[1], cislo[2], atd.

Leo
Hanz
Profil
Leo
To nejde on potřebuje aby se načítaly MC s názvy dot1 až dotNEKONEČNO. eval() -- slouží k tomu aby flash bral jakýkoliv zápis jako část kódu)
Nedokážu si představit jak by to bylo v poli (upsal by se k smrti --> představ si že by jich mněl 999999 a mněl by je všechny zapsat do pole. A potom ještě složitě načítat)
Hanz
Profil
Jo a tento znak ($) se ve Flashi vůbec nepoužívá
DoubleThink
Profil *
Pole samozřejmě ve Flashi jsou.
Dokonce by to pomocí nich bylo výhodnější:

místo dot1, dot2, dot3 bys měl pole dot[i] - dot[0], dot[1], ...
Hanz
Profil
DoubleThink
Zdá se mi že by to vyšlo nastejno.
DoubleThink
Profil *
líp se s tím pak pracuje...
gloryX
Profil
Nedavno jsem řešil podobný - ne-li stejný problém...(pokud ti dobře rozumím)

asi bych to napsal takto:

_root["dot"+i].play()
- kde používáš cestu přes root (kdybys měl klip vnořený, tak to pak funguje: _root.mc1.mc2.play() - kde mc2 je elementem mc1)

snad ti to pomuze
sanxo
Profil *
sposob:

_root["dot"+i].play()

pouzivam aj ja a funguje spolahlivo :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.