Вход

Просмотр полной версии : картинки в случайном порядке


droch_fhoula
04.03.2009, 14:04
как сделать чтоб при нажатии нопок вперед и назад картинки выводились в случайном порядке я примерно знаю.
а как можно слелать чтоб новые добавленные фото грузились без добавления их в код флэша, тоесть автоматически.
потому что я знаю код только на определенное колличество каринок.
зарание большое спасибо!:)

qazwsx
04.03.2009, 14:16
Ну если я примерно попытаюсь пимерно угодать.... То ты используеш примерно массив. Ну и следователь примерно нужно добавлять новые картинки в этот массив...

droch_fhoula
04.03.2009, 14:29
ой как умно подкалывать.
в коде который я использую есть строчка Math.round(Math.random()*6); там задано, что фоток только 6. чем можно заменить эту строчку или что дописать чтоб колличество фото было не ограниченно?

lexa2000lexa
04.03.2009, 14:30
Что значит не ограниченно? тоесть их всегда разное количество? Или что вы подразумеваете?

qazwsx
04.03.2009, 14:32
Если я опять применю свою фантазию, и придумаю что там используется массив, то Array().length и будет какраз количеством.

nOobCrafter
04.03.2009, 14:39
droch_fhoula мне кажеться что процесс будет быстрее если вы выложите часть или весь код который вы используете ;).

droch_fhoula
04.03.2009, 14:49
вот весь код.
только не издевайтесь если он убогий.
я еще новичек во флэш.
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
Key.addListener(listen);
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
/////////////////////////////////////
p = 0;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
s = Math.round(Math.random()*6);
name = "img"+s+".jpg";
picture.loadMovie(name, _root);
desc_txt.text = description[p];
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
s = Math.round(Math.random()*6);
name = "img"+s+".jpg";
picture.loadMovie(name, _root);
desc_txt.text = description[p];
picture_num();
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}

lexa2000lexa
04.03.2009, 14:54
s = Math.round(Math.random()*total);

droch_fhoula
04.03.2009, 15:06
большое спасибо!!!