PDA

Просмотр полной версии : Как сделать своего рода "плей лист" во флэше?


Lobster2
05.07.2007, 18:17
Привет.


Интересует такой вопрос.
Как во флэше сделать некий плейлист, а именно хочется, чтобы внутри одного скомпилированого ролика, были другие, которые бы последовательно бы сменялись с некоторым интервалом.

допустим:

У меня есть 10 роликов разных и я хочу чтобы они сменялиь каждые 30 секунд.

но были внутри одного общего...

спасибо.

BigDan
05.07.2007, 20:31
Создаёшь массив роликов. Потом onEnterFrame+getTimer() или setInterval() каждые 30 сек выгружаешь(или удаляешь) старый мувик и загружаешь(или атачишь) следующий.

Lobster2
07.07.2007, 18:44
а что такое массив роликов...

и можно ли будет менять содержимое плэйлиста без перекомпиляции?

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

BigDan
07.07.2007, 20:20
точнее массив не роликов, а ссылок на них, вообщем это массив ссылок на экземпляры класса MovieClip. Так понятнее?)))

Lobster2
09.07.2007, 19:30
Да, спасибо.


Но всплыла еще такая странная проблема...


Один из файлов, на который я ссылаюсь, в одиночку работает нормально, а когда через плейлист, на 10 - 20 проходе начинает подтормаживать...


и еще плейлист не работает, если его скомпилировать в exe файл.
Если в swf, то проблем не возникает...


С чем это может быть связано?

Спасибо.


На всякий случай - это то ,что я наваял.



var int:Number = setInterval(messageFunction, 10000, "test");
function messageFunction (mes) {
times == undefined ? times = 1 : times++;
trace(mes+"_"+times);
holder.loadMovie("mc"+times+".swf",times)
trace(mes+"_"+times);
if (times == 3) {
times = 0;
}

}


вот такая вот корявочка... ;)

Ведьмак
09.07.2007, 19:34
если ты мувики лоадишь или аттачишь, то после просмотра "убивай" их... тормозить может если у ты их все время вставляешь и вставляешь....

Lobster2
09.07.2007, 20:15
оке.
Наверное стопудово из за этого начинает подвисать...
а как их убить?

надо перед загрузкой следующего убить их?
перед этой строкой?
holder.loadMovie("mc"+times+".swf",times)

Ведьмак
09.07.2007, 20:34
да перед этой строкой можешь сделать mc.removeMovieClip() , где mc - имя мувика, который был подгружен до этого...

Lobster2
09.07.2007, 21:53
блин, слушай, а разве этот метод распространяется на loadMovie ?

он же вроде только на аттач муви распространяется?



var int:Number = setInterval(messageFunction, 5000, "test");
function messageFunction (mes) {
times == undefined ? times = 1 : times++;
holder["mc"+times-1].unloadMovie()
holder.loadMovie("mc"+times+".swf",times)
trace(mes+"_"+times);
if (times == 3) {
times = 0;
}

}



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


если холдер на _рут меняю, то он вообще подвисает...

ХЕЛП!

очень надо чтобы он просто файл из папки брал...