我正在开发一款游戏,大部分进展顺利。但是,它通常在某个帧上有一个按钮,可以让它转到某个帧并播放。在我的研究中,我发现了以下解决方案
- 可以隐藏第 1 帧上的按钮并运行代码(需要知道如何执行此操作)。
- 只在有问题的框架上添加按钮的侦听器(我不明白这个,他们的意思是:在时间轴内而不是在包内编码)
我还发现了这个 stackoverflow 问题链接 2 这个链接显示了一些关于隐藏按钮的信息,但是我认为它并不适用于包内。但我改变了,见下文。
根据上面链接中的示例,我的代码片段
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class DocumentClass extends MovieClip
{
public var b1:Boolean = false;
public var b2:Boolean = false;
public function DocumentClass()
{
init();
}
private function init():void
{
button1.addEventListener(MouseEvent.MOUSE_DOWN, checkButton);
button2.addEventListener(MouseEvent.MOUSE_DOWN, checkButton);
private function checkButton(e:MouseEvent):void
{
if(e.target.name == button1) b1 = true;
else b2 = true;
gotoAndPlay(3);
}
例如,在第 3 帧上,我可能会执行与上述链接相同的操作:
buttonA.visible = false;
buttonB.visible = false;
if (b1) buttonA.visible = true;
if (b2) buttonB.visible = true;
编辑:我尝试了上面的代码并且它有效,但我的问题还没有解决(见下文)。
所以这是我的问题:我需要有关如何更好地使用上述代码的建议/信息。原因是;我认为上面的代码不适合我想要的(见下文)。
上面的代码不适用于(我认为)放置在第 1 帧以外的帧上的按钮,这是一个问题。
我需要有一些没有(可见)按钮的帧作为介绍,然后在第 5 帧上,例如一个带有按钮的菜单,该按钮可以转到下一帧并停止 [stop();] 和在第 6 帧上播放的按钮下一帧直到结束。