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

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

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

Регистрация: Mar 2009
Сообщений: 39
По умолчанию Растягиваемый movieclip

Привет всем flasher-ам. Необходимо создать окошко у которого бы изменялись размеры в зависимости от объема текста внутри него. Вроде бы все просто. Но при изменении размеров окна, изменяются и размеры всего того, что в нем, в частности увеличивается шрифт текста и кнопка внутри. Так вот как сделать так чтобы окошко тенулось а шрифт не менялся и размер кнопки тоже.
this.stage.scaleMode = StageScaleMode.NO_SCALE; не помогает.

Старый 22.10.2009, 23:21
BARTLEBY вне форума Посмотреть профиль Отправить личное сообщение для BARTLEBY Найти все сообщения от BARTLEBY
  № 2  
Ответить с цитированием
BARTLEBY
[+4 02.11.07]
[+1 18.12.07]
 
Аватар для BARTLEBY

Регистрация: Oct 2006
Сообщений: 100
width, height ?
код в студию...

Старый 22.10.2009, 23:43
dimani4 вне форума Посмотреть профиль Отправить личное сообщение для dimani4 Найти все сообщения от dimani4
  № 3  
Ответить с цитированием
dimani4

Регистрация: Mar 2009
Сообщений: 39
Это понятно. Да сам мовиклип увиличится, но координаты внутри останутся такие же. Например кинишь на клип кнопку на координаты 100 100, после изменения размеров кнопка тоже увеличится и сдвинется, но в координатах клипа так и останется 100 100. А надо чтобы размеры кнопки оставались такие же и относительное положение тоже не менялось..

Добавлено через 46 секунд
Код AS3:
public function show(str:String) {
			var fon = new AlertFon();		
 
			fon.scaleX = 1;
			fon.scaleY = 1;
			addChild(fon);
			fon.stage.scaleMode = StageScaleMode.NO_SCALE;
			this.stage.scaleMode = StageScaleMode.NO_SCALE;
 
			// create text field
			var FORMAT:TextFormat = new TextFormat();
			FORMAT.font = "Georgia";			
			FORMAT.align = "left";
			FORMAT.bold = true;
			//FORMAT.color = 0x154672;
			FORMAT.color = 0xffffff;
			FORMAT.size = 14;
 
			var tf = new TextField();	
			tf.autoSize = TextFieldAutoSize.LEFT;
			tf.defaultTextFormat = FORMAT;
			tf.type = TextFieldType.DYNAMIC;			
			tf.text = str;
			if (tf.width > (this.maxWidth - 2 * this.padding)) {				
				tf.text = "";
				tf.multiline = true;
				tf.wordWrap = true;	
				tf.width = this.maxWidth - 2 * this.padding;
				tf.text = str;
			}			
			tf.border = false;
			tf.background = false;			
			//tf.sharpness = 4;			
			tf.selectable = false;			
			//
			var okButton = new OkButton();
			//resize fon
			fon.width = tf.width + 2 * this.padding;
			fon.height = tf.height + this.paddingBottom + this.paddingTop + okButton.height + 10;			
			tf.x = fon.width / 2 - tf.width / 2;			
			tf.y = paddingTop;			
			//ok button
			fon.addChild(okButton);
			this.addListenersToButton(okButton);			
			okButton.x = fon.width / 2 - okButton.width / 2;			
			okButton.y = fon.height - okButton.height - this.paddingBottom;
			fon.addChild(tf);					
			//addChild(fon);
		}
Добавлено через 1 минуту
нужно окошко - alert.

Старый 23.10.2009, 11:44
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 4  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
что-то плохо понял вопрос. но все-таки:
Код AS3:
this.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.align = StageAlign.TOP_LEFT;
this.stage.addEventListener(Event.RESIZE, stageResizeHandler);
а в обработчике stageResizeHandler делаешь, что душе угодно

по коду:
Код AS3:
fon.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.scaleMode = StageScaleMode.NO_SCALE;
//это бессмысленно. нужно делать 1 раз и желательно в основном классе
//т.к. stage один для всех
fon.scaleX = 1;
fon.scaleY = 1;
//тоже сомнительно. (вообще лучше не баловаться этими свойствами
__________________
я могу стать всем, если только захочу

Старый 24.10.2009, 21:42
dimani4 вне форума Посмотреть профиль Отправить личное сообщение для dimani4 Найти все сообщения от dimani4
  № 5  
Ответить с цитированием
dimani4

Регистрация: Mar 2009
Сообщений: 39
Спасибо.

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

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

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


 


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


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