Показать сообщение отдельно
Старый 25.05.2011, 13:07
Андрей_1970 вне форума Посмотреть профиль Отправить личное сообщение для Андрей_1970 Найти все сообщения от Андрей_1970
  № 12  
Ответить с цитированием
Андрей_1970

Регистрация: May 2011
Сообщений: 9
Вот вроде получилось при таком раскладе:
Код AS3:
var soundFactory:Sound = new Sound();
var request:URLRequest = new URLRequest("b16.mp3");
soundFactory.load(request);
var isPlaying:Boolean = false;
var channel:SoundChannel;
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyupHandler);
 
function keydownHandler(event:KeyboardEvent):void
{
      if ( !isPlaying)
     {
             isPlaying = true;
             channel = soundFactory.play();
             channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
     }
}
 
function keyupHandler(event:KeyboardEvent):void
{
      if ( isPlaying)
      {
             channel.stop();
             isPlaying = false;
      }
}
 
function soundCompleteHandler(event:Event):void
{
        isPlaying = false;
        channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
}
Еще бы убрать цикл, чтоб по окончании звучания ноты(4 сек.) больше не играла, было бы хорошо.
Остается только для всех нот прописать код на каждую клавишу.
.....
Вопрос: как убрать реагирование раскладки клавиатуры на большую и малую литеру. Смотрел вроде как вводить keyCode и charCode для каждой клавиши, но еще не пробовал, но с keyCode срабатывало только при нажатом шифте, когда нажимал клавишу "А".


Последний раз редактировалось Андрей_1970; 25.05.2011 в 13:20.