Skocz do zawartości

Problem: wczytywanie tekstu i onRelease [flash]


Rekomendowane odpowiedzi

Napisano

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

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Gość User190
Napisano

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

Napisano
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

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

Napisano (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 przez FlooX
Gość User190
Napisano

var xmlNode = xDoc.container; Trochę niewyspany jestem, ale powinno działać ;)

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ę



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności