Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MessageBox в ActionScript3 (http://www.flasher.ru/forum/showthread.php?t=157418)

chuvak2008f 05.06.2011 15:33

MessageBox в ActionScript3
 
Нужно сделать так чтобы выскакивало сообщение поверх всего остального, при этом пока не нажмёшь на какую-либо кнопку в нём все остальные элементы блокировались.
Подобно функции из C++
Код:

MessageBox(0, "сообщение", "сообщение", 0);
При вызове в C++ всё останавливалось пока не закроешь сообщение, при этом функция возвращала код кнопки которую нажал, 0 - отмена, 1 - ОК.
Вот такое подобие нужно только в ActionScript3.

silin 05.06.2011 21:32

http://developer.yahoo.com/flash/ast.../alertmanager/
http://silin.su/#AS3/utils/alert

chuvak2008f 06.06.2011 13:01

Спасибо! то что надо

Добавлено через 4 часа 12 минут
Итак я посмотрел библиотеки они хороши, но нет ничего лучше своего велосипеда.
Создать аналогичную функцию средствами AS3 невозможно по причинам многопоточности и т.д.
Это значит стопарить функции нельзя.
Но можно сделать так:
Код AS3:

function ok():void {
        trace("ok");
}
 
function cancel():void {
        trace("cancel");
}
 
function messageBox(messageText:String, funcOK:Function, funcCancel:Function):void {
        var messageBoard:Sprite = new Sprite;
        var butOK:Sprite = new Sprite;
        var butCancel:Sprite = new Sprite;
 
        /* Закрашиваем всё поле альфа-цветом, чтоб никто не тыкал пока мессагу не закроет */
        messageBoard.graphics.beginFill(0, 0.5);
        messageBoard.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
        messageBoard.graphics.endFill();
        addChild(messageBoard);
 
        /* Здесь типа рисуем оформления для мессаги и расписываем кнопки
        messageBoard = окошко типа();
        butOK = трололо;
        butCancel= траляля;
        messageBoard.addChild(butOK);
        messageBoard.addChild(butCancel); */

 
        butOK.addEventListener(MouseEvent.CLICK, function(){removeChild(messageBoard); funcOK();} );
        butCancel.addEventListener(MouseEvent.CLICK, function(){removeChild(messageBoard); funcCancel();} );
}
 
messageBox("cool", ok, cancel);



Часовой пояс GMT +4, время: 04:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.