![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
И снова здравствуйте!
![]() Ситуация такая: есть пустая флэшка, куда я загружаю 8 swf (A, Aex, B, Bex, C, Cex, D, Dex). Проблема заключается в том, что мне нужно, чтобы они загружались туда рандомными парами (A-Aex, B-Bex и т.д.) через определенные промежутки времени. То есть в результате была следующая последовательность: - любая swf из A, B, C, D через 8 секунд - любая swf из Aex (если предыдущая была A), Bex (если предыдущая была B) и т.д. через 8 секунд цикл начинается заново (и было бы вообще круто, если бы заново был рандом, но не та же пара )Может быть сделать 4 папки и грузить флэшки попарно оттуда? Но нужно, чтобы первая обязательно грузилась A, B, C или D Может я вообще сильно заморачиваюсь и все можно реализовать легко и просто? Не могу никак склеить пары вместе, так как бережем трафик. При этом не могу сделать прямую последовательность, так как некоторые клипы рискуют быть не увиденными никогда. Я заранее благодарю всех откликнувшихся, я вам уже обязана сильно-сильно ![]() |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 950
|
можно както так набрасам код побыстрому
var arr:Array = ["A","B","C"] var locRoot:MovieClip = this function loadContent(id:String):Void{ trace(id) var url:String = id+".swf" var contener:MovieClip = locRoot.createEmptyMovieClip("contenerload",locRoot.getNextHighestDepth()); var contentMcl:MovieClipLoader = new MovieClipLoader(); contentMcl.addListener(locRoot) locRoot.onLoadInit = function(mc){ if(id.length==1){ setTimeout(loadContent,8000,(id+"ex")) }else{ setTimeout(loadContent,8000,nameSwf()) } } contentMcl.loadClip(url,contener); } var nameswf:String = arr[random(arr.length)] loadContent(nameswf) function nameSwf():String { var id:Number = random(arr.length) if(nameswf!=arr[id]){ nameswf = arr[id] return arr[id]; }else{ if(id==arr.length){ return arr[id-1]; }else{ return arr[id+1]; } } } |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 9
|
lexa2000lexa
не ожидала такой заботы! спасибо огромееенннеееейшееее, гениально просто ура ура ура (море эмоций) |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 30
|
Немного подправил под свои цели:
var arr:Array = ["rb1","rb2","rb3","rb4","rb5"] var locRoot:MovieClip = this function loadContent(id:String):Void{ trace(id) var url:String = id+".swf" var contener:MovieClip = locRoot.createEmptyMovieClip("contenerload",locRoot.getNextHighestDepth()); var contentMcl:MovieClipLoader = new MovieClipLoader(); contentMcl.addListener(locRoot) locRoot.onLoadInit = function(mc){ if(id.length==1){ setTimeout(loadContent,10000) }else{ setTimeout(loadContent,10000,nameSwf()) } } contentMcl.loadClip(url,contener); } var nameswf:String = arr[random(arr.length)] loadContent(nameswf) function nameSwf():String { var id:Number = random(arr.length) if(nameswf!=arr[id]){ nameswf = arr[id] return arr[id]; }else{ if(id==arr.length){ return arr[id]; }else{ return arr[id]; } } } |
|
|||||
|
Цитата:
На этапе загрузки свфки ставим в соответствующее этому айди место флаг true, а вместо взятия рандома говорим следующее И на выходе получаем айди свф, который ещё не был использован. Обнулять флаги можно по желанию - при загрузке новой свф, или, допустим, по событию, когда все свф уже по разу были загружены
__________________
Дебаггер не предлагать |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 30
|
если честно, не совсем понял, как использовать в конкретном примере
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|