Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как сделать так, чтобы мое гуи разширялось с зависимости от размера окна (AS3) (http://www.flasher.ru/forum/showthread.php?t=212898)

Sascha76u 22.05.2016 12:25

Как сделать так, чтобы мое гуи разширялось с зависимости от размера окна (AS3)
 
Вложений: 1
Мой код
Код AS1/AS2:

package GTanks.Sascha76u 
{
        import controls.ColorButton;
        import controls.Label;
        import controls.TankInput;
        import controls.TankWindow;
        import flash.display.Sprite;
        import flash.display.Stage;
        import flash.events.Event;
        import flash.events.MouseEvent;
        import flash.ui.Mouse;
        import flash.ui.MouseCursor;
        import flash.events.TextEvent;
        import controls.panel.Indicators;
        import controls.rangicons.RangIconNormal;
        import controls.RedButton;
        import controls.BigButton;
    import assets.icons.BattleInfoIcons;
        import MainPanelBattlesButton;
        import MainPanelCloseButton;
        import flash.net.SharedObject;
        import MainPanelGarageButton;
        import MainPanelHelpButton;
        import MainPaneHallButton;
        import controls.TankWindowInner;
        import fl.controls.listClasses.ImageCell;
        import MainPanelSoundButton;
        import MainPanelConfigButton;
 
        public class Gui extends Sprite
        {
                [Embed(source = "../data/228.png")]
                static private var image:Class
 
                private var _stage:Stage;
                private var b:TankWindow = new TankWindow(380, 550);
                private var d:TankInput = new TankInput();
                private var e:ColorButton = new ColorButton();
                private var g:Alert;
                private var v:Indicators = new Indicators();
                private var spisok:TankWindow = new TankWindow(380, 550);
                private var gg:* = new image;
                private var rang:RangIconNormal = new RangIconNormal();
                private var q:RedButton = new RedButton();
                private var infa:TankWindow = new TankWindow(380, 550);
                private var big:BigButton = new BigButton();
                private var text:Label = new Label();
                private var timer:BattleInfoIcons = new BattleInfoIcons();
                private var ol:MainPanelBattlesButton = new MainPanelBattlesButton();
                private var exit:MainPanelCloseButton = new MainPanelCloseButton();
                private var so:SharedObject = SharedObject.getLocal("login");
                private var garage:MainPanelGarageButton = new MainPanelGarageButton();
                private var help:MainPanelHelpButton = new MainPanelHelpButton();
                private var al:MainPaneHallButton = new MainPaneHallButton();
                private var i:TankWindowInner = new TankWindowInner();
                private var pisa:TankWindowInner = new TankWindowInner();
                private var vv:* = new image;
                private var priv:TankWindowInner = new TankWindowInner();
                private var pi:TankWindowInner = new TankWindowInner();
                private var liv:* = new image;
                private var sound:MainPanelSoundButton = new MainPanelSoundButton();
                internal var sup:MainPanelConfigButton = new MainPanelConfigButton();
 
                public function Gui(a:Stage):void
                {
                        _stage = a;
                        _stage.addEventListener(Event.RESIZE, draw);
                        g = new Alert(_stage);
 
 
 
                        vv.x = 392;
                        vv.y = 113;
                        vv.width = 355;
                        vv.height = 493;
                        priv.x = 390;
                        priv.y = 113;
                        priv.width = 359;
                        priv.height = 493;
                        pisa.x = 13;
                        pisa.y = 113;
                        pisa.width = 359;
                        pisa.height = 493;
                        gg.x = 14;
                        gg.y = 114;
                        gg.width = 358;
                        gg.height = 492;
                        i.x = 395;
                        i.y = 700;
                        i.width = 356;
                        i.height = 220;
                        al.x = 931;
                        al.y = 4;
                        al.label = "Зал славы";
                        help.x = 1080;
                        help.y = 4;
                        garage.x = 835;
                        garage.y = 4;
                        garage.label = "Гараж";
                        //Текст для гуи
                        //Поле для ввода
                        d.x = 10;
                        d.y = 508;
                        d.width = 260;
                        d.addEventListener(MouseEvent.ROLL_OVER, function(e:Event):void {
                                Mouse.cursor = MouseCursor.IBEAM;
                        });
                        d.addEventListener(MouseEvent.ROLL_OUT, function(e:Event):void {
                                Mouse.cursor = MouseCursor.ARROW;
                        });
                        //Кнопка закрыть игру
                        exit.x = 1114;
                        exit.y = 5;
                        exit.addEventListener(MouseEvent.ROLL_OVER, function(e:Event):void {
                                Mouse.cursor = MouseCursor.BUTTON;
                        });
                        exit.addEventListener(MouseEvent.ROLL_OUT, function(e:Event):void {
                                Mouse.cursor = MouseCursor.ARROW;
                        });
                        exit.addEventListener(MouseEvent.CLICK, function(a:Event):void {
                    addChild(new Exit(_stage));
                        });
                        //Кнопка чата
                        e.label = "Сказать";
                        e.x = 275;
                        e.y = 508;
                        e.width = 50;
                        e.setStyle("def");
                        e.addEventListener(MouseEvent.ROLL_OVER, function(e:Event):void {
                                Mouse.cursor = MouseCursor.BUTTON;
                        });
                        e.addEventListener(MouseEvent.ROLL_OUT, function(e:Event):void {
                                Mouse.cursor = MouseCursor.ARROW;
                        });
                        e.addEventListener(MouseEvent.CLICK, function(a:Event):void {
 
                        });
                        //Окно чата
                        spisok.headerLang = "ru";
                        spisok.header = 6;
                        //Звание
                        rang.x = 3;
                        rang.y = 1;
                        //Окно хз
                        b.headerLang = "ru";
                        b.header = 5;
                        infa.headerLang = "ru";
                        infa.header = 7;
                        //Кнопка играть
                        big.label = "Играть";
                        big.enable = false;
                        big.x = 1004;
                        big.y = 589;
                        //Таймер
                        timer.x = 500;
                        timer.y = 324;
                        //Кнопка "Битвы"
                        ol.label = "Битвы";
                        ol.x = 740;
                        ol.y = 4;
                        //Кнопка "Создать" битву
                        q.label = "Создать";
                        q.x = 275;
                        q.y = 510;
                        //Текст счёта
                        text.x = 600;
                        text.y = 500;
                        text.htmlText = "0";
                        text.color = 0xFF0000;
                        text.size = 21;
                        //Прогресс ранга (Индикатор)
                        v.x = 65;
                        v.y = 4;
                        v.width = 700;
                        liv.x = 772;
                        liv.y = 340;
                        liv.width = 353;
                        liv.height = 244;
                        sound.x = 1050;
                        sound.y = 4;
                        //Рамка битвы (Не окна);
                        pi.x = 770;
                        pi.y = 340;
                pi.width = 355;
                        pi.height = 244;
                        sup.x = 1020;
                        sup.y = 4;
                        sup.addEventListener(MouseEvent.ROLL_OVER, function(e:Event):void {
                                Mouse.cursor = MouseCursor.BUTTON;
                        });
                        sup.addEventListener(MouseEvent.ROLL_OUT, function(e:Event):void {
                                Mouse.cursor = MouseCursor.ARROW;
                        });
                        sup.addEventListener(MouseEvent.CLICK, function(a:Event):void {
                                addChild(new Settings(_stage));
                        });
                        //Чилды
                        b.addChild(d);
                        b.addChild(e);
                        addChild(b);
                        addChild(v);
                        addChild(spisok);
                        addChild(gg);
                        addChild(rang);
                        spisok.addChild(q);
                        addChild(infa);
                        addChild(big);
                        addChild(text);
                        addChild(timer);
                        addChild(ol);
                        addChild(exit);
                        addChild(garage);
                        addChild(help);
                        addChild(al);
                        addChild(i);
                        addChild(pisa);
                        addChild(vv);
                        addChild(priv);
                        addChild(liv);
                        addChild(pi);
                        addChild(sound);
                        addChild(sup);
                        //Конец
                        draw();
                }
                //Расположение окон
                private function draw(e:Event = null):void {
            b.y = 80;
            b.x = 4;
                        //Список битв
                        spisok.x = 380;
                        spisok.y = 100;
                        //Информация о битве
                        infa.x = 758;
                        infa.y = 100;
 
                        i.x = 770;
                        i.y = 115;
                }
        }
 
}


Как так сделать ???

Wolsh 22.05.2016 13:30

Код AS3:

private function draw(e:Event = null):void {
        b.y = 80;
        b.x = 4;
 
        //Информация о битве
        infa.x = this.stage.stageWidth - 4 - infa.width; // прижимаем к правому краю
        infa.y = 100;
 
        i.x = infa.x + 12; // cтараемся использовать относительные координаты а не жесткие глобальные
        i.y = 115;
 
        //Список битв
        //// надо определиться с квадратом в центре, оставшимся свободным
        var freeX:Number = b.x + b.width;
        var freeWidth:Number = this.stage.stageWidth - freeX - infa.x;
        //// вычисляем пространство на два отступа
        var space:Number = freeWidth - spisok.width;
        //// ставим центральное окно в центр свободного пространства
        spisok.x = freeX + space / 2;
        spisok.y = 100;
}



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

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