PDA

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


DimaBLR
23.09.2013, 17:11
Всем привет! Народ помогите советом. К примеру есть swf размером 1090 на 180 (полностью пустая). Как сделать так, чтобы она проигрывали другие swf которые есть в папке с ней поочередно (или можно случайно)......

caseyryan
23.09.2013, 17:23
Создать, к примеру, xml файл, со ссылками на все эти swf файлы, подружать этот список в свою флешку и получая из него ссылки, грузить нужные swf.
Второй вариант, называть файлы как-то однотипно, например 001.swf, 002.swf и т.д. И после загрузки и проигрывания одного (например 001.swf) пытаться загрузить 002, 003...

Akopalipsis
23.09.2013, 17:26
У меня тоже есть вопрос по этой теме - air может директории\папки сканировать на наличие файлов ( как есть у php )?

DimaBLR
23.09.2013, 18:01
Создать, к примеру, xml файл, со ссылками на все эти swf файлы, подружать этот список в свою флешку и получая из него ссылки, грузить нужные swf.
Второй вариант, называть файлы как-то однотипно, например 001.swf, 002.swf и т.д. И после загрузки и проигрывания одного (например 001.swf) пытаться загрузить 002, 003...

Наверно я тогда не правильно задал вопрос. У меня задача следующая. Имеем сеть автоматов, который работают на html интерфейсе. В самом интерфейсе на главной странице имеется flash банер 1090x180. Я хочу удаленно загружать туда рекламу. Я, как чайник в флеше, решил что наверно будет проще создать пустую swf 1090на180, которая подгружает с папки на хостинге swf с рекламой и проигрывает ее. Хотя сразу возникает вопрос как сделать так чтобы можно было в папку на хостинге закидывать несколько swf а они проигрывались поочередно, НО на данный момент я сделал следующее.
1. Создал swf размером 1090на180 и нажал F9
2. туда вписал следующий код

import flash.display.*;
import flash.net.URLRequest;
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFFFFFF);
rect.graphics.drawRect(0, 0, 1090, 180);
addChild(rect);
var ldr:Loader = new Loader();
ldr.mask = rect;
var url:String = "http://extraremont.com/qiwi/banner1.swf?rnd="+getTimer();
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);

То есть получается, что я могу только один ролик использовать в рекламе. Да и при замене старого swf (с тем же именем) каждый раз приходится перегружать html интерфейс, И как ни странно, играет при каждой перезагрузке то старый то новый, хоть и старый уже удален, причём в случайной последовательности.

Посоветуйте пожалуйста что-то дельное !

Добавлено через 5 минут
Второй вариант, называть файлы как-то однотипно, например 001.swf, 002.swf и т.д. И после загрузки и проигрывания одного (например 001.swf) пытаться загрузить 002, 003...
Этот вариант мне нравится. Но как его реализовать, я так понимаю через цикл ? Флеш почти не знаю ((

AlexCooper
23.09.2013, 18:27
У меня тоже есть вопрос по этой теме - air может директории\папки сканировать на наличие файлов ( как есть у php )?

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

Добавлено через 40 секунд
и не ленитесь посмотреть хотя бы список функций AIR

caseyryan
23.09.2013, 18:30
Как получилось, что перед человеком, не знающим флеш, поставлена такая задача? Далеко не простая для новичка.
Я как-то делал ротатор рекламы, который показывает рекламу на мониторах в нескольких магазинах. Главное условие - доступ в интернет. Сам ротатор написан под AIR, рекламу он грузит не из локальных директорий (изначально), а с сервера.
Серверная часть написана на php. Схема такая: ротатор раз в полчаса делает запрос к скрипту на сервере, тот проверяет не добавилось ли новых записей в базу данных. Если добавились, то отсылает данные о них клиенту. Сами данные представляют из себя ряды из таблиц типа ad_path (ссылка на swf), expire_time время, после которого реклама должна удалиться и еще куча разных параметров (но не суть). Клиент загружает новый ролик по ссылке, пришедшей с сервера, и показывает ее.
Так как у меня эйр приложение, оно само может сохранять файлы в локальные диретории, на случае потери связи с интернетом. Но в принципе, такую же схему (только без локального сохранения) можно реализовать и чисто средствами фоеш плеера в html странице.
air может директории\папки сканировать на наличие файлов ( как есть у php )?
Да, может.

DimaBLR
24.09.2013, 10:52
Как получилось, что перед человеком, не знающим флеш, поставлена такая задача? Далеко не простая для новичка.
Я как-то делал ротатор рекламы, который показывает рекламу на мониторах в нескольких магазинах. Главное условие - доступ в интернет. Сам ротатор написан под AIR, рекламу он грузит не из локальных директорий (изначально), а с сервера.
Серверная часть написана на php. Схема такая: ротатор раз в полчаса делает запрос к скрипту на сервере, тот проверяет не добавилось ли новых записей в базу данных. Если добавились, то отсылает данные о них клиенту. Сами данные представляют из себя ряды из таблиц типа ad_path (ссылка на swf), expire_time время, после которого реклама должна удалиться и еще куча разных параметров (но не суть). Клиент загружает новый ролик по ссылке, пришедшей с сервера, и показывает ее.
Так как у меня эйр приложение, оно само может сохранять файлы в локальные диретории, на случае потери связи с интернетом. Но в принципе, такую же схему (только без локального сохранения) можно реализовать и чисто средствами фоеш плеера в html странице.



Да вот так вышло. Я совладелец сети платежных терминалов. Город у нас небольшой 600 тыс. толковых спецов не найти, поэтому и стал вопрос о том, как автоматизировать подачу рекламу на автоматы, чтобы каждый раз их не объезжать с клавиатурой, закачивая новые рекламные баннеры.

А нельзя ли как-то сделать чтобы кэш удалял AS, тогда бы все отлично работало.... ???

caseyryan
24.09.2013, 11:16
А нельзя ли как-то сделать чтобы кэш удалял AS, тогда бы все отлично работало.... ???
Что-то я не понял вопроса
толковых спецов не найти
Чем не устраивает вариант с наймом такого человека по удаленке? И почему не подходит вариант с AIR?

DimaBLR
25.09.2013, 18:47
Что-то я не понял вопроса

Чем не устраивает вариант с наймом такого человека по удаленке? И почему не подходит вариант с AIR?
По поводу удаления кэша через AS я имел ввиду что у меня получилось в баннере прописать подгрузку флешек с сайта, но как только я заменяю в папке на сайте (откуда она подгружается) старую флешку на новую, то старая все равно продолжает проигрываться в произвольной последовательности.

caseyryan
25.09.2013, 19:12
Это делается достаточно просто. Можно к ссылке на флешку просто добавить случайный параметр, например

new URLRequest("C:\\banners\001.swf?" + new Date().getTime());


Это не отключает кэш, но делает каждый запрос уникальным, поэтому флеш плеер просто не будет знать, что нужно брать флешку из кэша

DimaBLR
25.09.2013, 20:12
Это делается достаточно просто. Можно к ссылке на флешку просто добавить случайный параметр, например

new URLRequest("C:\\banners\001.swf?" + new Date().getTime());


Это не отключает кэш, но делает каждый запрос уникальным, поэтому флеш плеер просто не будет знать, что нужно брать флешку из кэша

caseyryan ОГРОМНОЕ ВАМ СПАСИБО !!!!!!!!!!!!! Теперь работает, то есть при замене, в папке на сайте, ролика на новый, старый перестает крутиться ! Но правда приходиться перегружать HTML страницу чтобы ролик обновился. Есть ли вариант чтобы ролик автоматом менялся без перезагрузки HTML страницы ???
P.S. Есть и у Вас желание за разумную денюжку сделать нормальную систему управления рекламой ??? Кстати AIR я не знаю что такое, поэтому сори что оставил без ответа !

caseyryan
25.09.2013, 22:15
Есть и у Вас желание за разумную денюжку сделать нормальную систему управления рекламой ???
Почему бы нет. Напишите в личку сколько Вы готовы предложить за эту работу?