我正在尝试制作一个带有“退出”按钮的Flash视频,当用户点击它时会关闭该电影。最初我有这个代码:
fscommand("quit");
但是每当我将这部电影作为EXE文件发布时(它将成为自动运行CD中的目录索引页面,所以我认为它必须是一个EXE),该代码会导致电影自动关闭。我会点击EXE文件,屏幕会闪烁然后关闭。当我从该按钮的图层的动作中取出该代码时,它工作正常(没有关闭)但现在我没有退出命令。除非我做错了什么?
那么AS3.0还有另一种命令来创建“退出”按钮吗?或者我在这段代码中缺少一些东西,比如我应该添加其他东西吗?
答案 0 :(得分:1)
在as3中,您必须使用如下事件和事件处理程序:
import flash.events.MouseEvent;
exitButton_mc.addEventListener(MouseEvent.CLICK, function()
{
fscommand("quit");
}
在as2中,您可以这样编码:
exitButton_mc.onRelease = function()
{
fscommand("quit");
}
其中,exitButton_mc是您的按钮,您已在属性面板中将其作为实例名称。如果你编写代码fscommand("quit");
,在时间轴本身,它将被执行并关闭EXE。
在旁注中,我读了一些内容,其中Flash中代码的最佳方法是保留顶部名为_actions
和_labels
的图层,这些图层不包含任何UI元素,但所有as代码将位于_actions
图层中,关键帧的标签将保留在_labels
。
答案 1 :(得分:0)
如果您将此操作直接放在时间轴上,它将立即触发,因此当您的exe文件启动时,它将看到退出操作并关闭。
你必须为按钮点击创建一个事件监听器,然后像这样放置fscommand动作:
myCloseButton.addEventListener(MouseEvent.CLICK, CloseApp);
function CloseApp(e:MouseEvent) {
fscommand("quit");
}
答案 2 :(得分:0)
import flash.events.MouseEvent;
import flash.system.fscommand;
exit_button.addEventListener(MouseEvent.CLICK, CloseApp);
function CloseApp(e:MouseEvent) {
fscommand("quit");
}
发布您的Flash应用。 然后运行已发布的swf。 注意:在Flash中测试导出时,“退出”不起作用。它仅适用于已发布的swf文件。