2012-05-14 66 views
1

嗨我真的是新的动作和ive有播放声音的问题。当我释放上键时,我希望我的声音停止播放。为了让音乐在一个按键上播放,我需要做好准备。动作3键释放停止声音

继承人我的代码...

import flash.events.KeyboardEvent; 

var mySound:Sound = new carstart(); 

stage.addEventListener(KeyboardEvent.KEY_DOWN, playSound); 
stage.addEventListener(KeyboardEvent.KEY_UP, stopSound); 

function playSound(keyEvent:KeyboardEvent) { 
    if (keyEvent.keyCode == 38) { 
     mySound.play(); 
    } 
} 

function stopSound(keyEvent:KeyboardEvent) { 
    if (keyEvent.keyCode == 38) { 
    mySound.stop(); 
    } 
} 

我得到这个错误

Scene 1, Layer 'Actions', Frame 1, Line 29 1061: Call to a possibly undefined method stop through a reference with static type flash.media:Sound. 

如果你能想到的任何东西这将是一个很大的帮助。

感谢

回答

1
import flash.events.KeyboardEvent; 

var mySound:Sound = new carstart(); 
var myChannel:SoundChannel = new SoundChannel(); 

myChannel = mySound.play(); 

function playSound(keyEvent:KeyboardEvent) { 
    if (keyEvent.keyCode == 38) { 
     mySound.play(); 
    } 
} 

function stopSound(keyEvent:KeyboardEvent) { 
    if (keyEvent.keyCode == 38) { 
    myChannel.stop(); 
    } 
} 
0

你需要用你的Sound对象到SoundChannel ... 按照this例如,你会在任何时间被设定!