![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Oct 2013
Сообщений: 126
|
Начал добавлять в игру звук.
1. Звук импортировал в IDE, присовил имя класса и опубликовал вместе с графикой в библиотеке swc; 2. В свойствах Document class Game объявляю статическую константу, ссылающуюся на класс звука: package {
// импорты
public class Game extends Sprite {
//ЗВУКИ
public static const sCLICK:Sound = new ClickSound();
}
}
package rc {
import flash.media.Sound;
public class MySound {
// константе передаётся значение константы класса Game (=Main)
private const sCLICK:Sound = Game.sCLICK;
// функция для проигрывания звука (вызывается из любого места MySound.playSound('имя звука'))
public static function playSound(sound:String):void {
switch (sound) {
case 'click': sCLICK.play();break;
}}}
}
Пошёл другим путём: 3. В свойствах класса "комнаты" (чьи дети - объекты, которые должны при определённых условиях издавать звук (в данном случае имеется в виду меню с кнопками)) объявляю приватную константу, ссылающуюся на статическую константу главного класса: package rooms {
// импорты
public class Menu extends Sprite {
//ЗВУКИ
private const sCLICK:Sound = Game.sCLICK;
// HIT BUTTON
private function hitButton(m:MouseEvent):void {
// звук
playSound(sCLICK);
// действие при нажатии на кнопку
...
};
В этом случае всё работает. В связи с вышеизложенным пара вопросов: 1. Если ли удобный способ управления звуками через класс со статическими функциями? 2. На верном ли я пути, если делать всё, как во втором варианте? (т.е. ссылаться константами главного класса на классы звуков из библиотеки, а затем в каждой "комнате" брать для констант звуков значения соответствующих констант главного класса и проигрывать звуки через приватную функцию). 3. Или, может быть, где-то уже есть готовый простой менеджер звуков с учётом следующих требований?: - в разных "комнатах" играет разная музыка; - в заданные моменты проигрывается тот или иной звук; - ограничение количества одновременно проигрываемых звуков; - возможность глобального включения/выключения звуковых эффектов и музыки. (я где-то встречал реализацию такого менеджера через синглтон, но там был спор по поводу целесообразности подхода) Добавлено через 19 часов 26 минут Разобрался и сделал по-другому. Уважаемые модераторы, тему можно закрывать |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|