|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2013
Сообщений: 22
|
Получение информации в обработчике события
Есть массив объектов(картинка и параметры для неё), т.е. массив картинок с параметрами.
Все они выводятся на экран в цикле каждая картинка имеет персональный спрайт(из этого массива), к которому привязаны какие то события. В обработчики событий target - ссылается на Bitmap картинки, а currentTarget - на тот спрайт на котором расположена картинка. Всё работает отлично но нужно в обработчике, когда возникает событие, точно знать какой индекс у данного спрайта поймавшего это событие, сейчас я реализовал это через, параметр z (Sprite.z) но не думаю, что это правильно может есть более гибкий способ? [Embed(source="../../../images/11.png")] protected static const image11:Class; [Embed(source="../../../images/22.png")] protected static const image22:Class; [Embed(source="../../../images/33.png")] protected static const image33:Class; [Embed(source="../../../images/44.png")] protected static const image44:Class; [Embed(source="../../../images/55.png")] protected static const image55:Class; [Embed(source="../../../images/66.png")] protected static const image66:Class; [Embed(source="../../../images/77.png")] protected static const image77:Class; [Embed(source="../../../images/88.png")] protected static const image88:Class; [Embed(source="../../../images/99.png")] protected static const image99:Class; private var ims:Array = new Array( {x:0,y:-2,i:new image11() as Bitmap,s:new Sprite()}, //1 {x:170,y:0,i:new image22() as Bitmap,s:new Sprite()}, //2 {x:170,y:110,i:new image33() as Bitmap,s:new Sprite()}, //3 {x:380,y:20,i:new image44() as Bitmap,s:new Sprite()}, //4 {x:440,y:65,i:new image55() as Bitmap,s:new Sprite()}, //5 {x:550,y:0,i:new image66() as Bitmap,s:new Sprite()}, //6 {x:610,y:30,i:new image77() as Bitmap,s:new Sprite()}, //7 {x:790,y:0,i:new image88() as Bitmap,s:new Sprite()}, //8 {x:590,y:162,i:new image99() as Bitmap,s:new Sprite()} //8 ); public function Images() { for (var i:Number = 0; i < ims.length; i++) { ims[i].s.x = ims[i].x; ims[i].s.y = ims[i].y; ims[i].s.z = i; //то самое ... при больших значениях z контент может сильно уменьшится ims[i].s.addChild(ims[i].i); ims[i].s.addEventListener(MouseEvent.MOUSE_OVER, imageOver); ims[i].s.addEventListener(MouseEvent.MOUSE_OUT, imageOut); addChild(ims[i].s); } } private function imageOver(e:Event):void { } private function imageOut(e:Event):void { } |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Oct 2013
Сообщений: 22
|
т.е. если я правильно понял полазяя по ссылочкам, то лучше не создавать массив объектов, а создать массив классов(а лучше вектор, раз тип данных будет одинаковым) и привязывать событие к классу со своими свойствами и тогда будет мне счастье
спасибо за материальчик |
Часовой пояс GMT +4, время: 23:40. |
|
« Предыдущая тема | Следующая тема » |
|
|