SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - problem z XML'em

torm - Sob 26 Sty, 2008 14:52
Temat postu: problem z XML'em
no więc załadowałem sobie XML'a do Swish'a, problem polega na tym, że w SWISH'u nie da się załadowanemu tekstowi przyznać, żadnych efektów.. a potrzebuję żeby ten tekst pojawiał się tylko w określonych klatkach animacji no i czy jest jakaś skryptowa funkcja który pozwoli mi zlikwidować jednego XML'a i zastąpić go drugim w późniejszej części animacji?

wygląda to tak:
http://pigk.net/torm/Book5.html

na każdej kartce musi znajdować się inny XML
z góry dzięki za pomoc i pozdrawiam
__________________

eden - Pon 28 Sty, 2008 04:49

czesc,

jesli uzyłeś Device font lub to pole jest traktowane jako html to efekty mogą niezadziałac, sprobuj więc z vektorowa wersją.
Co do
Cytat:
na każdej kartce musi znajdować się inny XML
troche to dlamnie niejasne, załaduj całego xml'a i w pętli wczytaj go do tablic, potem juz tylko w odpowiednich klatkach przypisujesz tekstowym polą odpowiednie wartosci z tablic.
Ewentualnie jesli czegos niezrozumiałem mozesz schować jakis obiekt uzycając
nazwa._visible = false;

torm - Pon 28 Sty, 2008 14:47

tekst jest vektorowy mimo to efekty nie działają
ze znikaniem tekstu poradziłem sobie ładując po prostu czystego XML'a na miejsce poprzedniego bo visible też mi nie działa...

więc wszystko już w zasadzie jest ok:)
pojawił się natomiast kolejny problem, czy da się załadować 2 XML'e jednocześnie i je jednocześnie wyświetlić? ... bo mi zawsze wyświetla jeden, ale możliwe, że coś źle robię
tutaj można zobaczyć kod:
http://pigk.net/torm/kod.txt

eden - Pon 28 Sty, 2008 21:46

dlamnie wygląda git, jedyne co to dla scisnołsci sproboj

Kod:
onLoad () {
    menuXml = new XML();
    menuXml.ignoreWhite = true;
    menuXml.load("xml.xml");
   
    menuXml1 = new XML();
    menuXml1.ignoreWhite = true;
    menuXml1.load("xml1.xml");
   

    menuXml.onLoad = function(success) {
        if (success) {
            msg.text = "XML loaded successfully";
            menuItem = this.firstChild.childNodes;
            for (var i=0; i<menuItem.length; i++) {
                n = "iC" add i;
                duplicatesprite("itemClip", (n), i);

                (n)._y = 105+60*i;
               
                (n).nazwa.text = menuItem[i].attributes.nazwa;
                (n).cena.text = menuItem[i].attributes.cena;
                (n).opis.text = menuItem[i].attributes.opis;


        }
       
     }
     else {
         msg.text = "Could not load external data";
     }
    };
    itemClip._visible = false;
   
   
   
      menuXml1.onLoad = function(success) {
        if (success) {
            msg1.text = "XML loaded successfully";
            menuItem1 = this.firstChild.childNodes;
            for (var i=0; i<menuItem1.length; i++) {
                n1 = "iC1" add i;
                duplicatesprite("itemClip1", (n1), i);

                (n1)._y = 105+60*i;
               
                (n1).nazwa1.text = menuItem1[i].attributes.nazwa;
                (n1).cena1.text = menuItem1[i].attributes.cena;
                (n1).opis1.text = menuItem1[i].attributes.opis;

               
        }
       
     }
     else {
         msg.text = "Could not load external data";
     }
    };
    itemClip1._visible = false;
   
}

torm - Wto 29 Sty, 2008 13:29

może i wygląda dobrze, ale niestety nie działa..:/ w spricie wyświetla mi tylko ostatniego XML'a:/ siedze nad tym paskudstwem już od 3 dni... i niedługo dostanę białej gorączki :P
eden - Sro 30 Sty, 2008 10:44

jesli chcesz wyslij swi z samą obsługa twoich xml-ów i plikami xml, pooglądamy.
torm - Sro 30 Sty, 2008 19:52

proszę bardzo :)
http://pigk.net/torm/xml.rar

eden - Sro 30 Sty, 2008 23:15

no teraz lepiej, zauwazyłem czego niezauwazałem... generalnie wszystko działa jest tylko ten jeden mały trik...

Kod:
duplicatesprite("itemClip1", (n1), i);


duplicatesprite tworzy nowe sprity o podanej nazwie i na okreslonej warstwie, wszystko fajnie ale jesli taka warstwa juz istnieje to zostanie ona nadpisana nową, i taki przypadek własnie tutaj zaszedł ponieważ

Kod:
duplicatesprite("itemClip", (n1), i);


To itemCpli juz się stworzył na warstwach , 0,1,2,3,4... bo takie były kolejne iterazjie zmiennej i w pętli. Potem kod się powtorzył i iterazja i poszła od nowa. Proste rozwiązanie:

Kod:
duplicatesprite("itemClip1", (n1), i+100);


i juz działaja wszystkie xml'e naraz, ta sytuacja zaszła ponieważ dublikacje clipow odbyły się w tej samej lokacji (_root). Czyli poprostu zadbaj by iterazje były z uwzględnieniem poprzednich, czyli bazujac na liczbie menuItem. To chyba tyle : )

Niewiem jaka jest sytuacja w tym projekcie ale nadal polecał bym zrobienie jednego xml'a do całego menu.

torm - Czw 31 Sty, 2008 13:11

dzięki wielkie za uratowanie tyłka :)
wszystko działa jak należy :)

a co do jednego XML'a to pewnie masz rację, tylko, że ja nie miałbym zielonego pojęcia jak go później podzielić i powtykać w odpowiednie sprity... :)

tak czy inaczej jeszcze raz wielkie dzięki za pomoc:)

FliSs_tCv - Pią 08 Lut, 2008 09:15
Temat postu: Witajcie
Jak wczytywać np z pliku xml tylko 1 pliku xml ;] 10 wyników a reszte jakoś wczytywać na następnej stronie ... czy jest takie coś możliwe ?? dlaczego takie moje pytanie ponieważ odczytuje dane z bazy mysql tworze plik z danymi w formacie xml tylko teraz należy jakoś w swishmax je podzielić czy ustawić limit np 10 a w innym osobnym swf zrobić odczyt wszystkich wiadomości jakie będzie najkorzystniejsze rozwiązanie i kto pomógłby mi to zrozumieć :) pozdrawiam

Powered by phpBB modified by Przemo © 2003 phpBB Group