Показать сообщение отдельно
Старый 17.05.2007, 23:22
progman вне форума Посмотреть профиль Отправить личное сообщение для progman Найти все сообщения от progman
  № 1  
Ответить с цитированием
progman
 
Аватар для progman

Регистрация: May 2007
Адрес: Saint-Petersburg
Сообщений: 136
Отправить сообщение для progman с помощью ICQ
По умолчанию два вопроса по MovieClip

создаю массив объектов ( это будут фишки домино )
Код:
for (tz=0; tz<TABLE_SY; tz++)
{
	var tzObject:Object = new Object;
	tzObject.empty = true;
	tzObject.x = 50 + tx*(_SX/2-4) + tz*8;
	tzObject.y = 8 + ty*(_SY/2-4) - tz*8;
	tzObject.z = 0;		
	tyArray.push(tzObject);
}
потом перебираю все элементы массива и в каждом делаю мувик:
Код:
function OnInit()
{
	OnInitArray();

	var linkageId:String = "dragon.gif";
	var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
	
	for(var i:Number=0; i<150; i++)
 	 _root.bitmapData[i] = new BitmapData(_SX, _SY, true, 0xFF00FFFF);

	var i:Number = 0;
	var j:Number = 0;

	for( tz=0; tz<TABLE_SZ; tz++)
	for( tx=TABLE_SX; tx>=0; tx--)	
	for( ty=0; ty<TABLE_SY; ty++)	    	    
	{
		tzObject = cellTableData[tx][ty][tz];//<- это массив моих фишек.
		if( false == tzObject.empty )
		{							
			tzObject.mc_picture = this.createEmptyMovieClip(...);//<- создаю картинку для фишки
			tzObject.mc_picture.attachBitmap(...);		
			tzObject.mc_picture._visible = true;
			_root.bitmapData[i].copyPixels(...);//<- копирую нужный кусок текстуры.
				
			tzObject.mc_picture.onMouseDown = function()//<- вроде как обработчик кликов должен быть.
			{
				OnClicMovieClip();
			};

			i ++;
		}
	}
}

function OnClicMovieClip()
{
	 this._alpha = 50;
}
трабла номер 1.
по моему разумению код: tzObject.mc_picture.onMouseDown = function()
каждому созданному мувику должен был добавить индивидуальный обработчик кликов.
добавил. но при клике в произвольное место вызывается для всех элементов массива сразу. и устанавливается alpha = 50 всем элементам сцены, даже бэкграунду, который никоим образом не мог попасть в массив элементов, которым создавался обработчик. Как правильно делать обработчики для объектов?

вопрос номер2
сама задача стоит у меня так: при клике на фишку ее изображение инвертировать в цвете.
__________________
fast restart: *((int*)0) = 0;