![]() |
|
||||||||||
|
|||||
|
создаю массив объектов ( это будут фишки домино )
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;
}
по моему разумению код: tzObject.mc_picture.onMouseDown = function() каждому созданному мувику должен был добавить индивидуальный обработчик кликов. добавил. но при клике в произвольное место вызывается для всех элементов массива сразу. и устанавливается alpha = 50 всем элементам сцены, даже бэкграунду, который никоим образом не мог попасть в массив элементов, которым создавался обработчик. Как правильно делать обработчики для объектов? вопрос номер2 сама задача стоит у меня так: при клике на фишку ее изображение инвертировать в цвете.
__________________
fast restart: *((int*)0) = 0; |
![]() |
Часовой пояс GMT +4, время: 03:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|