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

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

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

Регистрация: Mar 2013
Сообщений: 290
По умолчанию Создание инфо-панели для MOUSE_OVER

Пробую создать инфо-панель, на которой бы выводилась информация об объекте, который в данный момент находится под курсором.

Документ-класс, Main.as:

Код AS3:
package
{
 
	import flash.display.*;
	import flash.events.*;
	import flash.text.*;
 
 
	public class Main extends Sprite
	{
 
		//--- Экземпляр класса инфо-панели ---//
		private var panel_placer:Panel_placer;
 
		//--- Произвольные объекты на экране ---//
		private var some_textfield:TextField;
		private var some_shape:Shape;
		private var shape_sprite:Sprite;
 
		public function Main()
		{
 
 
			//--- Размещаем текстфилд ---//
			some_textfield = new TextField();
			some_textfield.text = "Move Cursor Here";
			some_textfield.autoSize = TextFieldAutoSize.LEFT;
			some_textfield.background = true, some_textfield.backgroundColor = 0xFF8800;
			some_textfield.border = true, some_textfield.borderColor = 0xFF00BB;
			some_textfield.x = 100, some_textfield.y = 100;
			addChild(some_textfield);
 
			//--- Размещаем квадрат ---//
			some_shape = new Shape();
			shape_sprite = new Sprite();
			shape_sprite.x = 300, shape_sprite.y = 100;
			some_shape.graphics.lineStyle(1);
			some_shape.graphics.beginFill(0x00CCFF, 1);
			some_shape.graphics.drawRect(0, 0, 75, 50);
			shape_sprite.addChild(some_shape);
			addChild(shape_sprite);
 
			//--- Размещаем экземпляр дополнительного класса ---//
			panel_placer = new Panel_placer();
			addChild(panel_placer);
 
			//--- Вешаем слушатель на стэйдж ---//
			stage.addEventListener(MouseEvent.MOUSE_OVER, showInfo);
 
 
		}
 
		private function showInfo(e:MouseEvent)
		{
 
 
//			panel_placer.info_panel.info_texter.text = String(e.Target);   //  ОШИБКА !
 
 
 
			trace("e.Target = ", e.target);
 
		}
 
 
	}
 
 
 
}
И дополнительный класс, Panel_placer.as.
Который использует, созданный посредством галочки Export to ActionScript, библиотечный символ класса Info_panel.
В этом символе есть динамический текст-филд, с именем инстанции: info_texter, не содержащий никакого текста.

Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.*;
	import flash.text.*;
 
	public class Panel_placer extends Sprite
	{
 
		private var info_panel:Info_panel;
 
		public function Panel_placer()
		{
 
			info_panel = new Info_panel();
			info_panel.x = 57;
			info_panel.y = 379;
 
			addChild(info_panel);
 
 
		}
 
 
	}
 
}

И вот я хочу, чтобы информация с события e.target была передана этому текстфилду info_texter.
И тогда он будет отображать имя объекта, на который указывает мышь.

Пробую в основном классе сделать это посредством строки:

Код AS3:
panel_placer.info_panel.info_texter.text = String(e.Target);
Однако, она выдает ошибку:
Цитата:
1178: Attempted access of inaccessible property info_panel through a reference with static type Panel_placer. panel_placer.info_panel.info_texter.text = String(e.currentTarget);
Хотя трэйс работает нормально.

Как же тогда передать инфу в эту панель?

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

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

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


 


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


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