Просмотр полной версии : Смена картинок
Как сделать простую смену картинок (имена картинок брать из текстового файла), через некоторый интервал, просто, без всяких кнопок, автоматическая смена.. и чтобы изображение центрировалось.. помогите пожалуйста.... уже 2 дня мучаюсь))
Doctor76
15.09.2008, 15:54
а одну просто загрузитьь получается?
Doctor76
15.09.2008, 16:30
Этот пример конечно не грузит картинок, но его можно и доработать.
var arr_urlImg:Array = new Array("Картинка1","Картинка2","Картинка3");
this.createTextField("timer_txt", 10, 10, 100, 300, 22);
timer_txt.border = true;
var count:Number = 0;
var load_count:Number = 0;
function updateTimer():Void {
count++;
var load_img:String = arr_urlImg[load_count]
if(count %10 == 0){
timer_txt.text = "грузим картинку "+ load_img
load_count++
}
if(load_count >= arr_urlImg.length){
trace(load_count)
clearInterval(intervalID);
}
}
var intervalID:Number = setInterval(updateTimer, 500);
Da_Demon
15.09.2008, 17:05
А чем не устраивает просто кадров сделать пару между картинками?
Doctor76
15.09.2008, 17:18
Ну в вопросе же писали - брать из файла названия картинок.
А в кадрах- в каждом прописывать свое название картинки ? Не спортивно.
Да и если картинок туева хуча??
Тут и скорость загрузки можно поменять быстро.
Весёлый Ботаник
15.09.2008, 17:38
Разве нельзя все картинки в одну собрать, а потом аттачить.
нужно именно данные о картинках брать из внешнего файла (xml, txt... неважно) ничего не получается(((
crazyone
16.09.2008, 11:50
Фраза "ничего не получается" работает против вас. Разбейте задачу на шаги и реализовывайте все шаги по отдельности.
1. Загрузить и отпарсить данные.
2. По данным загрузить картинку. +центрировать ее.
3. Организовать смену картинок.
Делать при помощи:
1. LoadVars.load()/XML.load() + обработчик LoadVars.onLoad/XML.onLoad
2. MovieClipLoader + обработчик события MovieClipLoader.onLoadInit + свойства мувиклипов.
3. Как душа пожелает, можно onEnterFrame, можно setInterval, можно сделать анимацию в мувиклипе и грузить картинки в анимированный контейнер.
Я конечно сомневаюсь, что вы будете с этим разбираться, потому что постановка вопроса у вас звучит как "ничего не получается", но вдруг...
Ну не давите на человека, как будто сами новичками не были.
Lindows, давайте просто по порядку! Давайте сначала получим список картинок и научимся по нему загружать. Есть вопросы?
просто я не очень разбираюсь во флеше, тем более в аутион скрипт...
вот нашел код, все работает, он грузит картинки из паки, все... это даже лучше, без вских файлов... но проблема в том, что он не масштабирует картики... а показывает их с левого верхнего угла, а картинки будут разной ширины и длинны...
//примечание: в папке картинки должны начинатся с названия image1.jpg
var my_mcl:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();
myListener.onLoadStart = function(target_mc:MovieClip) {
var loadProgress:Object = my_mcl.getProgress(target_mc);
};
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
};
myListener.onLoadComplete = function(target_mc:MovieClip) {
var loadProgress:Object = my_mcl.getProgress(target_mc);
};
myListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._alpha = 0;
fade_dir = true;
my_interval = setInterval(fade, fade_time);
};
myListener.onLoadError = function(target_mc:MovieClip, errorCode:String) {
whichPic=1;
my_mcl.loadClip("images/image"+whichPic+".jpg", clip1_mc);
//whichPic - нумерация картинок
//"images/image"+whichPic+".jpg" - путь к картинкам
// clip1_mc - мувик в который производится загрузка
};
my_mcl.addListener(myListener);
var my_interval;
var pause_interval;
var whichPic = 1;
var fade_dir = true;
var fade_step = 30; //кол-во альфа
var fade_time = 80; //время исчезновения
var pause_time = 3500; //задержка во времени при альфа=100
function pause_me()
{
clearInterval(pause_interval);
my_interval = setInterval(fade, fade_time);
}
my_mcl.loadClip("images/image"+whichPic+".jpg", clip1_mc);
//whichPic - нумерация картинок
//"images/image"+whichPic+".jpg" - путь к картинкам
// clip1_mc - мувик в который производится загрузка
function fade() {
if(clip1_mc._alpha>=100 && fade_dir==true)
{
fade_dir = false;
clearInterval(my_interval);
pause_interval = setInterval(pause_me, pause_time);
return;
}
if (clip1_mc._alpha<100 && fade_dir==true) {
clip1_mc._alpha+=fade_step;
}
else {
fade_dir=false;
if(clip1_mc._alpha>0)
{
clip1_mc._alpha-=fade_step;
} else {
clearInterval(my_interval);
whichPic++;
my_mcl.loadClip("images/image"+whichPic+".jpg", clip1_mc);
//whichPic - нумерация картинок
//"images/image"+whichPic+".jpg" - путь к картинкам
// clip1_mc - мувик в который производится загрузка
}
}
}
пробывал загружать так:
loadMovie("images/image"+whichPic+".jpg",_root);
они так вроде масштабируются, то есть границы проигрователя подгоняются под рнисунок, но они у меня тогда не листаются... :o
Doctor76
16.09.2008, 13:11
Что то мне не оч. ясно, как Вам надо масштабировать, и как листать???
Либо картинки грузятся одна за другой с интервалом времени каким то, либо грузится первая, и по какому то событию грузится следующая....
картинки грузятся одна за другой с интервалом времени
Так вам надо чтоб картинки масштабировались или чтобы окно плеера изменялось под картинки?)))
окно плеера изменялось под картинки)
Doctor76
16.09.2008, 14:18
Окно плеера изменять не пробовал.
Но за это отвечает объект Stage вроде бы
Я бы так попробовал::
//после загрузки...
Stage.width = clip_img._width;
Stage.height = clip_img._height
//clip_img -в который картинку грузим
Я так не пробовал(не было надобности)
Но может, кто пробовал, меня поправят...
DJ_Baton
16.09.2008, 14:35
программно центрировать фотку надо расчитать центр фотки, для этого:
photo._x+photo._width/2 //центр по Х
photo._y+photo._height/2 //центр по У
т.е. если по координатам сдвинуть в минус фотку это должен быть её центр
хотя можешь в ручную спозиционировать центровым крестиком внутри мувика или заюзать функции меню Align там тоже есть для позиционирования кнопочки, эт для простой анимации без программирования
окно плеера изменялось под картинки)
При загрузке прямиком в _root весь ваш мувик удаляется из плеера и заменяется картинкой. Именно поэтому следующая не грузится - с чего бы, клипа который ее загрузил бы больше нет, есть только изображение))))) Поэтому размер конечно меняется, плеер подстраивается под новый ФАЙЛ контента. Это, как Вы понимаете, совсем не путь))) А вот скажите, что Вы собрались делать с плеером, меняющим размер своего окна? Ведь не в хтмл-страницу же вставлять?))
Doctor76, Stage.width и Stage.height - свойства только для чтения. Плеер не может сам менять размеры своего окна в пределах проигрывания одного файла.
Doctor76
16.09.2008, 16:23
Ну да.. моя неграмотность(я Stage только для чтения и использовал) , но буду знать
Wols, а в 3 AS не в курсе, есть возможность изменять размер плеера?
А Вы гдето видели программу, меняющую свои размеры в процессе работы? Не видеоплеер, подстраивающийся под размеры ОТКРЫВАЕМОГО в нем ролика, а так просто, из каких-то своих соображений? Если приведете убедительный пример, зачем это надо, я залезу в хелп и сообщу Вам, что там написано)))))
И что, Вы думаете окошко плеера там будет всячески скакать и изменять свои размеры, раздвигая страницу, текста и картинки и т.п.?
незнаю... мне бы хоть както сделать уже....
впринципе с этим я разобрался.. но теперь всетаки опять нужно читать имена картинок из фалов...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.