Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.02.2020, 21:49
pachok89 вне форума Посмотреть профиль Отправить личное сообщение для pachok89 Посетить домашнюю страницу pachok89 Найти все сообщения от pachok89
  № 1  
Ответить с цитированием
pachok89
 
Аватар для pachok89

Регистрация: May 2010
Сообщений: 130
По умолчанию Звуки в swf

Всем привет! Работаем над игрой и остался один баг который отделяет от релиза
TTT.swf основная, грузит в себя по очереди две swf: TSwf1 и TSwf2.

В TSwf1 и TSwf2 проигрываются по звук, звук подключен как swc, название звука совпадает в двух разных swc но звуки разные.
Ожидаемое поведение: поскольку мы грузим разные swf у которых разные swc, звуки должны быть разными не смотря на одинаковые названия. Реальное поведение: в TSwf2 играет звук с TSwf1.

Main.as
Код AS3:
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);
 }
}
 
}
ITest.as
Код AS3:
package nord.connect
{
 
/**
 * ...
 * @author DANIIL_NALETOV
 */
public interface ITest
{
 function doIt(data:Object = null):void;
}
}
Исходник https://shapikthequest.com/data/test.zip
__________________
Портфель


Последний раз редактировалось pachok89; 09.02.2020 в 01:01. Причина: Исходник https://shapikthequest.com/data/test.zip
Старый 12.02.2020, 13:09
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 2  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,096
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Грузить звуки в разные AppDomain, что не будет работать на ios, или изменить подход, например выгружать предыдущую swf или использовать уникальные имена.
__________________
местонахождение

Старый 12.02.2020, 17:40
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,640
Записей в блоге: 4
А для чего вообще такие заморочки? Самый лучший вариант - переименовать звуки так, чтобы не было совпадений. Например play_swf1.mp3 и play_swf2.mp3
Все равно же известен момент загрузки новой swf, значит и команду на смену суффикса в имени можно передать
__________________
Ко мне можно и нужно обращаться на ты)

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
sound , swc
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:42.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.