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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.06.2009, 10:39
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 11  
Ответить с цитированием
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
не, во флэшке тоже не работает.
если уменьшить высоту окна то с боку остается тот же самый пробел

Старый 09.06.2009, 12:20
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 12  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Че-то непонятно, труднее сделать, так что-бы не работало.
Код AS3:
package {
	import flash.display.*; import flash.events.*; import flash.ui.*; import flash.text.*;import flash.geom.*;
	public class DocResize extends Sprite {
		private var rMc:Sprite, lMc:Sprite;
		public function DocResize():void{
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
 
			addChild(rMc = new ScaleTestMc);
			addChild(lMc = new ScaleTestMc);
			resizeHandler();
			stage.addEventListener(Event.RESIZE, resizeHandler);
		}
		private function resizeHandler(evt:Event = null):void{
			rMc.x = stage.stageWidth -rMc.width;
		}
 
	}
}
где rMc - мувик справа, а lMc мувик слева естественно
При публикации ставим размеры 100%
http://www.murmadillo.tut.su/html/resize.html
Естественно нет причин для не работоспособности этого и что-бы оно не работало надо приложить некоторые усилия, даже не понятно какие.

Старый 09.06.2009, 12:56
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 13  
Ответить с цитированием
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
да спасибо это работает. но как я уже писала у меня проблемы с NO_SCALE , потому что мне нужно что если размер окна уменьшается то элементы тоже бы меняли размер. а как задать им такой scale не знаю

Старый 09.06.2009, 14:01
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 14  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Ну так надо скалируемый контент засунуть в отдельный мувик и скалировать его
Код AS3:
package {
	import flash.display.*; import flash.events.*; import flash.ui.*; import flash.text.*;import flash.geom.*;
	public class DocResize extends Sprite {
		private var rMc:Sprite, lMc:Sprite, mcGeneralContent:Doc,
		baseHeight:Number, baseWidth:Number;
		public function DocResize():void{
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			addChild(mcGeneralContent = new Doc);
			addChild(rMc = new ScaleTestMc);
			addChild(lMc = new ScaleTestMc);
			baseWidth = 550;
			baseHeight = 200;
			resizeHandler();
			stage.addEventListener(Event.RESIZE, resizeHandler);
		}
		private function resizeHandler(evt:Event = null):void{
			var scaleObj:Object=getAutoScale(stage.stageWidth - (rMc.width + lMc.width), stage.stageHeight);
			rMc.x = stage.stageWidth -rMc.width;
			mcGeneralContent.x = scaleObj.x + lMc.width;
			//mcGeneralContent.y = scaleObj.y;//выравнивание по центру
			mcGeneralContent.scaleX = mcGeneralContent.scaleY = scaleObj.scale;
		}
 
		private function getAutoScale(_w:Number,_h:Number):Object {
			//trace("resizeHandler: " + evt);
			//trace("stageWidth: " + 800 + " stageHeight: " + 600);
 
			var scaleMode:String;
			var scale:Number;
			if (baseWidth>=baseHeight) scaleMode = "width";else scaleMode = "height";
			if (scaleMode == "width") {
				scale = _w/baseWidth;
				if (baseHeight*scale>_h) scale = _h/baseHeight;
			}else{
				scale = _h/baseHeight;
				if (baseWidth*scale>_w) scale = _w/baseWidth;
			}
 
			//kindSp.scaleX = kindSp.scaleY = scale;
			//центровка
			var centeroX:Number =  Math.abs((_w- baseWidth*scale)/2);
			//kindSp.x = centeroX;
			var centeroY:Number =  Math.abs((_h - baseHeight*scale)/2);
			//kindSp.y = centeroY;
			return { scale:scale, x:centeroX, y:centeroY };
		}
	}
}
http://www.murmadillo.tut.su/html/resize-dog.html
Вложения
Тип файла: rar RESIZE.rar (236.7 Кб, 32 просмотров)

Старый 09.06.2009, 14:29
droch_fhoula вне форума Посмотреть профиль Отправить личное сообщение для droch_fhoula Найти все сообщения от droch_fhoula
  № 15  
Ответить с цитированием
droch_fhoula
[+2 07.04.09]

Регистрация: Feb 2009
Сообщений: 70
Alex Lexcuk большое спасибо! очень помог

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

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

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


 


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


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