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

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

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

Регистрация: May 2009
Сообщений: 34
Question Искажается размер шрифта при разном addChild

Здравствуйте.

У меня вопрос: что влияет на пропорции (размер) шрифта, когда я внедряю его в stage или в созданный объект типа Sprite?
Пример с конкретизацией проблемы:
Код AS3:
		// Создаем алфавит
		private function makeAlphabeth()
		{
			this.alphabeth.graphics.lineStyle(); // alphabet у нас создан в классе как new Sprite()
			this.alphabeth.graphics.beginFill(0x00FF00, 0);
			this.alphabeth.graphics.drawRoundRect(0, 0, 400, 400, 10, 10);
			this.alphabeth.graphics.endFill();
			this.alphabeth.width = 400;
			this.alphabeth.height = 75;
			this.alphabeth.x = 250;
			this.alphabeth.y = 450;
			this.alphabeth.name = 'alphabeth';
			var alphabeth:String = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЩЪЫЬЭЮЯ';
			for (var i = 1; i <= alphabeth.length; i++)
			{
				var o:TextField = this.makeAlphabethLetter(alphabeth.substr(i, 1));
				o.x = (i >= 18) ? 10 * (i-18) : 10 * i;
				o.y = (i >= 18) ? 30 : 0;
				// ПРОБЛЕМА ЗДЕСЬ!
				// Если здесь задать Global.stage.addChild() - то размер шрифтов нормальный, но если я прикрепляю буквы к this.alphabeth, то они становятся крохотные! Как такое может быть?
				this.alphabeth.addChild(o);
			}
			Global.stage.addChild(this.alphabeth);
		}
		// Создаем одну букву
		private function makeAlphabethLetter(l:String)
		{
			var o:TextField = new TextField();
			o.type = TextFieldType.DYNAMIC;
			o.width = 50;
			o.height = 50;
			//o.autoSize = TextFieldAutoSize.CENTER;
			o.border = false; 
			o.multiline = false; 
			o.wordWrap = false; 
			o.background = false;
			o.selectable = false;
			o.defaultTextFormat = new TextFormat('Adventure', 36, 0x220066, null, null, null, null, null, 'center', null, null);
			//o.addEventListener(MouseEvent.ROLL_OVER, function() { o.setTextFormat(overFormat); } );
			//o.addEventListener(MouseEvent.ROLL_OUT, function() { o.setTextFormat(normalFormat); } );
			o.text = l;
			return o;
		}
Заранее благодарю откликнувшихся.

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
дык, у Вас меняются пропорции Вашего "alphabeth", вот поетому и шрифт маленький.
Вы, же его scaleY уменьшаете больше чем в 5 раз, соответственно и все, что в него засовывается, тож по Y уменьшается в 5,3333 раз.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Возможно, из-за этого:
Код AS3:
this.alphabeth.width = 400;
this.alphabeth.height = 75;
Просто уберите эти строки.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 25.12.2009 в 23:03.
Старый 25.12.2009, 23:31
KIVagant вне форума Посмотреть профиль Отправить личное сообщение для KIVagant Найти все сообщения от KIVagant
  № 4  
Ответить с цитированием
KIVagant

Регистрация: May 2009
Сообщений: 34
GFreemen, dimarik, спасибо большое. Проблема решена, ваш рецепт сработал.

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

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

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


 


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


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