Skocz do zawartości

Featured Replies

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
  • Wyświetleń 2,8k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

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
  • Autor
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 ?

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
  • Autor

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

Napisano

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

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności