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

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

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

Регистрация: Dec 2008
Адрес: Санкт-Петербург
Сообщений: 7
Отправить сообщение для Enfriz с помощью ICQ
Melody Программно поместить звук в некоторый кадр

В библиотеке есть много звуков, которые подключаются через attachSound. Задача - создать мувик и поместить эти звуки в определенные кадры, но номера кадров всегда разные (поэтому я не могу сделать это вручную и нужно кодом).

Вопрос: как программно поместить звук в некоторый известный кадр мувика?
__________________
The right man in the wrong place can make all the difference in the world...

Старый 08.07.2009, 15:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Никак.
Работа с таймлайном в процессе создания отличается от работы с ним программно. Все программное работает "здесь и сейчас".
Поэтому вам нужно контролировать номер текущего кадра и запускать нужный звук.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2007
Сообщений: 1,724
если звук в библиотеке, то называете его sound(например) и пишите:
Код AS1/AS2:
var mySound:Sound = new Sound(_root);
mySound.attachMovie("sound");
и дальше, либо в этом же:
Код AS1/AS2:
onEnterFrame = function():Void {
     if (_currentframe == нужный кадр) {
          mySound.start(0, 1);
     }
}
либо на нужном кадре пишете
Код AS1/AS2:
mySound.start(0, 1);
писал тут же, не тестил, так что могут быть ошибки.

Старый 08.07.2009, 18:35
Enfriz вне форума Посмотреть профиль Отправить личное сообщение для Enfriz Посетить домашнюю страницу Enfriz Найти все сообщения от Enfriz
  № 4  
Ответить с цитированием
Enfriz

Регистрация: Dec 2008
Адрес: Санкт-Петербург
Сообщений: 7
Отправить сообщение для Enfriz с помощью ICQ
iNils, ZIK68,
ясно, сейчас примерно такой механизм у меня и есть. Но он очень медленный, при большом числе звуков сильно тормозит, оператор условия вообще сам по себе относительно медленный.

Я пытаюсь избавиться от циклов и операторов условий по максимуму.

Вот эта идея:
Код AS1/AS2:
onEnterFrame = function():Void {
     if (_currentframe == нужный кадр) {
          mySound.start(0, 1);
     }
}
у меня реализована гораздо сложнее, потому что звуков много, и в какой-то момент времени играется один из них. Каждую 1/50 секунды программа сверяется с массивом, проверяет, какой именно звук играть, и играет если такой есть. Когда звуков становится несколько десятков или даже сотен, это все начинает сильно тормозить.

Я пытался сделать это одним мувиком, чтобы он воспроизводил как бы всю мелодию одним потоком, а не проверял по 50 раз в секунду, надо ли играть ноту или нет и если надо то какую.
---------
Ладно, тогда такой вопрос: могу ли я программно прописать в какой-то кадр код?
И еще один: можно ли несколько звуков sound соединить в один, расположив их через заданные интервалы?
__________________
The right man in the wrong place can make all the difference in the world...

Старый 08.07.2009, 21:15
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 5  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Цитата:
Ладно, тогда такой вопрос: могу ли я программно прописать в какой-то кадр код?
ну делайте так
Код AS1/AS2:
mySound.start(0, 1);
в нужном кадре

Старый 09.07.2009, 01:49
Enfriz вне форума Посмотреть профиль Отправить личное сообщение для Enfriz Посетить домашнюю страницу Enfriz Найти все сообщения от Enfriz
  № 6  
Ответить с цитированием
Enfriz

Регистрация: Dec 2008
Адрес: Санкт-Петербург
Сообщений: 7
Отправить сообщение для Enfriz с помощью ICQ
ZIK68,
я же написал, что номера кадров неизвестны до запуска программы.
__________________
The right man in the wrong place can make all the difference in the world...

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

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

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


 


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


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