FlooX Napisano 2 Czerwiec 2008 Napisano 2 Czerwiec 2008 Witam, Ja tu do Was z dwoma problemami które nie dają mi spać od dwóch dni i nie potrafie ich obejść (szczególnie drugiego) 1. Zawsze wczytywałem tekst dynamicznie tym sposobem: var tekst:LoadVars = new LoadVars(); tekst.onLoad = function(success) { if (success) { pole.htmlText = tekst.home; } else { pole.text = "Błąd podczas wczytywania pliku"; } } tekst.load("tekst.txt"); pole - dynamicznie pole tekstowe do którego wczytuje tekst tekst - obiekt(?) LoadVars przetrzymujący wczytany plik tekstowy I wszystko gra, bo zawsze piasłeś w AS2, jednak ostatnio zostałem zmuszony przez klienta zastosować AS3 (mniejsza z tym dlaczego) i okazało sie, że pod AS3 moja metoda się nie sprawdza. Wywala mi w outpucie ze jakiś nieznany ten LoadVars i nie wczytuje tekstu. Jak sobie z tym poradzić? jak wczytać ten tekst pod AS3 ? 2. Robie galerie, mam X miniaturek i zastosowałem pętle, żeby przypisać każdej z nich akcje onRelease: var wgrywacz:MovieClipLoader = new MovieClipLoader(); for(i=1; i miniaturkai = _root.miniaturki["zdj"+i]; //przypisuje odpowiedni clip z miniaturką miniaturkai.duzyobraz = "zdjecia/"+i+".jpg" //przypisuje odpowiednie zdjecie duze miniaturkai.onRelease = function() { wgrywacz.loadClip(this.duzyobraz, _root.zdjecia); //wczytuje zdjecie do clipu zdjecia _root.zdjecia._x = (Stage.width - _root.zdjecia._width)/2; //wyrównuje klip zdjecia centralnie na srodek sceny } } wgrywacz.loadClip("zdjecia/1.jpg", _root.zdjecia); i wszystko działa prócz jednego - tego wyrównania do środka, choć też niecałkiem bo: Klip wyrównuje się ale po dwóch kliknięciach, tzn że za pierwszym kliknięciem wyrównuje on z danymi poprzedniego zdjęcia a potem zapamiętuje te z obecnego. tzn, że wyrównuje zdjęcie z rozmiarami poprzedniego, czyli dopiero po drugim kliknięciu wyrównuje sie to dobre, bo za pierwszym zapamiętał rozmiary tego zdjęcia. Rozumiecie ? prosze bardzo o pomoc, bo ja próbowałem różnych sposobów, ale ciągle stoje w miejscu. czemu tak sie dzieje z tym wyśrodkowywaniem. Pozdrawiam :*
Gość User190 Napisano 3 Czerwiec 2008 Napisano 3 Czerwiec 2008 Ad. 1. A nie możesz z Xmla?? :> Wpisz w google "AS3 XML parsing" i wyskoczą Ci tutki. Ad. 2. To drugie to AS2 jak mniemam. Dziwne.. jak znajdziesz rozwiązanie to napisz :) Btw. AS2 to przeżytek :P
FlooX Napisano 3 Czerwiec 2008 Autor Napisano 3 Czerwiec 2008 Ad. 1. A nie możesz z Xmla?? :> Wpisz w google "AS3 XML parsing" i wyskoczą Ci tutki. Nie mam czasu bawić sie w cos czego nie znam, poza tym klient chce plik tekstowy żeby łatwo mu było edytować:) Już samo txt z tą zmienną w środku ciężko mu było zajarzyć, a co dopiero xml ? więc ?
Gość User190 Napisano 3 Czerwiec 2008 Napisano 3 Czerwiec 2008 Nie wczytywałem nigdy z czystego txt, więc nie wiem co jest nie tak, ale gdybyś się skusił na xmla to masz tu przykładowe drzewo: tekst.xml Tutaj wpisz tekst i kod w AS3: var xmlLoader:URLLoader; var xmlData:XML; function loadXml(xmlFile:String):void { xmlLoader= new URLLoader(); xmlData = new XML; xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded); xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlLoadFail); xmlLoader.load(new URLRequest(xmlFile)); } function xmlLoadFail(event:IOErrorEvent):void { trace("Sth goes wrong"); } function xmlLoaded(e:Event):void { var xDoc:XMLDocument = new XMLDocument(); xDoc.ignoreWhite = true; var trescXML:XML = XML(xmlLoader.data); xDoc.parseXML(trescXML.toXMLString()); var xmlNode = xDoc.firstChild; } xmlNode to twój tekst. Trochę więcej klepania, ale później masz łatwiejszą edycję i przetwarzanie. Zresztą kto co lubi. Jak chcesz to skorzystaj, jak nie chcesz to nie :) Kod można zoptymalizować, na szybko przerobiłem trochę bardziej skomplikowaną implementację, ale powinno działać.
FlooX Napisano 3 Czerwiec 2008 Autor Napisano 3 Czerwiec 2008 (edytowane) no raczej musze skorzystać z tego bo grzebie po necie i wszędzie już tylko xml :| widze, że dośc nie na czasie jestem. Wiec skopiowałem to co dałeś, stworzyłem tego tekst.xml ale nie działa. trejsuje to xmlNode i nic mi nie pokazuje do pola tekstowego tez mi nie chce przypisać btw _root.poletxt.text = xmlNode; i mi sie pluje o _root, boze co ludzie zrobili z tym Action script !? help EDIT: dobra ok działa wczytuje mi do pola, ale razem z tymi znacznikami jak sie tego pozbyć ? EDIT: ok coś pogrzebałem, nawet nie wiem co i działa. A teraz pytanie: Załóżmy, że każdy container będzie miał nazwe działu, i zamiast tego container będzie oferta. Potem np galeria itd. Więc teraz odbieram oferte, a jak odebrać następne działy ? I M@Ti WIELKIE DZIĘKI CI :* Edytowane 3 Czerwiec 2008 przez FlooX
Gość User190 Napisano 3 Czerwiec 2008 Napisano 3 Czerwiec 2008 var xmlNode = xDoc.container; Trochę niewyspany jestem, ale powinno działać ;)
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się