Autor | Zpráva | ||
---|---|---|---|
Honzass Profil |
#1 · Zasláno: 1. 5. 2005, 16:34:32
Zdravím,
nevíte náhodou někdo, jak vyřešit následující problém? Když načtu proměnnou z texťáku a použiju ji pro podmínku if nebo jinou tak to funguje. Pokud ji však použiju pro název instance, tak to nefunguje. Přitom když bych definoval proměnnou přímo v Action scriptu a použil ji pro název instance, tak to funguje. Jsem z toho opravdu už jelen. Kde je teda chyba? Předem dík za odpověď. NAČTENÍ PROMĚNNÉ ------------------------- myVars = new LoadVars(); myVars.onLoad = function() { _root.mapa.meritko = this.meritko; _root.mapa.posun = this.posun; }; Cislo = Math.random(); myVars.load("prevod.txt?"+Cislo); TOTO FUNGUJE (proměnná "meritko") ------------------------------------------------ onClipEvent (enterFrame) { if ( _root.mapa._xscale<"400" && _root.mapa.meritko == 1) { _root.mapa._xscale = _root.mapa._xscale+6; _root.mapa._yscale = _root.mapa._yscale+6; } TOTO NEFUNGUJE (proměnná "posun") -------------------------------------------------- onClipEvent (load) { id_mistnost = _root.mapa.posun; _root.mapa.polohax = ((_root.mapa.id_mistnost._x)*(-4)+ 262); _root.mapa.polohay = ((_root.mapa.id_mistnost._y)*(-4)+ 212); } PŘITOM TOTO FUNGUJE (např. proměnná " id_mistnost = A51) ---------------------------------------------------------------------- -------- onClipEvent (load) { id_mistnost = A51; _root.mapa.polohax = ((_root.mapa.id_mistnost._x)*(-4)+ 262); _root.mapa.polohay = ((_root.mapa.id_mistnost._y)*(-4)+ 212); } |
||
Hanz Profil |
#2 · Zasláno: 1. 5. 2005, 16:43:51
Honzass
1) Proč to nedáš do sekce o ActionScriptu ???? 2) To je snad úplně jasné. V době kdy tu hodnotu voláš ještě neexistuje (není načtena). onClipEvent (load) ---> při načtení MC ---> v té době to ještě není načteno onClipEvent (enterFrame) ---> včasových intervalech podle nastaveného fps ---> pořád dokola takže je jedno kdy se to načte. |
||
Honzass Profil |
#3 · Zasláno: 1. 5. 2005, 16:50:42
Ještě jedna věc:
Dá se nahradit část názvu instance proměnnou? třeba mám instance A1 A2 A3 A4 A5 šlo by? for (i=0; i <5; i++){ _root.mapa.A + i; } namísto zápisu: _root.mapa.A1; _root.mapa.A2; _root.mapa.A3; _root.mapa.A4; _root.mapa.A5; Samozřejmě to samo nic nevytvoří, ale ve scriptech, které používám, by mi to velice usnadnilo práci. |
||
Sitnarf Profil |
#4 · Zasláno: 1. 5. 2005, 17:16:18 · Upravil/a: Sitnarf
jasně.
Buď přímo:
Nebo pěkněji:
MovieClip ti taky vrací třeba attachMovie:
|
||
Honzass Profil |
#5 · Zasláno: 1. 5. 2005, 17:57:08
Re: Hanz
No zkusil jsem to udělat takto: Actions for Frame1: // NAČTENÍ PROMĚNNÝCH myVars = new LoadVars(); myVars.onLoad = function() { _root.mapa.meritko = this.meritko; _root.mapa.posun = this.posun; }; Cislo = Math.random(); myVars.load("prevod.txt?"+Cislo); // POSUN OBJEKTU _root.mapa.polohax = ((_root.mapa.posun._x)*(-4)+ 262); _root.mapa.polohay = ((_root.mapa.posun._y)*(-4)+ 212); A stále to nefunguje. Prostě potřebuju nahradit proměnnou posun názvem instance např.: namísto _root.mapa.polohax = ((_root.mapa.posun._x)*(-4)+ 262); _root.mapa.polohax = ((_root.mapa.A43._x)*(-4)+ 262); |
||
Honzass Profil |
#6 · Zasláno: 1. 5. 2005, 17:58:10
Re Sitnarf:
díky, aspoň to je vyřešeno. |
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0