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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
package 
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageDisplayState;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
 
	public class Main extends Sprite 
	{
		private var _topBar:Sprite;
		private var _statusBar:Sprite;
		private var _leftBar:Sprite;
		private var _rightBar:Sprite;
		private var _centerButton:Sprite;
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
 
			_topBar = coloredRect(0xAAAAAA, 20, 20, 10);
			super.addChild(_topBar);
 
			_statusBar = coloredRect(0xAAAAAA, 40, 40, 10);
			super.addChild(_statusBar);
 
			_leftBar = coloredRect(0xAAAAAA, 100, 40, 10);
			super.addChild(_leftBar);
 
			_rightBar = coloredRect(0xAAAAAA, 100, 40, 10);
			super.addChild(_rightBar);
 
			_centerButton = new Sprite();
			_centerButton.graphics.beginFill(0xFF0000);
			_centerButton.graphics.drawCircle(0, 0, 100);
			super.addChild(_centerButton);
			_centerButton.addEventListener(MouseEvent.CLICK, handlerClick);
			redraw();
			stage.addEventListener(Event.RESIZE, handlerResize);
		}
 
		private function handlerClick(e:MouseEvent):void 
		{
			stage.displayState = stage.displayState == StageDisplayState.NORMAL ? StageDisplayState.FULL_SCREEN_INTERACTIVE : StageDisplayState.NORMAL;
		}
 
		private function handlerResize(event:Event):void 
		{
			redraw();
		}
 
		private function redraw():void 
		{
			var w:Number = stage.stageWidth;
			var h:Number = stage.stageHeight;
			//// верхняя панель всегда вверху с отступом по 5 пикселей, растягивается по длине, сохраняя высоту
			_topBar.x = 5;
			_topBar.y = 5;
			_topBar.width = w - 10;
			//// нижняя панель всегда внизу с отступом по 5 пикселей, растягивается по длине, сохраняя высоту
			_statusBar.x = 5;
			_statusBar.y = h - 5 - _statusBar.height;
			_statusBar.width = w - 10;
			//// левая панель всегда слева с отступом 5 пикселей, сохраняет ширину, меняет высоту
			_leftBar.x = 5;
			_leftBar.y = _topBar.y + _topBar.height + 5;
			_leftBar.height = _statusBar.y -_leftBar.y - 5;
			//// правая панель всегда справа  с отступом 5 пикселей, сохраняет ширину, меняет высоту
			_rightBar.x = w - _rightBar.width - 5;
			_rightBar.y = _topBar.y + _topBar.height + 5;
			_rightBar.height = _statusBar.y -_leftBar.y - 5;
			//// круглую кнопку будем держать в центре
			_centerButton.x = w / 2;
			_centerButton.y = h / 2;
		}
 
		private function coloredRect(color:uint, width:Number, height:Number, corner:Number):Sprite
		{
			var s:Sprite = new Sprite();
			var g:Graphics = s.graphics;
			g.beginFill(color);
			g.drawRoundRect(0, 0, width, height, corner);
			s.scale9Grid = new Rectangle(10, 10, 2, 2);
			return s;
		}
	}
}
(Тыкать в красную кнопку или менять размер окна браузера)
RubberWithFullScreen.swf   (1.8 Кб)
Вложения
Тип файла: swf RubberWithFullScreen.swf (1.8 Кб, 135 просмотров)
__________________
Reality.getBounds(this);