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

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

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

Регистрация: Mar 2010
Сообщений: 72
По умолчанию Проблема с текстовым полем в классе.

Добавляю на сцену экземпляр класса, передаю параметр string ,который должно принять текстовое поле.
Код AS3:
public function ButtonsChange(IntTemp:MovieClip,TitleTemp:String)
		{
			STAGE = IntTemp;
			STAGE.addChild(this);
			TITLE = TitleTemp;
                        text_tf.text = TITLE;
			this.addEventListener(MouseEvent.MOUSE_OVER, DriftToNext);
			this.addEventListener(MouseEvent.MOUSE_OUT, DriftToDown);
		}
Но выдаёт ошибку:
Цитата:
Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
То есть text_tf.text = null . Хотя если присваивать значение TITLE в функции DriftToNext , то всё нормально.
Почему так? Как с этим бороться?

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Поставьте trace(text_tf); что-то мне подсказывает что null именно там

и вообще, код совершенно неясен, что такое STAGE, что такое TITLE, что в данном случае this, и откуда берется text_tf
__________________
adobe AS3 manual

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

Регистрация: Mar 2010
Сообщений: 72
Цитата:
Сообщение от strangedk Посмотреть сообщение
Поставьте trace(text_tf); что-то мне подсказывает что null именно там

и вообще, код совершенно неясен, что такое STAGE, что такое TITLE, что в данном случае this, и откуда берется text_tf
Из главного класса вызываю так :
Код AS3:
var ButFact:ButtonsChange = new ButtonsChange(MovieClip(this),'Тест');
text_tf расположен в ButtonsChange.
Цитата:
trace(text_tf); // null
this в данном случае это класс ButtonsChange.

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
trace(text_tf); // null

ну, так чего вы хотите?

значит не инициализирован ваш TextField
__________________
adobe AS3 manual

Старый 12.11.2011, 16:30
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 5  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
Цитата:
Сообщение от strangedk Посмотреть сообщение
значит не инициализирован ваш TextField
А как его инициализировать?

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
покажите где он создается, он присутствует на stage или нет?

Цитата:
Сообщение от Ruzofmo Посмотреть сообщение
А как его инициализировать?
ну, если прямо ответить на вопрос, то
Код AS3:
text_tf = new TextField();
но это совсем не значит что в вашем контексте это так и есть.
- давайте не пальцем в небо, а разбирать код.
__________________
adobe AS3 manual

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

Регистрация: Oct 2011
Сообщений: 46
было чтото подобное у меня. решилось следующим образом, нужно проверять инициализировался ли объект.
Код AS3:
if (объект) {
init();
} else объект.addEventListener(Event.ADDED_TO_STAGE,init)
а в функции init уже производить все ваши манипуляции.

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

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

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


 


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


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