gpt4 book ai didi

flash - AS3中有十万个Ozzy

转载 作者:行者123 更新时间:2023-12-03 00:02:14 25 4
gpt4 key购买 nike

我正在制作一个以小鸟为头像的Flash游戏。当小鸟捡起一个铁鸟拾音器时,就会播放《钢铁侠》这首歌。但是问题是:它一直在制作这种音频的新实例。所以我就像十万个奥兹在唱歌。但是它们彼此之间有一秒钟的延迟。歌曲只能播放一次吗?还是一个小的脚本可以完成此任务?

这是我的脚本:

var IronManMusic:Sound = new IronManSong();
var IronManChannel:SoundChannel = new SoundChannel();

var backgroundMusic:Sound = new BackgroundMusic();
var myChannel:SoundChannel = new SoundChannel();
myChannel = backgroundMusic.play();

if(ironbird==true){
laatstejump = 9;
myChannel.stop();
IronManChannel = IronManMusic.play();
}

可以在Updatescreen函数中找到ironbird bool(boolean) 值。我认为这是问题所在,但我不确定。非常感谢您的帮助! :)

最佳答案

嗯...看起来应该是:

if(ironbird==true) {
[...]
ironbird = false;
}

或者至少您提到的Updatescreen函数应该在一滴水/迭代后将 ironbird设置回 false

编辑:查看您作为答案发布的代码,它甚至更容易:

你在做
if(birdie.hitTestPoint(ironbirdpickup.x,ironbirdpickup.y,true)){
ironbird = true;
ironbirdpickup = Null;
}

if(ironbird==true){
laatstejump = 9;
myChannel.stop();
IronManChannel = IronManMusic.play();
}

并将 ironbird变量用于动画等。移动声音触发器应该只触发一次声音(或触发hitTestPoint的频率)。
if(birdie.hitTestPoint(ironbirdpickup.x,ironbirdpickup.y,true)){
ironbird = true;
ironbirdpickup = Null;
myChannel.stop();
IronManChannel = IronManMusic.play();
}

if(ironbird==true){
laatstejump = 9;
}

您仍然应该将 ironbird重设为 false,例如完成动画后。

关于flash - AS3中有十万个Ozzy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com