Jump to content

Problem: wczytywanie tekstu i onRelease [flash]


FlooX

Recommended Posts

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 :*

Link to comment
Share on other sites

Guest User190

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

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

Guest User190

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ć.

Link to comment
Share on other sites

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 [email protected] WIELKIE DZIĘKI CI :*

Edited by FlooX
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy