Большой Воронежский Форум

Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел.
Вернуться   Большой Воронежский Форум » Компьютеры и все, что с ними связано » » Веб-дизайн
Что касается web-а... WebMaster-а Воронежа - объединяйтесь!

Ответ
 
Опции темы
Старый 12.04.2004, 08:26   #1   
Форумец
 
Сообщений: 37
Регистрация: 12.04.2004

Daria вне форума Не в сети
Question во Flash MX сделать случайный выбор картинок ?

Помогите, пожалуйста !!!
Подскажите, как во Flash MX сделать случайный выбор картинок,
чтобы при каждой загрузке Flash-ролика у меня появлялась бы новая картинка.
Заранее благодарна. Дарья.
  Ответить с цитированием
Старый 12.04.2004, 15:48   #2   
*
 
Аватар для acidovsky
 
Сообщений: 984
Регистрация: 02.06.2002
Возраст: 23

acidovsky вне форума Не в сети
Daria создай мувик с количеством кадров равным количеству твоих картинок, в каждом кадре по картинке.

Потом, создай кей_фрем в другом слое, и на него повесь
ifFrameIsLoaded { _root.muvik.gotoAndplay(random(10)) }
Где 10- это количество кадров в твоем мувике с картинками, а "muvik" это его имя.
или типа того, но мысль я думаю понятна.
  Ответить с цитированием
Старый 14.04.2004, 14:47   #3   
чистый телом
 
Аватар для flasher
 
Сообщений: 262
Регистрация: 17.12.2003
Возраст: 41

flasher вне форума Не в сети
Daria
Идея ACIDovsky только не обязательно мувик делать можно все и к корне ролика положить...
и еще в каждом кадре картинке поставить stop();
а для перехода на нужную картинку сразу после прилоадера (или можно в прелоадер)

n = int(Math.random()*КоличествоКартинок)+НомерКадраПе рвойКартинки;
_root.gotoAndPlay(n);
  Ответить с цитированием
Старый 14.04.2004, 17:26   #4   
Archer forever
 
Аватар для Random
 
Сообщений: 1,087
Регистрация: 13.03.2002
Возраст: 47

Random вне форума Не в сети
Народ! Вы что совсем, совсем флэш не знаете?! Закачать все картинки (и это в MX то) и показывать только одну!!! Да еще бэкграундные картинки!!!
Картинку надо выбирать серверно, ну на крайняк во флэш загнать массив имен файлов картинок и случаным образом выбирать один эллемент и потом уже качать одну единственную в ролик...
Daria - дерни нашего нынешнего самого модного флэшера. Как его там? Ну который недавно рекламировался и здесь и в вакансиях. Пусть объяснит. Ну если и он не бум-бум, или не захочет возится, обращайся ко мне, я распишу скрипты. Но у меня сейчас со временем опаньки.

Random добавил [date]1081953204[/date]:
И flasher, решение ACIDovsky, если уж на то пошло более правильное, со всех точек зрения.

ЗЫ Блин, народ, вы меня растроили, сорри если оказался резок ...
  Ответить с цитированием
Старый 14.04.2004, 21:03   #5   
Форумец
 
Сообщений: 18
Регистрация: 22.02.2004

art вне форума Не в сети
Random ну спасибо .. меня Артём зовут.. если конечно про меня речь - если нет , то сори...

Daria Random прав , варианта 2 :


1--есть ПХП на хостинге :


Пишим скрипт на ПХП
################СКРИПТ###################

<?
//Создаём массив картинок имён, допустим 10 штук от 1.jpg до 10.jpg

$img=array("1.jpg","2.jpg","2.jpg","4.jpg","5.jpg" ,"6.jpg","7.jpg","8.jpg","9.jpg","10.jpg");

//Раскручиваем генератор случайного числа

srand((double)microtime()*1000000);

//Устанавливаем имя файла картинки случайным образом

$filename = $img[round(rand(0,sizeof($img)))];

//Открываем файл для чтения
$handle = fopen($filename,"r");

//В переменную $contents читаем все содержимое файла в бинарном виде
$contents = fread ($handle, filesize ($filename));

//Говорим браузеру тип данных, которые собираемся передавать
header("Content-type: image/jpeg");

//Пихаем все это в браузер, а точнее во флешу
print $contents;

//Закрываем файл
fclose($handle);
?>
#############КОНЕЦ СКРИПТ##################

Кладём этот скрипт на сервер назвав его допусим img.php , туда же флешу
в кторой создаём мувик (!!! с выравниванием по левому верхнему углу -ВАЖНО!!!) - допустим мувик move
Туда откуда нужно вызвать загрузку картинки пишем _root.move.loadMovie("img.php");
Вуаля !

Ещё альтернатива, можно применить другой скрипт ПХП :

############СКРИПТ 2####################

<?
//Создаём массив картинок имён, допустим 10 штук от 1.jpg до 10.jpg

$img=array("1.jpg","2.jpg","2.jpg","4.jpg","5.jpg" ,"6.jpg","7.jpg","8.jpg","9.jpg","10.jpg");

//Раскручиваем генератор случайного числа

srand((double)microtime()*1000000);

//Устанавливаем имя файла картинки случайным образом

$filename = $img[round(rand(0,sizeof($img)))];

//пинаем браузер на эту картинку

header("Location: $filename");
?>
################КОНЕЦ СКРИПТ 2###############

Всё остальное то же самое как и для первого скрипта.




1--НЕТ ПХП на хостинге :

На сайт кладём текстовый файлик с именами картинок :
########файл с именами######################
u1=1.jpg&u2=2.jpg&u3=3.jpg&u4=4.jpg&u5=5.jpg&u6=6. jpg&u7=7.jpg&u8=8.jpg&u9=9.jpg&u10=10.jpg
############файл с именами коннец##############
Можно конечно список имён во флешь зашить , но так удобнее если картинки менять надо будет иногда , или их количество..

Кладём этот файл на сервер назвав его допусим img.txt , туда же флешу
в кторой создаём мувик (!!! с выравниванием по левому верхнему углу -ВАЖНО!!!) - допустим мувик move
Туда откуда нужно вызвать загрузку картинки пишем


_root.move.loadVariables("img.txt");
_root.move.onData = function(){
i=u1;
n=1;
while (length(i)<2){n++;
i=eval("u" add n+1);}
_root.move.loadMovie(eval("u" add Math.round(Math.random()*n)));
}


Вуаля !



P.S. Если что намудрил, не пинать !
Не пробовал , писал не внимательно , но истина гдето крайне рядом !
Что непонятно стучитесь в аску номер есть в профайле...
  Ответить с цитированием
Старый 14.04.2004, 22:24   #6   
*
 
Аватар для acidovsky
 
Сообщений: 984
Регистрация: 02.06.2002
Возраст: 23

acidovsky вне форума Не в сети
art се это имеет смысл только если размер картинок БОЛЬШОЙ. в остальных случаях нафик надо?

И читать файл в бинарном виде и передавать во флешку, это помоему ты реально НАМУДРИЛ. Помоему лучше именем обойтись...

Тоже повые**сь:

1) Создаем текстовый файл с именами картинок, в каждой строке этого файла по одному именни.
2) читаем файл построчно в массив
3)Случайным образом выбираем номер элемента массива.
4)Передаем выбранную строку с именем файла во влеш.
5)Вуа ля!

плюсы:
1)легко менять кол-во и имена файлов, котороые МОЖНО отображать (фселишьтекст.файл отредоктировать)
2)Обработка ТАКОГО скритпа намного быстрее чем с побитовым считыванием jpg.

с чуством выполненого долга нажимаю кнопку "Ответить".
  Ответить с цитированием
Старый 15.04.2004, 13:41   #7   
Archer forever
 
Аватар для Random
 
Сообщений: 1,087
Регистрация: 13.03.2002
Возраст: 47

Random вне форума Не в сети
ACIDovsky - в твоем варианте флаш делает два запроса: первый на имя файла, второй на сам файл. Плюс куча возможностей не опытному человеку получит вполне определенные траблы с кешем для первого запроса. И кстати, у нас файлы текстовые кешируются по умолчанию или нет?


art речь шла о тебе ... Но по ходу пьесы я туточки самый модный флашер, пусть и мало практикующий (а что делать, я к Парфенову и так, и эток, а заказчики то у нас слишком солидные для этих дел). Дык, вот у тебя есть одно упущение позволяющие свести на нет все плюсы ACIDovsky, и один не решенный минус, который в совсем правильно постороенном ролике может всплыть. Ну што, блеснешь интелектом?
  Ответить с цитированием
Старый 15.04.2004, 17:27   #8   
*
 
Аватар для acidovsky
 
Сообщений: 984
Регистрация: 02.06.2002
Возраст: 23

acidovsky вне форума Не в сети
Random уточню:
Пункиы
2,3 и 4 делаем при помощи PHP.
  Ответить с цитированием
Старый 15.04.2004, 18:54   #9   
Форумец
 
Сообщений: 18
Регистрация: 22.02.2004

art вне форума Не в сети
Random ну вопрос приоритетов спорный

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

ACIDovsky Намудрил конечно ! Но прикольная идейка ...
А твой вариант то же самое что и мой 2 тока мой без использования ПХП , так гораздо удобнее т.к. флеша прекрастно справляеца с выбором случайным картинок... зачем усложнять то ?
  Ответить с цитированием
Старый 16.04.2004, 00:09   #10   
*
 
Аватар для acidovsky
 
Сообщений: 984
Регистрация: 02.06.2002
Возраст: 23

acidovsky вне форума Не в сети
All помоему мы Дарью напугали нафик.
Зашла она почита что тут понаписано и решила что флеш это не для неё...

И всем собственно пофик про что тема, лижбы яйцами померяться (и мне в том числе). Вот осознал я это и как-то грусно стало...
  Ответить с цитированием
Старый 16.04.2004, 10:34   #11   
Archer forever
 
Аватар для Random
 
Сообщений: 1,087
Регистрация: 13.03.2002
Возраст: 47

Random вне форума Не в сети
ACIDovsky - во мысли сходятся. По отношении к Дарье, твой самый первый ответ и был самым правильным. Если указать минусы даного подхода, то он был бы просто идеальным. А вот если бы она спросила как обойти минусы, вот тогда вперед, на мины! А так мы её скорее всего напугали и запутали.

art , запрет то не помешает, но...

На самом деле у каждой задачи есть множество решений. Я как бы уже решил подобную задачу, а возможно кто то из вас найдет более оптимальное решение. Вот собственно и все мое любопытство в этом вопросе... Так что ACIDovsky , не грусти, все вполне себе хорошо. А яйцами померяться можно только по приколу, а если кто то здесь не согласен, то ACIDovsky пошли грустить вместе.
  Ответить с цитированием
Старый 22.04.2004, 15:05   #12   
Форумец
 
Сообщений: 37
Регистрация: 12.04.2004

Daria вне форума Не в сети
Спасибо огромное вам за советы, у меня всё получилось, как говорили ACIDovsky и flasher.
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind