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

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

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

Регистрация: Oct 2009
Сообщений: 72
По умолчанию Перерисовка программно созданых объектов

Привет всем!
Возникла проблема:
Я создаю переменную типа TextField, создаю переменную format:TextFormat
Текстовому полю присваиваю defaultTextFormat = format;
И этому же текстовому полю даю addEventListener на прослушку событий наведения и увода мышки с объекта.
Мне надо, чтобы при наведении менялся шрифт, цвет и размер текста.
Но описывать в функции обработчике новую переменную типа TextFormat и присваивание event.target.defaultTextFormat = новая переменная - такое не работает. Видимо потому, что TextField уже нарисован. Можно ли его как-нибудь перерисовать?

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
нет скорее всего потому что у вас компилятор не знает что event.target это TextField

может так?
Код AS3:
(event.target as TextField).defaultTextFormat = ...

Старый 29.10.2009, 16:52
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 3  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
неа... не то
Не работает. И мне кажется все-же не из-за принадлежности к классу... Потому что event.target.text компилятор знает...

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
ну сделайте иначе, переинициализируйте ваш текстфилд, перед этим сохранив весь текст, затем сделайте текстформат и добавьте текст

Старый 29.10.2009, 17:26
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 5  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
Класс, работает! Спасибо за помощь!
Для себя вынес знание- сперва ТекстФилду надо присвоить текстформат, а затем только писать текст. Тогда он будет нужного формата. А если сделать иначе, то сперва текст пишется, а лишь потом присваивается стиль.

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

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от random13 Посмотреть сообщение
ну сделайте иначе, переинициализируйте ваш текстфилд, перед этим сохранив весь текст, затем сделайте текстформат и добавьте текст
Достаточно просто переприсвоить текст. Мы же говорим о defaultTextFormat, а он на то и default, что применяется только к добавляемому тексту.

Старый 31.10.2009, 04:30
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
defaultTextFormat действует только на вводимый пользователем текст, для изменения форматирования используйте метод setTextFormat (после изменения свойства text)


Последний раз редактировалось alatar; 31.10.2009 в 04:38.
Старый 31.10.2009, 09:51
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Сообщение от alatar Посмотреть сообщение
defaultTextFormat действует только на вводимый пользователем текст, для изменения форматирования используйте метод setTextFormat (после изменения свойства text)
Разве? *ушел переправлять много проектов*

Старый 31.10.2009, 16:18
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 9  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от alatar Посмотреть сообщение
defaultTextFormat действует только на вводимый пользователем текст, для изменения форматирования используйте метод setTextFormat (после изменения свойства text)
alatar, вы не правы. defaultTextFormat действует не только на вводимый пользователем, а на любой новый текст (будь то вводимый пользователем, присваиваемый с помощью операторов = и +=, либо методами replaceText() и replaceSelectedText()). Так, по крайней мере, написано в справке. У меня же не получилось заставить текстовое поле применить defaultTextFormat вследствие вызова replaceText() и replaceSelectedText().

Также нужно обратить внимание на две вещи:
  1. метод appendText() не приводит к изменению формата
  2. при использовании оператора += формат defaultTextFormat будет применён ко всему тексту, а не только добавляемому, так как t.text += '123' в данном случае равносильно t.text(t.text() + '123').


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

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

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


 


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


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