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
Mateussssz
(Mateuszsobieski)
#2
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
Ale dzięki za próbę
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.
tylko że ten skrypt nie do końca działa tak jak trzeba, po pierwsze nie ma pokazu slajdów tylko jest coś takiego:
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ć.
W ogóle to chciałbym zrobić to w xml tak jak jest simpleviewer ale nie umiem :(.
Anyway dzięki i proszę o pomoc
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
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
[edit]
wklej tak jak jest do nowego pliku flash i xml to zadziała