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

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

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

Регистрация: Sep 2008
Сообщений: 6
The bomb! Обратиться к свойствам нестандартного объекта, созданного динамически

Я добавляю в библиотеку символ obj и закрепляю за ним класс objClass, содержащий метод getFlag(). На сцену навешиваю класс MainClass, в котором создаю несколько объектов obj. Как после этого обратиться к одному из этих объектов и вызвать у него метод getFlag?

Код:
// objClass
package
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.net.URLRequest;
	import flash.display.Loader;
	
	public class objClass extends MovieClip
	{
		public var myflag:Boolean;
		
		public function objClass ()
		{
						
		}
		
		public function getFlag ():String
		{
			if (myflag==true) return "yes";
			else return "no";
		}		
	}
}
// mainMenu
package
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.utils.getDefinitionByName;
	import flash.display.DisplayObject;

		
	import obj;
	
	public class MainMenu extends MovieClip
	{
		var i:Number;
		var n:Number = 7;
		var names:Array=new Array();
		
		var flag:String;
				
		function MainMenu()
		{
			CreateImObjects();			
		}
		function lookForFlags (event:MouseEvent):void
		{
			//просмотреть у всех объектов метод getFlag, чтоб понять, какой из них нажат
			event.target.getFlag();
		}
		function CreateImObjects ():void
		{
			for (i=0;i<=n;i++)
			{
				names.push("mc"+i);
				trace (names[i]);
			}
			for (i=0; i<=n; i++)
			{
				var myObj  = new obj();
				myObj.x=80 + i*150;
				myObj.y=137;
				myObj.name = names[i];
								
				this.addChildAt(myObj,4+i);
				trace (myObj.name);
				myObj.addEventListener(MouseEvent.CLICK, lookForFlags);
				
			}
			
		}
	}
}


Последний раз редактировалось iNils; 17.09.2008 в 15:25.
Создать новую тему   Часовой пояс GMT +4, время: 11:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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