gpt4 book ai didi

flash - Flash As3静音按钮问题

转载 作者:行者123 更新时间:2023-12-03 02:27:50 28 4
gpt4 key购买 nike

我正在尝试创建可在不同场景中使用的UI影片剪辑。
它使用来自根范围的变量来确定状态。

当我按下静音按钮时,效果很好,但是当我尝试取消静音时,就变得很奇怪。有时需要2次点击才能取消静音,有时还需要更多。似乎是随机的。
但是,静音似乎是第一次起作用。

有任何想法吗?

Main Timeline: 

var mute:Boolean = false;
var playerName = "Fred";


function setMute(vol)
{
var sTransform:SoundTransform = new SoundTransform(1,0);
sTransform.volume = vol;
SoundMixer.soundTransform = sTransform;
}

function toggleMuteBtn(event:Event)
{
if (mute)
{
// Sound On, Mute Off
mute = false;
setMute(1);
ui_mc.muteCross_mc.visible = false;
}
else
{
// Sound Off, Mute On
mute = true;
setMute(0);
ui_mc.muteCross_mc.visible = true;
}
}
ui_mc Action Script:

if (MovieClip(parent).mute == false)
{
muteCross_mc.visible = false;
}

mute_btn.addEventListener(MouseEvent.CLICK, MovieClip(parent).toggleMuteBtn);

最佳答案

我假设您的代码位于时间轴的第一帧。

我不会深入讨论as3中与该做法有关的问题,但是使用文档类可能会更好。这样,代码仅初始化一次。我猜想当您在场景之间切换时,您会继续进行初始化,因此最终会将静音重置为false。

要检查是否发生这种情况,只需在该脚本中添加一个trace("init"),并查看调用频率。您还可以在您的toggleMuteBtn函数中添加一条跟踪记录,以查看静音变量是什么,然后再进行更改。

顺便说一句,我很好奇为什么您要对父类MovieClip(parent)进行类型转换,尽管它不会引起任何问题,所以不需要它,因为您可以只使用parent

关于flash - Flash As3静音按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426585/

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