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

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

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

Регистрация: Apr 2011
Сообщений: 15
Question Доступ к текстовому полю внутри символа

В библиотеке есть символ Mouse_idle, внутри него текстовое поле dt, пытаюсь присвоить ему значение, но ничего не оторажается, странно FD при компиляции не выдает ошибок, ссылку на поле dt показывает, никак не пойму, что делаю не так

Вот код, все 100 работает кроме присвоение значения текстовому полю,
Заранее спасибо за помощь и советы.



Код AS3:
package 
{
	import flash.display.*;
	import flash.events.*;
	import flash.ui.Mouse;
 
 
	/**
	 * ...
	 * @author Yoman
	 */
	[Frame(factoryClass="Preloader")]
	public class Main extends Sprite 
	{
        private var _mouse:Mouse_idle;
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
 
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
 
			// entry point
		    stage.showDefaultContextMenu = false;
			Mouse.hide();
		   this._mouse = new Mouse_idle();
		   addChild (this._mouse);
	       stage.addEventListener(MouseEvent.MOUSE_MOVE, this.mousemove);
 
		}
        private function mousemove (event:MouseEvent):void 
		{
			this._mouse.x = event.stageX;
			this._mouse.y = event.stageY;
			event.updateAfterEvent();
			this._mouse.dt.text = ("sdfsdf");
		}
 
 
     }
 
}

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Ошибок не выдает, потому что вы не используете типизацию. Она, кстати, для того и придумана, чтобы избегать подобных ошибок.
Компилируется без ошибок, поскольку класс MovieClip динамический, следовательно, компилятор разрешит обращаться к любому, даже не существующему свойству.

Я бы написал вот так:

Код AS3:
private var _myTextField:TextField;
...
private function init(event:Event = null):void {
   ...
   this._mouse = new Mouse_idle();
   this._myTextField = this._mouse.getChildByName('textFieldName') as TextField;
   ...
}
 
private function mouseMove(event:MouseEvent):void {
   // тут у вас будет null Object reference
   this._myTextField.text = 'my super text'; 
}
UPD: Хотя, если вы из своего кода ничего не вырезали, а запускаете его как есть, то я не прав, и null object reference и так должен выскочить.
UPD2: Возможно у вас текстовое поле повернуто, или ему проставлена alpha? Если так, то текст может не отображаться, если шрифт не вшит во флешку.
__________________
#flasher@irc.trg.ru:6667


Последний раз редактировалось Obi; 19.04.2011 в 12:54.
Старый 19.04.2011, 12:57
yoman вне форума Посмотреть профиль Отправить личное сообщение для yoman Найти все сообщения от yoman
  № 3  
Ответить с цитированием
yoman

Регистрация: Apr 2011
Сообщений: 15
Спасибо огромное за быстрый ответ, все заработало, и все стало понятно

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

Регистрация: Apr 2011
Сообщений: 15
UPD >> Да запускал как здесь выложено
UPD >> Поле не повернуто и не прозрачно, шрифт вшит (яя на эту граблю давно наступал)

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

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

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


 


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


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