![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1. Строчку btn_tools.addEventListener(MouseEvent.CLICK, buttonClickHandler); надо было перенести туда, где добавляете btn_tools в контейнер блока, в prepare(). Сейчас у Вас кнопка есть, но слушатель на нее не добавлен, соответственно при первом нажатии выполняется обработчик не кнопки, а всего блока.
2. Цитата:
3. У Вас же перенос строки стоит - \n, потому и в столбик)) Добавлено через 1 минуту опоздал((
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 50
|
Цитата:
private function prepare():void { this.addChild(btn_no); btn_no.y=15; btn_no.x = 500; this.addChild(btn_tools); btn_tools.y = 15; btn_tools.x = 540; btn_no.addEventListener(MouseEvent.CLICK, buttonClickHandler_no); btn_tools.addEventListener(MouseEvent.CLICK,buttonClickHandler_tools); } private function buttonClickHandler_no(event:MouseEvent):void { event.stopImmediatePropagation(); dispatchEvent(new Event(BLOCK_BUTTON_CLICKED_NO)); } private function buttonClickHandler_tools(event:MouseEvent):void { event.stopImmediatePropagation(); dispatchEvent(new Event(BLOCK_BUTTON_CLICKED_TOOLS)); } //... { block.y = blockHeight; blockHeight += block.height + 1; block.addEventListener(MouseEvent.CLICK, infoBlockClickHandler); block.addEventListener(InfoBlock.BLOCK_BUTTON_CLICKED_NO,testing_one); block.addEventListener(InfoBlock.BLOCK_BUTTON_CLICKED_TOOLS,testing_two); blocksContainer.addChild(block); _blocksArray.push(block); } будут вызываться обе функции. Все равно в столбик выводит) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Это через другую кнопку всплывает событие клика от самого блока, и, хоть и останавливается кнопкой, но кнопка диспатчит свое событие, как будто кликнули ее. Надо поставить проверку такого вида
private function buttonClickHandler_no(event:MouseEvent):void { event.stopImmediatePropagation(); if (event.target == btn_no) { dispatchEvent(new Event(BLOCK_BUTTON_CLICKED_NO) ); } } Добавлено через 40 минут
__________________
Reality.getBounds(this); |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вот как-то так.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 50
|
Спасибо большое ! очень помогли ! отличный форум !
|
|
|||||
|
Регистрация: Aug 2011
Сообщений: 50
|
Здравстуйте еще раз ) Опять возникло два вопросика.В data.xml у меня были поля :
Я попытался сделать их ссылками. НО я заметил, что 1)они становятся ссылками, но идут в столбик, как можно сделать в строчку ? или это невозможно? 2)Я пытаюсь сделать, чтобы при нажатии например на "Дмитрий" функция через trace отобразила "Дмитрий", но не понимаю как можно передать ей id того на кого я нажал. просто при функции trace ( block.info.friends.friend) результат будет: Поэтому логично было бы делать trace ( block.info.friends.friend[i]); ,но как передать i ? И второй вопросик:Так как может быть много блоков, они могут уходить за пределы флешки, поэтому понадобится скролл. Так вот, чтобы его организовать нужно создать текстовое поле с размером самой флешки, и выводить в него блоки ? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Чтож, пришлось таки вернуться к первоначальной идее с редиспатчем события CLICK. То есть Мейн теперь не слушает мышиных кликов по блоку, блок сам сообщает ему, что был кликнут)
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 50
|
Спасибо огромное, всё реализовал
а ещё я хотел спросить второй вопросик:Так как может быть много блоков, они могут уходить за пределы флешки, поэтому понадобится скролл. Так вот, чтобы его организовать нужно создать текстовое поле с размером самой флешки, и выводить в него блоки ? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А при чем здесь текстовое поле то? Не понял логики. Как Вы собираетесь "выводить в него блоки" и как это решит проблему скроллинга?
Раньше был такой компонент, наверное есть и сейчас - ScrollArea, попробуйте его. Ну или пишите свой скроллер/используйте компонент ScrollBar. Для контейнера можно определить свойство scrollRect и подключить какой-нибудь механизм скроллирования, какой Вам нравится - скроллбар или кнопки "перемотки" сверху и снизу, перемотка колесиком мышки. В любом случае, думаю, это отдельная тема. Возникнет главная проблема - изменяющийся размер контента, требующий пересчета скроллера.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|