Flash 动作脚本3-使声音仅在物体接触时播放一次
我有一个煎锅、培根和BaconCooking.wav。我想在把培根放到烤架上时演奏wav。如果我移动培根直到它刚好接触到烤盘,wav播放得很好,但是如果我继续在烤盘上拖动培根mc,wav会变得很响并且失真,几乎就像它同时播放多个wav实例一样Flash 动作脚本3-使声音仅在物体接触时播放一次,flash,actionscript-3,wav,playback,Flash,Actionscript 3,Wav,Playback,我有一个煎锅、培根和BaconCooking.wav。我想在把培根放到烤架上时演奏wav。如果我移动培根直到它刚好接触到烤盘,wav播放得很好,但是如果我继续在烤盘上拖动培根mc,wav会变得很响并且失真,几乎就像它同时播放多个wav实例一样 private function __handleSliceDown($evt:MouseEvent):void { slice1_mc.startDrag(true); } private function __handleSliceUp($e
private function __handleSliceDown($evt:MouseEvent):void {
slice1_mc.startDrag(true);
}
private function __handleSliceUp($evt:MouseEvent):void {
slice1_mc.stopDrag();
addEventListener(Event.ENTER_FRAME, __checkHit);
}
private function __checkHit($evt:Event):void {
if (this.slice1_mc.hitTestObject(griddle_mc)) {
if (!hitting) {
sc = BaconCooking.play();
}
}
}
如何使wav正确播放
编辑:
private function __checkHit($evt:Event):void {
if (this.slice1_mc.hitTestObject(griddle_mc)) {
if(isPlaying){
sc = BaconCooking.play();
isPlaying = true;
}
}else{
isPlaying = false;
sc.stop();
}
}
- 默认情况下,isplay是一个布尔值,设置为false
if(!isPlaying){
<code to play sound
}
if(!isplay){
现在你有了if(isplay){
,但是如果(!isplay){
,那不应该是if吗
我会这样做:当两个对象命中测试时,如果为false,则将isplay布尔值设置为true,然后播放声音。只有当对象不再碰撞时,isplay布尔值才能再次变为false。我做了一些编辑,但它们不正确,因为现在声音根本不会播放。