Как создать кнопку выхода в полноэкранном swf-файле?

#actionscript-3 #button #exit

#actionscript-3 #кнопка #выход

Вопрос:

В настоящее время я пишу свою диссертацию во Flash. Кто-нибудь знает, как поставить предупреждение перед выходом из приложения? Например, когда пользователь нажимает кнопку «X», появляется надпись «Вы уверены, что хотите выйти? Да? Нет?» появится? Кроме того, он находится на

Пока что мой код для кнопки выхода

 addEventListener(MouseEvent.CLICK, CloseApp);
function CloseApp(e:MouseEvent) {
fscommand("quit");
}
  

следовательно, при нажатии приложение автоматически закрывается. Большое вам спасибо!

Комментарии:

1. это будет работать только при «выходе», запускаемом из flash (с помощью fscommand), но не будет работать, когда пользователь будет использовать кнопку закрытия окна. Для этого вы могли бы заглянуть в какую-нибудь внешнюю exe-оболочку, например MDM Zinc, или создать выход AIR. Таким образом, вы можете зафиксировать момент «выхода», а затем отобразить предупреждение.

Ответ №1:

Следующий фрагмент кода иллюстрирует, как достичь этого результата с помощью Adobe AIR amp; Flex SDK.

 <?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx" 
                   closing="onClosingMainWindow(event)">

<fx:Script>
    <![CDATA[
        import mx.controls.Alert;
        import mx.events.CloseEvent;
        protected function onClosingMainWindow(event:Event):void
        {
            event.preventDefault();

            Alert.show('Are you sure?','',Alert.YES|Alert.NO,null,function(event:CloseEvent):void{
                if(event.detail == Alert.YES)
                    nativeApplication.exit();
            });
        }

    ]]>
</fx:Script>
</s:WindowedApplication>
  

И тот же результат при использовании Adobe AIR во Flash Pro. (Чистый AS3)

 import flash.desktop.NativeApplication;
import flash.events.Event;

//activeWindow will be null until the frame will not be constructed.
stage.addEventListener(Event.FRAME_CONSTRUCTED, onFrameConstructed);

function onFrameConstructed(event:Event){
    stage.removeEventListener(Event.FRAME_CONSTRUCTED, onFrameConstructed);

    NativeApplication.nativeApplication.activeWindow.addEventListener(Event.CLOSING, onClosingMainWindow);
}

function onClosingMainWindow(event:Event):void
{
    event.preventDefault();

    //The following code will close the app.
    //NativeApplication.nativeApplication.exit();
}
  

Ответ №2:

 import flash.desktop.NativeApplication;
import flash.events.Event;

addEventListener(MouseEvent.CLICK, CloseApp);

function CloseApp(e:MouseEvent) {
    stage.nativeWindow.close();
}
  

должен выполнить задание

Ответ №3:

// Просто добавьте следующий скрипт в кнопку

href=»javascript: history.go(-1)»