![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 68
|
Заливаю мувик цветом, а потом вставляю туда динамическое текстовое поле со значением в этот мувик ( из примера на http://help.adobe.com/ru_RU/AS3LCR/F...0.0/index.html)
Получается, что если не заливать цветом, то текстовое поле видно, иначе не видно ничего, хотя и курсор меняется при наведении (значит оно там). Можно ли как-то изменить порядок или приоритет элементов чтобы текст всё же был виден? |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
покажите как заливаете
__________________
low + |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 68
|
public function handleEvent(event:Event):void { xmlDataLoader.removeEventListener("mapRegionDataArrayLoaded", handleEvent); var itemCnt:uint = xmlDataLoader.mapRegionDataArray.length; var itemArr:Array = xmlDataLoader.mapRegionDataArray; for (var i:uint=0; i<=itemCnt-1; i++) { var name:String = itemArr[i].region_short.toLowerCase() + '_mc'; var colorInfo:ColorTransform = new ColorTransform(); //getWinnerColor возвращает константу-цвет colorInfo.color = getWinnerColor(itemArr[i].winner_name.toLowerCase()); this[name].transform.colorTransform = colorInfo; configureLabel(this[name]); setLabel(itemArr[i].winner_value.toLowerCase()); } } private function configureLabel(mcContainer):void { label = new TextField(); label.autoSize = TextFieldAutoSize.NONE; label.background = false; label.x = -20; label.y = -20; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0x000000; format.size = 22; label.defaultTextFormat = format; mcContainer.addChild(label); } public function setLabel(str:String):void { label.text = str; } |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
вы делаете colorTransform, поэтому всему содержимому назначается цвет, в том числе и буквам, создайте для текстового поля отдельный контейнер
__________________
low + |
|
|||||
|
Судя по всему, аргумент в функции configureLabel() должен иметь тип MovieClip и это следует указывать:
Далее, что такое label? Переменная типа TextField? Тогда так:
Также, после строчки с вызовом функции getWinnerColor() вы сразу же обращаетесь к this[name], нигде предварительно не создав данный элемент. Вероятно, где-то должна быть строчка:
Попробуйте создавать контейнер для клипа, к которому вы применяете трансформацию цвета, чтобы текстовое поле под трансформацию не попадало, иными словами:
|
|
|||||
|
Регистрация: Sep 2009
Сообщений: 68
|
Да, это действительно переменная типа, но я её выбросил из цитируемого кода TextField.
this[name] - это я обращаюсь к уже существующему клипу на stage. Так что создавать по идее не надо Но вот идея с создания ещё одного контейнера очень хороша, сейчас буду пробовать. Всем спасибо! Добавлено через 2 часа 26 минут Хм. Вроде понял как но не то. Хотя я и присваиваю тексту чёрный цвет после определения цвета контейнера, оно всё равно перебивает его цветом заливки контейнера. var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0x000000; format.size = 22; А почему нельзя сначала залить мувик, а потом создать тектовое поле и контейнере и так же его залить через colorTransform? Идея вроде здравая, но не работает // в Последний раз редактировалось Castro; 09.11.2010 в 15:54. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|