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

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

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

Регистрация: Apr 2011
Адрес: 0,0
Сообщений: 39
Отправить сообщение для cremnet с помощью Skype™
Question Проблема с тектовым полем textField

Проблема с изменением текста в объекте TextField
получить содержание из текстового поля могу получить а вот изменить не получается. Точнее говоря при проверке содержания параметра .text текст изменился но визуально этого не видно. полный код сильно велик и разбит на кучу .as файлов, но попробую сумировать.

Код AS3:
// .swf файл с ресурсами для флешки 
// в этом файле есть MovieClip с динамическим классом MovieClipDinamycClass
// в этом МС есть текстовые поля к которым я и пытаюсь обратится чтобы менять их динамически
var my_mc:MovieClip = new MovieClipDinamycClass();
addChild(my_mc);
...
my_mc._textfield.text = 'text';
trace(my_mc._textfield.text) // выдает нужное значение 'text', но визуально поле остается тем же
Я решил что я провожу изменения в объекте... который по какойто причине склонировался, решил обратится другим способом взял МС и попытался достать TextField с помощью getChildByName

Код AS3:
my_mc.getChildByName('_textfield').text = 'text';
на что получил сбой при компилаяции с ошибкой 1180: Call to a possibly undefined method DisplayObject.
иду дальше вкладываю в pakage импорт import flash.display.DisplayObject;
компилируется но вылазит ошибка ArgumentError: Error #2012: DisplayObject$ class cannot be instantiated.

ваще запутался... помогите решить проблему или скажите куда копать

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Удостоверьтесь, что вы изменяете текст именно в том поле, которое отображается.
Код AS3:
// Если выше (или в классе MovieClipDinamycClass) не было примерно такой строчки...
my_mc._textfield.name = "_textfield";
// то следующая строка будет выдавать ошибку.
my_mc.getChildByName('_textfield').text = 'text';
Внимательней ознакомьтесь со справкой по DisplayObjectContainer.getChildByName(), там есть примеры. По-моему, вы или забыли задать имя текстовому полю, или добавили в список отображение не то поле. Приведенный вами код не содержит ошибок.

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

Регистрация: Jul 2009
Сообщений: 48
_textfield.autoSize = TextFieldAutoSize.LEFT; попробуйте. Скорее всего не хватает ширины поля.
А вот getChildByName возвращает экземпляр по полю(/свойству/переменной) name, а не по имени переменной в коде.

Старый 03.04.2011, 11:23
cremnet вне форума Посмотреть профиль Отправить личное сообщение для cremnet Найти все сообщения от cremnet
  № 4  
Ответить с цитированием
cremnet

Регистрация: Apr 2011
Адрес: 0,0
Сообщений: 39
Отправить сообщение для cremnet с помощью Skype™
не один из вариантов не решает проблемы

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

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

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


 


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


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