![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2013
Сообщений: 22
|
Пытаюсь пронумеровать в цикле ячейки сетки и выравнить их относительно центра каждого из мувиклипов сетки.
Текст вставлен внутрь мувика с цифрой один. Название мувика mRect, а текста numText. Не получается следущие моменты: 1)нумерация получается сверху вниз вместо справа налевоо. 2)при наведении мышки пропадает текст, хотя я по сути меняю только цвет квадрата мувиклипа. Или как-то надо иначе прописывать глубину текста клипа? http://gyazo.com/cfb34422a860de234a95efcee59ea402.png вот мой код и исходник: import flash.events.Event; import flash.filters.GlowFilter; var itemCount:int=0; for (var i:int = 0;i<5;i++){ for (var j:int=0;j<5;j++){ var mRect:cube = new cube(); mRect.x =100+ i*45 mRect.y =100+ j*45 addChild(mRect) itemCount++; mRect.numText.text = itemCount.toString(); var txtFormat:TextFormat = new TextFormat(); txtFormat.align = TextFormatAlign.CENTER; mRect.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mRect.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } } stage.addEventListener(Event.ENTER_FRAME, loop) function loop (e:Event):void { mText.text = "Xcor: " + mouseX.toString()+ " Ycor: "+ mouseY.toString() } function onMouseOver (event:MouseEvent):void { var ct:ColorTransform = new ColorTransform(); ct.color = 0x666666; event.target.transform.colorTransform = ct; } function onMouseOut (event:MouseEvent):void { var ct:ColorTransform = new ColorTransform(); ct.color = 0x333333; event.target.transform.colorTransform = ct; } Последний раз редактировалось funkypanky; 16.06.2013 в 17:41. |
|
|||||
|
Регистрация: Jun 2013
Адрес: Воронеж
Сообщений: 101
|
1. Поменяй местами i и j.
2. ColorTransform изменяет цвет и квадрата, и текста, поэтому текст никуда не пропадает, а просто сливается с квадратом. Создай внутри cube еще один мувиклип для фона, пропиши ему имя и работай уже отдельно с его колорТрансформом. П.С.: event.target - это ссылка на текущий объект события, а не на тот объект, на который был назначен слушатель. То есть, даже если слушатель назначен на mRect, то event.target может вернуть любой дочерний элемент mRect. Например, event.target может вернуть numText. Напиши trace(event.target) и увидишь. Поэтому, чтобы получить ссылку именно на тот объект, на который был назначен слушатель, нужно писать event.currentTarget. event.currentTarget всегда будет возвращать только mRect.
__________________
В лесу родилась ёлочка, в лесу она росла! Зимой и летом... |
|
|||||
|
Регистрация: Jun 2013
Сообщений: 22
|
Цитата:
![]() Осталась всё же проблема с наведением мышки на любой из квадратов. При наведении меняется цвет фона, но когда мышка попадет на цифры, эта область никак не реагирует( как бы цифры мешают тому, чтобы подсвечивался фон, область цифры при этом закрывает треть квадрата) Я создал внутренний мувиклип внутри клипа mRect, назвал его mBack. далее создал слушатели для этого вложенного клипа: mRect.mBack.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); mRect.mBack.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); не понимаю почему текстовое поле мешает наведению на клетку, ведь по идее я обращаюсь именно ко вложенному клипу mBack внутри mRect. ![]() если не сложно можно посмотреть мой пример? ps.: кстати в трейс выводит вместо mBack [object MovieClip], но если вписать trace(event.target.name) то выводит верное название вложенного клипа . Последний раз редактировалось funkypanky; 17.06.2013 в 02:31. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 1,540
|
|
|
|||||
|
Регистрация: Jun 2013
Сообщений: 22
|
а где это должно быть прописано? в цикле или в теле функции? вставлял и там и там -не помогает.
mBack и numText (фон и цифры соответственно) - это дочерние клипы клипа mRect. В документации написано, что свойство mouseChildren (flash.display.DisplayObjectContainer.mouseChildren ) позволяет включать и выключать возможность реагировать на события от мышки для всех вложенных мувиклипов. Получается и фон тоже перестаёт реагировать на мышь. Добавлено через 53 минуты Всё) нашёл где собака зарыта) ![]() нужно было отключить реакцию вложенного в клип текста на мышь) ![]() всем спасибо за помощь ещё раз!) |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
используй событие ROLL_OVER
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|