[Flash] Ładowanie plików txt

Witam!

Mam skrypt AS do losowego, dynamicznego ładowania obrazków do flasha :

tablica = Array('1.jpg','2.jpg','3.jpg','4.jpg','5.jpg');

	ktory = "mc";

	potrzebny = true;

	function zmien() {

		if (ktory == "mc") {

			ktory = "mc2";

		} else {

			ktory = "mc";

		}

	}

	function losuj() {

		liczba = int(Math.random()*5);

		while (liczba == temp) {

			liczba = int(Math.random()*5);

		}

	}

	function wczytaj() {

		loadMovie(tablica[liczba], ktory);

		czas = getTimer();

		temp = liczba;

	}

	function pokaz() {

		setProperty(ktory, _alpha, "100");

		zmien();

		setProperty(ktory, _alpha, "0");

	}

	losuj();

	wczytaj();

klip.onEnterFrame = function() {

	if ((eval(ktory).getBytesLoaded()/eval(ktory).getBytesTotal()==1)&&(potrzebny==true)) {

		losuj();

		zmien();

		wczytaj();

		potrzebny = false;

	}

	if (czas+10000
		pokaz();

		potrzebny = true;

	}

};

I teraz potrzebuje aby każdy obrazek miał pole tekstowe do którego będę mógł ładować dane z plików txt.

Jak załadować pliki txt do flasha wiem, ale nie wiem jak zrobić by dynamicznie się to zmieniało wraz ze zmianą obrazka.

Pozdrawiam

Tak szczerze, to nie wiem, ale możesz zrobić obrazki z tekstem, na przeźroczystym tle.

Widzę, że dopiero zaczynasz na forum, ale gdy nie wiesz to nie pisz, bo mi chodzi o coś całkiem innego robione we flashu przeczytaj pierwszy post :slight_smile:

Ale dzięki za próbę :stuck_out_tongue:

Pozdrawiam

czeknij to

System.security.allowDomain("http://www.studio-roger.pl/");

var my_fmt:TextFormat = new TextFormat();

my_fmt.color = 0xFFFFFF;

my_fmt.align = "center";

my_fmt.size = 32;


var tab:Array = Array();

tab[0] = {foto:"http://www.studio-roger.pl/galerie/ponidzie/foto_10.jpg", link:"http://www.wp.pl/", tresc:"qweqweq"};

tab[1] = {foto:"http://www.studio-roger.pl/galerie/ponidzie/foto_10.jpg", link:"http://www.onet.pl/", tresc:"fgdhdfghfgh"};

tab[2] = {foto:"http://www.studio-roger.pl/galerie/ponidzie/foto_10.jpg", link:"http://www.wp.pl/", tresc:"xvbcxvbxcvb"};

for (var i:Number = 0; i<=2; i++) {

	this.createEmptyMovieClip("image_mc"+i,i);

	■■■■(i);

}


function ■■■■(i) {

	var mclListener:Object = new Object();

	mclListener.onLoadInit = function(target_mc:MovieClip) {

		target_mc.createTextField("foto_opis",1,0,target_mc._height-20,target_mc._width,45);

		target_mc.foto_opis.text = tab[i]["tresc"];

		target_mc.foto_opis.backgroundColor = 0x666666;

		target_mc.foto_opis.background = !target_mc.foto_opis.background;

		target_mc.foto_opis.setTextFormat(my_fmt);

		target_mc._x = 260*i;

		target_mc._width = 250;

		target_mc._yscale = target_mc._xscale;

	};

	var image_mcl:MovieClipLoader = new MovieClipLoader();

	image_mcl.addListener(mclListener);

	image_mcl.loadClip(tab[i]["foto"],"image_mc"+i);

}

po wklejeniu będzie działać

Dzięki. :slight_smile:

tylko że ten skrypt nie do końca działa tak jak trzeba, po pierwsze nie ma pokazu slajdów tylko jest coś takiego:

asfasfasd.png

Po 2 ja to robię na projket , tak że chciałbym aby wszystko było “automatyczne” i żeby ktoś nie musiał włączać flasha aby to edytować. :slight_smile:

W ogóle to chciałbym zrobić to w xml tak jak jest simpleviewer ale nie umiem :(.

Anyway dzięki i proszę o pomoc :slight_smile:

Pozdrawiam

Dobra więc XML najłatwiej przeczytać w ten sposób

var myXML:XML = new XML();

myXML.ignoreWhite = true;

myXML.onLoad = function(success) {

	var init:Object = new Object();

	if (success) {

		var wiersze = this.firstChild;

		var propNode = wiersze.firstChild;

		var odstepY:Number = 25;

		var i:Number = 0;

		while (propNode) {

			i++;

			var nodeName:String = propNode.nodeName;

			var nodeValue:String = propNode.attributes.fr;

			init.ODC = i;

			init.FR = propNode.attributes.fr;

			init.PL = propNode.attributes.pl;

			kontener.attachMovie("wiersz","wiersz"+i,i,init);

			eval(kontener+".wiersz"+i)._y = -20+odstepY*(i+1);

			propNode = propNode.nextSibling;

		}

	} else {

		init.ODC = "";

		init.FR = "Błąd aplikacji - odśwież stronę";

		init.PL = "";

		kontener.attachMovie("wiersz","wiersz",i,init);

	}

	SCROLL();

};

myXML.load("plik.xml");

a sam plik XML może wyglądać tak

<?xml version="1.0" encoding="utf-8"?>

przeanalizuj sobie powiązania, zamień sobie np init.FR = propNode.attributes.fr;

na

trace(propNode.attributes.fr)

i zobacz efekt :wink:

hmm dziwne nic mi się nie pokazuje na scenie ;/

Bo tam jest kilka zbędnych wpisów to raz a dwa nie na scenie tylko w oknie output będziesz miał wartości a jak to podepniesz to już Twoja sprawa :wink:

[edit]

wklej tak jak jest do nowego pliku flash i xml to zadziała