Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.05.2016, 12:25
Sascha76u вне форума Посмотреть профиль Отправить личное сообщение для Sascha76u Найти все сообщения от Sascha76u
  № 1  
Ответить с цитированием
Sascha76u

Регистрация: May 2016
Сообщений: 1
По умолчанию Как сделать так, чтобы мое гуи разширялось с зависимости от размера окна (AS3)

Мой код
Код 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;
		}
	}
 
}

Как так сделать ???
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_1.png
Просмотров: 2566
Размер:	753.1 Кб
ID:	32207  

Старый 22.05.2016, 13:30
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код 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;
}
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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