|
|
|||||
Регистрация: May 2010
Сообщений: 132
|
Звуки в swf
Всем привет! Работаем над игрой и остался один баг который отделяет от релиза
TTT.swf основная, грузит в себя по очереди две swf: TSwf1 и TSwf2. В TSwf1 и TSwf2 проигрываются по звук, звук подключен как swc, название звука совпадает в двух разных swc но звуки разные. Ожидаемое поведение: поскольку мы грузим разные swf у которых разные swc, звуки должны быть разными не смотря на одинаковые названия. Реальное поведение: в TSwf2 играет звук с TSwf1. Main.as package nord { import flash.utils.setTimeout; import nord.connect.ITest; import flash.display.DisplayObjectContainer; import flash.display.Loader; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; import flash.system.ApplicationDomain; import flash.system.LoaderContext; /** * ... * @author DANIIL_NALETOV */ public class Main extends MovieClip { private var currentLdr:Loader; private var currentSwf:DisplayObjectContainer; public function Main() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event):void { loadSwf("TSwf1"); setTimeout(function() { stage.removeChild(currentSwf); currentLdr.unloadAndStop(); currentLdr = null; currentSwf = null; setTimeout(function() { loadSwf("TSwf2"); }, 1000); }, 5000); } public function loadSwf(name:String):void { trace("LoadRequest: " + name + ".swf"); currentLdr = new Loader(); var req:URLRequest = new URLRequest(name+".swf"); var ldrContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); currentLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); currentLdr.load(req, ldrContext); } private function completeHandler(event:Event):void { currentLdr.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); currentSwf = currentLdr.content as DisplayObjectContainer; stage.addChild(currentSwf); } } } package nord.connect { /** * ... * @author DANIIL_NALETOV */ public interface ITest { function doIt(data:Object = null):void; } }
__________________
Портфель Последний раз редактировалось pachok89; 09.02.2020 в 01:01. Причина: Исходник https://shapikthequest.com/data/test.zip |
|
|||||
Грузить звуки в разные AppDomain, что не будет работать на ios, или изменить подход, например выгружать предыдущую swf или использовать уникальные имена.
__________________
местонахождение |
|
|||||
А для чего вообще такие заморочки? Самый лучший вариант - переименовать звуки так, чтобы не было совпадений. Например play_swf1.mp3 и play_swf2.mp3
Все равно же известен момент загрузки новой swf, значит и команду на смену суффикса в имени можно передать
__________________
Ко мне можно и нужно обращаться на ты) |
Часовой пояс GMT +4, время: 23:46. |
|
« Предыдущая тема | Следующая тема » |
Теги |
sound , swc |
|
|