Возможно загружать звуки массива звуков в AS3?

У меня есть звуки в bilblioteca и мне хотелось бы знать, было ли возможно называть их как 1,2,3.... и мочь загружать их как будто это были индекс массива.

Они много и в зависимости от событий я должен загружать один или другой. Если они могли быть названными числами для экспорта и потом во время них загружения ссылаться на индекс [i] мне избежал бы писать тот же код 100 раз. В зависимости от стоимости "i" был бы загружен звук или другой. Возможно делать это?

Спасибо заранее

Приветствие

2
задан 05.04.2016, 13:03
1 ответ

ЗАМЕТЬ: практическое решение - с функциями и объектами , но техника будет той же самой или очень похожая в любом из языков, ориентируемых на обычные объекты.


Если они могли быть названными числами для экспорта

В, когда, чтобы называть их, если это, чтобы загружать их, ты не нуждаешься в этом, если у тебя есть файлы в том же каталоге, ты можешь загружать все файлы dinamicamente:

File folder = new File("ruta/al/directorio/de/tus/sonidos");
for (File f : folder.listFiles()) {
     // cargar en el array/list de sonidos
}

и потом во время них загружения ссылаться на индекс [i] избежало бы писать мне тот же код 100 раз. В зависимости от стоимости "i" был бы загружен звук или другой. Возможно делать это?

Если, в языках, ориентируемых на объекты возможно создавая array или коллекцию объектов тип аудио / звук совместимые с файлами, которые у тебя есть.


В ты можешь использовать класс Clip, завись от того, что ты хочешь File также он подаст тебя.

Уже будьте хорошо создавая array []:

Clip[] sonidos = new Clip[numeroDeSonidos];

Или один ArrayList (с которым ты не будешь нуждаться в том, чтобы узнать размер заранее, так как они динамического размера):

ArrayList<Clip> sonidos = new ArrayList<>();

В обоих случаях, ты можешь повторять через Ролики можешь использовать for-each:

for (Clip c : sonidos) {
    c.loop(1); // hacer que suene 1 vez... OJO A QUE SE SOLAPARAN!
}

Или брать элемент из-за положения:

sonidos[posicion];      // array
sonidos.get(posicion)¡; // ArrayList
1
ответ дан 24.11.2019, 14:38