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

Регистрация: Aug 2008
Сообщений: 17
Вот на таком простом примере не могу получить номер кнопки на которую нажал, так чтобы эта переменная была доступна в классе Main

Код:
public class Main extends MovieClip
	{
		public var playList:Array;

		public function Main() 
		{
			init();	
		};

		private function init():void
		{

		playList = new Array();
		playList.push("A", "B", "C", "D");

		for (var i:int = 0; i < playList.length; i++) 
		{
			var playlistButton:MyButton = new MyButton(i);					
			playlistButton.x = 50;
			playlistButton.y = i*25;
			playlistButton.songname.text = "hello"+i;
                        playlistButton.addEventListener(MouseEvent.CLICK, handleButtonClick);
			addChild(playlistButton);
 
		};

};

private function handleButtonClick(e:MouseEvent):void
		{
			trace(playlistButton.buttonNumber);
			
		};


};
Код:

public class MyButton extends MovieClip
	{
		public var songButton:MovieClip;
		public var songname:TextField;
		public var buttonNumber:int;

		public function MyButton() 
		{	
	                this.buttonNumber = i;
			init();
		};

private function init():void
		{				
			songname = new TextField();			
			songButton = new MovieClip();
			songButton.graphics.drawRect(songname.x, songname.y, songname.width, songname.height);
			songButton.graphics.endFill(); 

			songButton.addChild(songname);
			songname.mouseEnabled = false; 
			songButton.buttonMode = true;			
                        addChild(songButton)
		
		};
все компилируется, но при клике
Код:
1119: Access of possibly undefined property buttonNumber through a reference with static type classes:MyButton.
прочитал, что при создании экземпляров лучше заносить каждую кнопку в массив, но получается чтобы к ней обратится надо знать номер элемента массива, что соответствует номеру кнопки, который я хочу найти.


Последний раз редактировалось sssssss; 01.09.2008 в 17:39.