Autor Zpráva
czudlik
Profil
Zdravim,

mam problem, ktery se mi tady nepodařilo najít, možna jsem se malo snažil :) ale jde o to:

že načitam swf pomoci loadMovie() za existujici movie clip. Ta swf animace načítá do dynamického pole, které má na své hlavní časové ose, text z XML. v me animaci to samozřejmě nefunguje, protože cesta k tomu dynamickému poli je jiná. Existuje způsob, kterým bych mohl ten swf soubor načíst, a aby zaroveň komunikoval s XML?

díky
Boy
Profil
Mělo by to jít... zkus trošku podrobněji popsat svůj problém...
czudlik
Profil
V swf je komponenta, která načítá z XML do dynamického textového pole, které je na hlavní scéně. Když toto swf-ko nahraju do jiné animace funkcí loadMovie(), tak je celé to swf-ko v movie clipu místo kterého jsem ho nahrál a tím pádem už není to dynamické pole v hlavní scéně té animace a text z proměnné se do něj nenačte (Přesněji, nechci, aby to načtené swf-ko bylo na hlavní scéně, potřebuji ho vnořené v movie clipu, se kterým dále pracuji). Zkoušel jsem se hrabat v kodu te komponenty, ale je to osm A4 a navíc jsem některým věcem moc nerozuměl, popravdě už jsem trávil hodiny nad jiným skriptem a nemě jsem chuť.

Zkoušel jsem ještě v té animaci vytvořit na hlavní scéně to pole a načetlo to do něj, ale jen poprvé. Další odkazy, které do něj měly nahrávat už nefungovaly. Tak nevím...

Snad existuje nějaké (předpokládám že triviální) řešení :)

Měj se a díky.
Boy
Profil
S tímhle si určitě vystačíš.. jelikož je to alternativa k LoadMovie, akorát, že můžeš přesně určit do jakého MovieClipu se to nahraje (nejlépe prázdného). Hleď:
prazdny_mc._lockroot = true;  //Pokud v externím swf používáte komponenty a nefungují správně, tak je uzamčení časové osy v MovieClipu jediné řešení.

var nactiMC:MovieClipLoader = new MovieClipLoader();
var naslouchac:Object = new Object();
naslouchac.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
//Zde budou události, které se dějí během načítání souboru
//Můžete využít také proměnných bytesLoaded a bytesTotal pro zjištění aktuálně načtených a celkových bytů
//Následující script vypíše pomocí funkce trace() do okna Output počet celkových a aktuálně načtených bytů
trace("Nahráno: "+bytesLoaded+"B z celkových: "+bytesTotal+"B");
};
naslouchac.onLoadComplete = function(succes:Boolean):Void {
if (succes) {
//Zde patří události, které se mají stát po úspěšném načtení externího souboru, třeba:
trace("Externí soubor byl úspěšně načten");
}
};
nactiMC.addListener(naslouchac);
nactiMC.loadClip("soubor.swf", prazdny_mc);

Máš to i s preloaderem, což se asi bude hodit... jen si uprav cestu k souboru a taky si uprav události ve funkci naslouchac.onLoadComplete = function(succes:Boolean) { } a naslouchac.onLoadProgreess = function() {} A nezapomeň, že si musíš na hlavní scéně vytvořit prazdny MovieClip, do kterého to budeš načítat a jeho instanci pojmenovat prazdny_mc.
czudlik
Profil
Zkusím to a dám vědět.

diky za snahu :)
Boy
Profil
Nemáš zač.
czudlik
Profil
zacinam mit pocit, ze se proti me flash spiknul. Nejde mi nastavit _lockroot = true tomu prazdnemu klipu. At delam jak delam, v debbugeru se mu ta vlastnost neobjevi. Jo a samozrejme mi to porad nefunguje.
Boy
Profil
Tak zkus nastavit _lockroot teprve, až se animace načte (onLoad)
czudlik
Profil
zkousel jsem to v prazdne animaci a funguje to, ale v te me ani *****, nevim cim to muze byt.... stejny postup dva vysledky :(
czudlik
Profil
když udělaš dvakrat stejnou věc, pak doufaš, že bude pokažde fungovat stejně. Neni to pravda! Dvakrat jsem vyzkoušel ten návod v prazdné animaci, jednou to fungovalo podruhe ne. Tak nevim jestli má cenu pokračovat. Začínám nabývat dojmu, že ten problem při těchto okolnostech nevyřeším. Zkusím přeinstalovat Flash a uvidím...
czudlik
Profil
člověk je tvor trpělivý :) byl to problém s nastavením Publish Settings. Už to snad bude všechno v pohodě.
Každopádně ještě jednou díky.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0