. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .




 
 
SEGÉDLETEK Navigáció, Scroll

Dinamikus szövegmezők közti tartalom betöltés
  feltöltve: 2004.10.25 | szerző: ismeretlen | olvasva: 15099 alkalommal

 
 

Egy dinamikus szövegmezőben elhelyezett linkekre kattintva egy másik dinamikus szövegmezőbe fogjuk beolvasni a tartalmat külső szövegfájlokból. Jó példa az asfunction használatára. Ez a segédlet Ducky Dinamikus szöveg scroll megoldások című segédletén alapul, az ott található megoldások közül én az egyszerűség kedvéért a Press Scroll-t választottam. Az ott leírtakra külön már nem térek ki, ellenben több ízben is hivatkozok rá, szóval érdemes előbb azt átnézni, ha eddig még nem kerűlt rá sor.

Ezt fogjuk elkészíteni:


Miután ezt a fórumozók segítségével sikerült megoldanom (külön köszönet savanya-nak), úgy döntöttem már tartozok annyival, hogy segédlet formájában közreadjam a megoldást.

1. LÉPÉS: Első lépésként hozzunk létre egy txt fájlt mondjuk Notepad-ben (UTF8 kódolás) main.txt néven, majd további x darab txt-t sub1.txt, sub2.txt .subx.txt néven (Unicode kódolás). Én a rend kedvéért a popupsys elemei nevű mappába tettem ezeket.

2. LÉPÉS: Második lépésben hozzunk létre egy új mozit (popupsystem.fla), melybe külön rétegekre helyezzünk el két, a Dinamikus szöveg scroll megoldások segédletben elkészített dinamikus szöveg scroll szimbólumot. Az egyiket nevezzük el maintext_mc-nek, a másikat subtext_mc-nek (ide kerülnek a maintext_mc-ből meghívott tartalmak)

3. LÉPÉS: Lépjünk bele a subtext_mc-be. A dinamikus szövegmezőt nevezzük el subtext-nek és változónak adjuk meg a sub-ot. Az action layer-en nyissuk meg a szkriptet és írjuk át az adat változót sub-ra, illetve a textb-t subtext-re.

4. LÉPÉS: Most lépjünk bele a maintext_mc-be és a szövegmezőt nevezzük el maintext-nek, a változó pedig legyen main. Az action layer-en nyissuk meg a szkriptet és írjuk át az adat változót main-re, illetve a textb-t maintext-re.

5. LÉPÉS: Nyissuk meg a már létrehozott txt fájlokat és a sub-okba írjuk be a következőt:

&sub=1, &sub=2, . &sub=n

Értelemszerűen mindegyik sub txt-hez azt a számot írjuk amelyik már a nevében is szerepel. Ez csak azért kell, hogy lásssuk a későbbiek során, hogy melyik txt tartalma kerül a subtext szövegmezőbe. Ha már működik a dolog az = után azt írhatunk amit akarunk.
A main-be ezt írjuk be:

&main=
<A HREF="asfunction:MyFunc,1">sub1</A><br>
<A HREF="asfunction:MyFunc,2">sub2</A><br>
<A HREF="asfunction:MyFunc,3">sub3</A><br>
<A HREF="asfunction:MyFunc,4">sub4</A><br>
<A HREF="asfunction:MyFunc,5">sub5</A><br>
.
.
.
<A HREF="asfunction:MyFunc,n">subn</A><br>

Az asfunction egy olyan HTML parancs, ami kifejezetten a Flash-hez kapcsolódik, segítségével előre definiált function-t hívhatunk meg, HTML szövegből.

MyFunc: a function neve
1,2,3.n: változó értéke amit átad a későbbiekben a sorszam nevű változónak.

6. LÉPÉS: Most, hogy megtörténtek az előkészületek írjuk át egy kicsit a szkripteket!
Kezdjük talán a maintext_mc-vel. Az action layer szkriptjét nyissuk meg és írjuk át a következőre:

function MyFunc(sorszam) {
     _root.subtext_mc.sub= "";
     _root.subtext_mc.loadVariables("popupsys elemei/sub"+sorszam+".txt");
     _root.subtext_mc.onData = function() {
          _root.subtext_mc.subtext.htmlText = _root.subtext_mc.sub;
     }
};

main = "";
this.loadVariables("popupsys elemei/main.txt");
this.onData = function() {
     maintext.htmlText = main;
};
function scu() {
     this.onEnterFrame = function() {
          maintext.scroll--;
     };
}
function scd() {
     this.onEnterFrame = function() {
          maintext.scroll++;
     };
}
function del() {
     delete this.onEnterFrame;
}

Ha jobban megnézzük a kódot láthatjuk a már említett Myfunc function-t melyhez a sorszam változó tartozik. Maga a function tartalma alapvetően a subtext_mc szkriptjéhez tartozik, tehát ott a szkript ezen részére már nincs is szükségünk, nyugodtan kitörölhetjük. Azért van szükség, hogy ez itt szerepeljen, mert a betöltendő txt nevéhez szükségünk van a sorszam változóra. (_root.subtext_mc.loadVariables("popupsys elemei/sub"+sorszam+".txt");) Természetesen elvileg lehetne úgy is, hogy a subtext_mc-nél adom meg a sorszam változó elérési útját, de ez a gyakorlatban sajnos nekem nem jött össze. Figyelni kell nagyon a helyes elérési utakra, nagyon sok fejfájást okozhatnak!

Ezek után lássuk a biztonság kedvéért minek kell szerepelnie a subtext_mc-ben található szkriptben:

function scu() {
     this.onEnterFrame = function() {
          subtext.scroll--;
     };
}
function scd() {
     this.onEnterFrame = function() {
          subtext.scroll++;
     };
}
function del() {
     delete this.onEnterFrame;
}

Kész is volnánk. A dolgok megértésében sokat segít, ha összehasonltjuk ezeket a szkripteket az eredeti Ducky által leírt kóddal.

 
 
 
 

© Devnet.hu. A segédletek semmilyen formában nem másolhatók, publikálhatók a Devnet.hu és a szerzők közös írásos engedélye nélkül.
 
. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .