хелп xml gallery @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 2 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
panxo Муж.
новый человек
0
Сообщения: 28
Зарегистрирован: 25.09.06
Откуда: Санкт-Петербург
Заголовок сообщения: хелп xml gallery
Сообщение Добавлено: 16 Апрель 2008, 12:32:36 
Сижу уже 3й день не могу понять, нашел галерею на xml настроил, нарисовал кнопки выровнял все.
Кто-нибудь подскажите, как сделать так чтобы фотка новая подгружалась поверх старой,
то есть старая стоит иновая постпенно появляется поверх ее?
спасибо!

демо: http://www.artemkrylov.spb.ru/works/geo … geo_3.html
fla: http://www.artemkrylov.spb.ru/works/geo … geo_3b.fla



код внутри:

System.useCodepage = true;
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;
previous_btn._visible = false;
next_btn._visible = false;
bt1._visible = false;
bt2._visible = fa
lse;
bt3._visible = false;
pos_txt._visible = false;
} else {
preloader._visible = false;
bt1._visible = true;
bt2._visible = true;
bt3._visible = true;
previous_btn._visible = true;
next_btn._visible = true;
pos_txt._visible = true;

if (picture._alpha<100) {
picture._alpha += 10;

_root.picture._x = (670 - picture._width) / 2 ;
_root.picture._y = (800 - picture._height) / 2 ;
_root.previous_btn._x = (670 - picture._width ) / 2+30 ;
_root.previous_btn._y = 800/2-17;
_root.next_btn._x = (670 + picture._width )/2 - 30 ;
_root.next_btn._y = 800/2-17;
_root.pos_txt._x = 670/2 + picture._width/2 -60 ;
_root.pos_txt._y = 800/2 - picture._height/2+10;
_root.bt1._x = 670/2-12.5-40 ;
_root.bt1._y = 800/2 + picture._height/2+25 ;
_root.bt2._x = 670/2-12.5;
_root.bt2._y = 800/2 + picture._height/2-12.5+25 ;
_root.bt3._x = 670/2-12.5+40 ;
_root.bt3._y = 800/2 + picture._height/2+25 ;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
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;
}
// центрование клипа
listen.loadClip = function (target) {
target._x = (670 - target._width) / 2 ;
target._y = (800 - target._height) / 2 ;
};
Alex553 Муж.
новый человек
5
Сообщения: 17
Зарегистрирован: 30.07.07
Сообщение Добавлено: 17 Апрель 2008, 15:14:13 
У Вас в каждой функции стоит "picture._alpha = 0; ", потом - picture.loadMovie... У меня не открывается выложенный Вами FLA, посмотреть не могу, но по-моему проблема в _alpha = 0. Затем _alpha постепенно увеличивается до 100.

Код:
this.onEnterFrame = function() {
if (picture._alpha<100) {
picture._alpha += 10;
}
}


И еще, у Вас в параметрах loadMovie везде глубина - "1", попробуйте использовать getNextHighestDepth().
Но на самом деле если вы хотите чтобы поверх одной картинки плавно появлялась другая, нужно использовать 2 разных мувиклипа, и менять прозрачность 2-го, при этом нужно удалять старый, чтобы не захламлять флешку не нужными мувиками и фотками. В общем как-то так. Удачи. :)
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 2 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100