Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Sound идентификатор (http://www.flasher.ru/forum/showthread.php?t=155197)

volter312 29.04.2011 17:24

Sound идентификатор
 
Добрый день!
Что то я туплю,

Есть несколько объектов Sound ,

у каждого слушатель на загрузку
mySound.addEventListener(ProgressEvent.PROGRESS, progressHandler)

так вот проблема в том как их различать индефицировать в progressHandler.


parent нельзя использовать к Sound, и переменную внутри нельзя создать типа mySound.id=123

можно было бы конечно по mySound.url но флеш путь меняет , т.е. добавляет www и прочее.

Jewelz 29.04.2011 17:37

попробуйте создать словарь и присвоить нужный вам id, например так,

Код AS3:

sounds = new Dictionary();
 
sounds[mySound1] = 1;
sounds[mySound2] = 2;

а в хендлере брать id по e.currentTarget

Код AS3:

var id:int = sounds[e.currentTarget]


volter312 29.04.2011 17:38

Пасибо большое! попробую!

Hidest 29.04.2011 17:52

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

volter312 03.05.2011 13:41

Пасибо! тоже вариант хороший:drinks:

Вениамин 04.05.2011 02:48

mySound.addEventListener(ProgressEvent.PROGRESS, progressHandler)
mySound.addEventListener(ProgressEvent.PROGRESS, progressHandler2)
mySound.addEventListener(ProgressEvent.PROGRESS, progressHandler3)
mySound.addEventListener(ProgressEvent.PROGRESS, progressHandler4)

Hidest 04.05.2011 14:01

Некрасиво и бесполезно в данном контексте... У автора совсем другая задача - повесить один слушатель на несколько саундов, а не несколько слушателей на один.

surlac 04.05.2011 17:17

Такой вопрос. В Sound по-видимому завернут Loader (т.к. тоже грузит файл по HTTP через load() и так же принимает контекст). Можно ли до него добраться через Sound?

Hidest 04.05.2011 17:29

По видимому там совсем не Loader зашит, а что-то с такой функциональность... А зачем вам?

surlac 04.05.2011 17:52

Вряд ли Adobe стали бы два раза плодить одинаковую функциональность, да и наследования прямого нет. Остается композиция/агрегация.


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

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