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

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

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

Регистрация: Nov 2010
Сообщений: 430
По умолчанию не могу взять техт из TextInput

Здравствуйте.

Вопрос такой. Поставил на сцену поле ввода (просто перетащил TextInput из стандартного набора Flash CS5). Назвал его myName, вбил текст "1234567".

Из главного класса пытаюсь обратиться

Код AS3:
trace(myName.text)
Выдает:
Код:
Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
Почему так?

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Покажите код главного класса.

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

Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
быть может кадр не тот? )

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Ну надо прописать myName как поле типа TextField в главном классе (инитить никак не надо, оно само).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

Регистрация: May 2011
Адрес: 0,0,0 относительно меня
Сообщений: 123
нет, не надо же! )

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

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от bav Посмотреть сообщение
Покажите код главного класса.
Код AS3:
package{
 
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
 
	public class Main extends flash.display.MovieClip {
 
		function Main(){
			var s:Sprite = new Sprite;
			s.graphics.beginFill(0x000000, 0);
			s.graphics.drawRect(30, 60, 300, 45);
			stage.addChild(s);
			s.addEventListener(MouseEvent.CLICK, gotoMainPage);
		}
 
		function gotoMainPage(e:MouseEvent):void{
				gotoAndStop(1);
				trace(myName.text)
		}
 
	}
}

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
У вас идет обращение к stage в конструкторе. Дождитесь появления stage.
Код AS3:
public function Main() 
{
    if (stage) init();
    else addEventListener(Event.ADDED_TO_STAGE, init);
}
 
private function init(event:Event = null):void 
{
    removeEventListener(Event.ADDED_TO_STAGE, init);
 
    var s:Sprite = new Sprite(); // не забываем операторные скобки
    s.graphics.beginFill(0x000000, 0);
    s.graphics.drawRect(30, 60, 300, 45);
    stage.addChild(s);
    s.addEventListener(MouseEvent.CLICK, gotoMainPage);
}
Можно проверить это, добавив строчку в ваш конструктор:
Код AS3:
trace("stage now is: " + stage);
stage.addChild(s); // до обращения в этой строчке


Последний раз редактировалось bav; 17.06.2011 в 12:07.
Старый 17.06.2011, 12:00
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 8  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
а то, что myName всплывает из ниоткуда, никого не смущает?

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
i.o., в первом посте автор написал:
Цитата:
Поставил на сцену поле ввода (просто перетащил TextInput из стандартного набора Flash CS5). Назвал его myName

Старый 17.06.2011, 12:10
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 10  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от bav Посмотреть сообщение
У вас идет обращение к stage в конструкторе. Дождитесь появления stage.
Не помогло
Интересно, что, если прописывать в классе
Код AS3:
trace(myName.text);
то вылезает ошибка.
А если тоже самое прописать в самом фрейме (тыкнуть в фрейм на таймлайне и нажать F9, и в открывшемся окне написать trace(myName.text); ), то содержимое текстового поля читается без проблем.

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

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

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


 


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


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