Показать сообщение отдельно
Старый 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;
		}
Заранее благодарю откликнувшихся.