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

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

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

Регистрация: Nov 2008
Сообщений: 205
По умолчанию Не устанавливается размер шрифта в textField

Всем привет!

Есть мувиклип чайлд которого есть текстфилд, я рисую им по битмапе.
Пытаюсь установить тексфилду размер шрифта и у меня не получается это сделать. На битмапе рисуется тот, который установлен по умолчанию.

Почему? Есть предположение, что мувиклип которым я рисую не успел изменить своего состояния. Если это так, то как это обойти, если - же нет, то в чем дело?

Ниже представлен код класса унаследованного от мувиклипа и код метода, который собстьвенно и рисует.

Код AS3:
 
package com.atelecom.components 
{
 
	import com.atelecom.model.IndicatorModel;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFormat;
	/**
	 * Indicator for showing new component.
	 * Also it used as renderer of indicators in section component.
	 * @author ....
	 */
	public class Indicator extends MovieClip
	{
		private var _shortDescription:TextField;
		private var _indicatorPoint:MovieClip;
		private var _backgroundRectangle:MovieClip;
		private var _model:IndicatorModel;
 
 
 
 
		public function Indicator() 
		{
 
			this.addEventListener(Event.FRAME_CONSTRUCTED,frameConstuctedEvent);
		}
 
		private function frameConstuctedEvent(event:Event):void {
			try{
				_shortDescription = this["shortDescription"] as TextField;
				_indicatorPoint = this["indicatorPoint"] as MovieClip;
				_backgroundRectangle = this["backgroundRectangle"] as MovieClip;
			}catch (e:Error) {
				trace(e);
			}finally {
				this.removeEventListener(Event.FRAME_CONSTRUCTED,frameConstuctedEvent);
			}
 
		}
 
		public function set indicatorPointScale(scale:Number):void {
			this._indicatorPoint.scaleX = scale;
			this._indicatorPoint.scaleY = scale;
		}
 
		public function set model(_model:IndicatorModel):void {
			this._model = _model;
			this._shortDescription.text = _model.shortInfo;
			this._indicatorPoint.gotoAndPlay(_model.state);
			trace("short description:",_shortDescription.text);
		}
 
		/**
		 * This method needs to specify text format of short info label
		 * @return text format of short info information.
		 * */
		public function get shortInfoTextFormat():TextFormat {
			return _shortDescription.getTextFormat();
		}
 
		public function set shortInfoTextFormat(textFormat:TextFormat):void {
			_shortDescription.setTextFormat(textFormat);
		}
 
 
	}
 
}

Вот это метод, которым я рисую по битмапе.
_indicator - объект типа Indicator
Код AS3:
/**
		 * Draw indicators
		 * */	
		private function drawIndicators():void {
 
			var indicatorModels:Dictionary = _sectionModel.indicatorsDictionary;
			var sizeOfIndicatorsTable:int = Math.ceil(Math.sqrt(_sectionModel.numOfIndicators)) as int;
 
			var shiftX:Number = _sectionBitmapWidth / sizeOfIndicatorsTable;
			var shiftY:Number = _sectionBitmapHeight / sizeOfIndicatorsTable;	
 
			var coordsMatrix:Matrix = new Matrix();
 
			var line:int = 0;
			var column:int = 0;
 
			_indicator.indicatorPointScale = SetParameters.countIndicatorPointScale(_sectionModel.numOfIndicators);
 
 
			_indicator.shortInfoTextFormat = new TextFormat("Arial",20,0xFFFFFF,true,true,true);
 
			for each (var indicatorModel:IndicatorModel in indicatorModels) {
				var indicatorX:Number = shiftX / 2 + line * shiftX;
				var indicatorY:Number = shiftY / 2 + column * shiftY;
 
				line++;
 
				if (line >= sizeOfIndicatorsTable) {
					line = 0;
					column++;
				}
 
				_indicator.model = indicatorModel;
				coordsMatrix.tx = indicatorX;
				coordsMatrix.ty = indicatorY;
				_bitmapData.draw(_indicator,coordsMatrix);
			}			
		}


Последний раз редактировалось VovkaMorkovka1; 25.11.2008 в 14:09.
Старый 25.11.2008, 13:53
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Код длинный, до конца не разобрался, но в нем отсутствует метод setTextFormat().

Старый 25.11.2008, 14:00
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Реальные пацаны документацию не читают.

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

Регистрация: Nov 2008
Сообщений: 205
Поменял код добавив в него писвоение нового формата явно, в старом изменялись свойства формата без создания нового объекта, всеравно не работает

Цитата:
Реальные пацаны документацию не читают.
А можно скопипастить то, что я не прочел? Вроде все, что касается текстформата просто

Цитата:
Кода не видно.
Обновитесь плиз


Последний раз редактировалось VovkaMorkovka1; 25.11.2008 в 14:15.
Старый 25.11.2008, 14:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Кода не видно.

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

Регистрация: Nov 2008
Сообщений: 205
Может быть не перерисовывается потому, что мувиклип, которому утсанавливаются параметры не изменил состояние, вроде gotoAndPlay я ему сделал.

Старый 25.11.2008, 14:22
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
setTextFormat надо делать после установки текста, либо использовать defaultTextFormat.

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

Регистрация: Nov 2008
Сообщений: 205
Спасибо большое, получилось

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

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

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


 


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


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