Модераторы: SoWa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Баннер, flash + xml 
V
    Опции темы
StachelDraht
Дата 17.12.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Привет!
У меня тут хитрая задача. Надо сделать баннер с использование xml
Баннер, размер не важен, подгружает в себя картинки извне и циклично их крутит.
Так вот у меня вопрос. Как можно осуществить такое цикличное прокручивание картинок.
Какие классы надо заюзать?

(Картинок может быть от 5 до 50)

Большое спасибо!
PM MAIL   Вверх
Maksys
Дата 17.12.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



класс XML  и его подобные.. и просто логику


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 17.12.2007, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



а createEmptyMovieClip тоже надо использовать?
Картиночки тоже надо анимировать.
Подумаю еще.
Спасибо!
PM MAIL   Вверх
Ninja
Дата 17.12.2007, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 26.1.2006
Где: Москва

Репутация: нет
Всего: нет



думаю, еще тут нужен MovieClipLoader
PM MAIL ICQ   Вверх
StachelDraht
Дата 18.12.2007, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



а подгружать это все в динамическое текстовое поле?
PM MAIL   Вверх
StachelDraht
Дата 18.12.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Здорово!
Картинки выводит, только все в одно место.
Что ж там надо дописать что бы у каждой картинки были разные координаты?
PM MAIL   Вверх
Maksys
Дата 19.12.2007, 05:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



задай координаты _х  и _у мувиклипу


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 19.12.2007, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Maksys, 
задавал!
Выводит все картинки опять в одно место только уже по новым координатам.
А как сделать так что бы они рядом стояли?
PM MAIL   Вверх
StachelDraht
Дата 19.12.2007, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



на данный момент у меня сейчас вот такая фигня:
Код

function countXML (loaded){
    if (loaded) {

var ch_nodes:Array=xml_doc.childNodes[0].childNodes;
for (var i=0; i<ch_nodes.length; i++) {
trace(ch_nodes[i].childNodes[0].firstChild.nodeValue);
trace(ch_nodes[i].childNodes[1].firstChild.nodeValue);
//trace (i);
createEmptyMovieClip ("mc", 0);
loadMovie (ch_nodes[i].childNodes[0].firstChild.nodeValue, mc);

}
    } else {
        trace ("Can't load file");
    }
}
xml_doc = new XML();
xml_doc.ignoreWhite = true;
xml_doc.onLoad = countXML;
xml_doc.load("data.xml");

PM MAIL   Вверх
Maksys
Дата 19.12.2007, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



после loadMovie нужно придавать параметры масштабирования и позиционирования:
Код


function countXML(loaded) {
    if (loaded) {
        var ch_nodes:Array = xml_doc.childNodes[0].childNodes;
        for (var i = 0; i<ch_nodes.length; i++) {
            trace(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            trace(ch_nodes[i].childNodes[1].firstChild.nodeValue);
            //trace (i);
            createEmptyMovieClip("mc",0);
            loadMovie(ch_nodes[i].childNodes[0].firstChild.nodeValue, mc);
            mc._x = 0;//эти цифры должны меняться в зависимости от цыкла
            mc._y = 0;//
            mc._xscale = 10;//А эти нет, если картики одного размера
            mc._yscale = 10;//
        }
    } else {
        trace("Can't load file");
    }
}



--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 19.12.2007, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



не погоди Maksys, че то я туплю.
1. что значит цифры должны меняться в зависимости от цикла?
2. а не будет ли целесообразней создавать динамически мувик для каждой картинки, тем более что потом каждому мувику надо будет дать ссылку (при нажатии на картинку переходим по ссылке)?
3. верно ли будет такое выражение для создания динамических мувиков, и как им обозначить координаты?
Код

var ch_nodes:Array=xml_doc.childNodes[0].childNodes;
for (var i=0; i<ch_nodes.length; i++) {
createEmptyMovieClip ("mc"+i, i);
loadMovie (ch_nodes[i].childNodes[0].firstChild.nodeValue, "mc"+i);

Насколько я понял два мувика не могут находится на одной глубине.

Это сообщение отредактировал(а) StachelDraht - 19.12.2007, 23:09
PM MAIL   Вверх
StachelDraht
Дата 20.12.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Ну теперь то почему???
Вроде на разной глубине, координаты разные. Что еще надо?
Код

function countXML (loaded){
    if (loaded) {

var ch_nodes:Array=xml_doc.childNodes[0].childNodes;
for (var i=0; i<ch_nodes.length; i++) {
trace(ch_nodes[i].childNodes[0].firstChild.nodeValue);
trace(ch_nodes[i].childNodes[1].firstChild.nodeValue);
//trace (i);
_root.createEmptyMovieClip("mc"+i, i);
loadMovie (ch_nodes[i].childNodes[0].firstChild.nodeValue,  _root["mc"+i]);
            ['mc'+i]_x = 0;
            ['mc'+i]_y = i*60;
trace (_root["mc"+i].getDepth());
trace (_x); 
trace (_y);
trace ("");
}
    } else {
        trace ("Can't load file");
    }
}
xml_doc = new XML();
xml_doc.ignoreWhite = true;
xml_doc.onLoad = countXML;
xml_doc.load("data.xml");


Это сообщение отредактировал(а) StachelDraht - 20.12.2007, 17:05
PM MAIL   Вверх
Maksys
Дата 20.12.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



слушай дай исходные файлы.. а то я чета туплю по вечерам создавать с нуля лоадеры... я разберуся и выложу код.. полюбехе какая то мелкая трабла...


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 21.12.2007, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



http://slil.ru/25266037 - архив, сохранил под 8 версию.

Посмотри пожалуйста, что ж за беда такая.
Но кажеться мне, [censored33! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме] там написано.

А должно быть так, что бы выводились все картинки (картинки все одинакового размера) друг по другом. Каждая картинка в своем мувике.

Спасибо!
PM MAIL   Вверх
Maksys
Дата 21.12.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Трудно было но вроди получилось....
Я последний раз кодил в АС2 когда в прошлом году... но тем не менее навыки остались smile
Код

function countXML(loaded) {
    if (loaded) {
        var ch_nodes:Array = xml_doc.childNodes[0].childNodes;
        for (var i = 0; i<ch_nodes.length; i++) {
            trace(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            //trace(ch_nodes[i].childNodes[1].firstChild.nodeValue);
            //trace (i);
            //Создание пустого мувика в который кидаем написанное выше
            _root.createEmptyMovieClip("mc"+i,_root.getNextHighestDepth());
            _root['mc'+i].loadMovie(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            _root['mc'+i]._y = i*60;
            trace(_root['mc'+i].getDepth());
            trace(_root['mc'+i]._y);
            trace("");


        }
    } else {
        trace("Can't load file");
    }
}
xml_doc = new XML();
xml_doc.ignoreWhite = true;
xml_doc.onLoad = countXML;
xml_doc.load("data.xml");



--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 22.12.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Maksys, ты гений!
Спасибо тебе большое!!! smile 

Но тема на этом не закрыта...
PM MAIL   Вверх
StachelDraht
Дата 2.1.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



С Наступившим Новым 2008 Годом!

А я не на шаг не продвинулся.
Застрял тут:
Код

            _root.createEmptyMovieClip("mc"+i,_root.getNextHighestDepth());
            _root['mc'+i].loadMovie(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            _root['mc'+i]._y = i*62;
            _root['mc'+i].onRelease = function () {
                getURL ("http://www.site.com", _blank);
            };

Почему при нажатии ничего не происходит?
PM MAIL   Вверх
Maksys
Дата 2.1.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



потому что так незя делать.... Надо искать выход на Flasher.ru я там гдето постил.. что то было придуманно... поищи на флешере если не найдешь попожа помогу поищу в старых проектах
...


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 2.1.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Хорошо, покапаюсь там еще раз.
Спасибо!
PM MAIL   Вверх
Maksys
Дата 2.1.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Вот еще по этой теме

Это сообщение отредактировал(а) Maksys - 2.1.2008, 11:27


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 3.1.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Maksys, 
я все равно ничего не понял.

Получается
Код

_root['mc'+i].numv = i;
_root['mc'+i].onRelease = function ()
{
trace (this.numv);
};

что он мне должен выводить?
PM MAIL   Вверх
Maksys
Дата 3.1.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



имя клипа и выводит...
Веришь нет.. но у меня твой код работает...  гони опять исходник... smile 


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 3.1.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



PM MAIL   Вверх
Maksys
Дата 3.1.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



У тебя loadMovie мочит клип к которому ты прикручиваешь события... 
Код

function countXML(loaded) {
    if (loaded) {
        var ch_nodes:Array = xml_doc.childNodes[0].childNodes;
        for (var i = 0; i<ch_nodes.length; i++) {
            trace(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            //trace(ch_nodes[i].childNodes[1].firstChild.nodeValue);
            //trace (i);
            _root.createEmptyMovieClip("mc"+i,_root.getNextHighestDepth());
            _root['mc'+i].createEmptyMovieClip("container",_root.getNextHighestDepth());//создаем контейнер.. для загрузки.. который будет 
//убит loadMovie ром.
            _root['mc'+i].container.loadMovie(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            _root['mc'+i]._y = i*62;
            _root['mc'+i].onRelease = function() {
                trace("ты нажал на: "+this+" клип!");
            };
            trace("Depth"+" "+_root['mc'+i].getDepth());
            trace("Y="+_root['mc'+i]._y);
            trace("");
        }
    } else {
        trace("Can't load file");
    }
}
xml_doc = new XML();
xml_doc.ignoreWhite = true;
xml_doc.onLoad = countXML;
xml_doc.load("data.xml");


Из за этого придумали класс MovieClipLoader в конструкторе которого описано что нужно создавать контейнер.

Это сообщение отредактировал(а) Maksys - 3.1.2008, 12:29


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 4.1.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Maksys, спасибо, работает!
А скажи еще пожалуйста, можно ли вытащить ссылку вот таким раком:
Код

getURL (ch_nodes[i].childNodes[0].firstChild.nodeValue, "_blank");

У меня не получается.
Или у меня неправельно построен xml файл?

Спасибо тебе огромное, так выручаешь!

PM MAIL   Вверх
Maksys
Дата 4.1.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Нет здесь косяк из за стекообразности обработчика событий.. чтобы решить эту траблу нужно все переменки загонять в объекты на которые уже реагируют события.
Код

function countXML(loaded) {
    if (loaded) {
        var ch_nodes:Array = xml_doc.childNodes[0].childNodes;
        for (var i = 0; i<ch_nodes.length; i++) {
            trace(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            //trace(ch_nodes[i].childNodes[1].firstChild.nodeValue);
            //trace (i);
            _root.createEmptyMovieClip("mc"+i,_root.getNextHighestDepth());
            _root['mc'+i].createEmptyMovieClip("container",_root.getNextHighestDepth());
            _root['mc'+i].container.loadMovie(ch_nodes[i].childNodes[0].firstChild.nodeValue);
            _root['mc'+i]._y = i*62;
            _root['mc'+i].link=ch_nodes[i].childNodes[1].firstChild.nodeValue;//ВНИМАТЕЛЬНО ЗЫРЬ СЮДЫ
            _root['mc'+i].onRelease = function() {
                getURL(this.link,"_blank");
            };
            trace("Depth"+" "+_root['mc'+i].getDepth());
            trace("Y="+_root['mc'+i]._y);
            trace("");
        }
    } else {
        trace("Can't load file");
    }
}
xml_doc = new XML();
xml_doc.ignoreWhite = true;
xml_doc.onLoad = countXML;
xml_doc.load("data.xml");



--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 4.1.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Была такая идея, не смог ее осуществить. Спасибо большое!
Теперь осталось это анимировать. smile 

Спасибо!
PM MAIL   Вверх
StachelDraht
Дата 7.1.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Довожу тут до цонца эту фигню.
Вопрос еще такой, как сделать что бы при наведении курсора на баннер анимация останавливалась

Код

            _root['mc'+i].onEnterFrame = function ()
            {
                if (onRollOver) {
                    _root[this]._y =0;
                };
                _root[this]._y -=0.2;
            };

Видать не правельно раз не работает.
PM MAIL   Вверх
Maksys
Дата 8.1.2008, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: 3
Всего: 17



Цитата(StachelDraht @ 7.1.2008,  14:51)
Довожу тут до цонца эту фигню.
Вопрос еще такой, как сделать что бы при наведении курсора на баннер анимация останавливалась

Код

            _root['mc'+i].onEnterFrame = function ()
            {
                if (onRollOver) {
                    _root[this]._y =0;
                };
                _root[this]._y -=0.2;
            };

Видать не правельно раз не работает.

Эт че за фигня?!
Код

_root['mc'+i].onRollOver = function ()
            {
                this.stop();
            };

как минимум так...

Добавлено через 5 минут и 29 секунд
и ваще странная анимация...

Добавлено через 5 минут и 48 секунд
типа картинка то уезжает да?


Это сообщение отредактировал(а) Maksys - 8.1.2008, 22:36


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
StachelDraht
Дата 9.1.2008, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Не Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 19.1.2006

Репутация: нет
Всего: 1



Ну типа уезжает.
Хотя по идее должно циклично прокручиваться.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 1,2 | Следующая тема »


 




[ Время генерации скрипта: 0.0749 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.