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

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

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

Регистрация: Jul 2011
Сообщений: 15
По умолчанию Доступ к кнопке из другого класса

Здравствуйте. Есть два класса StartPage и Game. В StartPage созданы кнопки. Есть ли возможность подключить к кнопкам слушатели из класса Game?
Код AS3:
package components 
{
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.net.URLRequest;
 
	public class StartPage extends Sprite
	{
		private static const URL:String = "planeLib.swf";
		private static const START:String = "startPage";
		private static const BTN_PLAY:String = "btn_play";
		private static const BTN_RULES:String = "btn_rules";
		private static const BTN_about:String = "btn_about";
 
		private var contentLoaderInfo:LoaderInfo;
 
		private var startPage:MovieClip;
		public static var btn_Play:SimpleButton;
		public var btn_Rules:SimpleButton;
		public var btn_about:SimpleButton;
 
		public function StartPage()
		{
			addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
		}
		private function onAddedToStage(e:Event):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
			var loader:Loader = new Loader();
			var request:URLRequest = new URLRequest(URL);
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadingComplete);
			loader.load(request);
		}
		private function onLoadingComplete(e:Event):void
		{
			contentLoaderInfo = e.target as LoaderInfo;
			var oStartPage:Class = contentLoaderInfo.applicationDomain.getDefinition(START) as Class;
			startPage = new oStartPage();
			addChild(startPage);
 
			var oPlay:Class = contentLoaderInfo.applicationDomain.getDefinition(BTN_PLAY) as Class;
			btn_Play = new oPlay();
			addChild(btn_Play);
			btn_Play.x = 547;
			btn_Play.y = 285;
 
			var oRules:Class = contentLoaderInfo.applicationDomain.getDefinition(BTN_RULES) as Class;
			btn_Rules = new oRules();
			startPage.addChild(btn_Rules);
			btn_Rules.x = 528;
			btn_Rules.y = 374;
 
			var oabout:Class = contentLoaderInfo.applicationDomain.getDefinition(BTN_ABOUT) as Class;
			btn_About = new oAbout();
			startPage.addChild(btn_About);
			btn_About.x = 520;
			btn_About.y = 465;
		}
	}
}
Код класса Game:
Код AS3:
package
{
	import components.*;
 
	import flash.display.Sprite;
	import flash.events.MouseEvent;
 
	[SWF(width="800", height="600", frameRate="30")]
 
	public class Game extends Sprite
	{
		private var startPage:StartPage;
 
		public function Game():void
		{
			startPage = new StartPage();
			addChild(startPage);
			StartPage.btn_Play.addEventListener(MouseEvent.CLICK, traceFunc);
		}
		public function traceFunc(e:MouseEvent):void
		{
			trace("traceFunc");
		}
	}
}
Трэйс не работает. В чем может быть проблема?


Последний раз редактировалось bogomol17; 21.02.2012 в 17:51.
Создать новую тему   Часовой пояс GMT +4, время: 16:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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