AS3 - SimpleButton внутри спрайта - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть меню, которое является спрайтом, и я добавляю кнопку, чтобы иметь возможность свернуть меню. Я использую SimpleButton(), и я добавил кнопку в качестве дочернего элемента меню, поэтому menu.addChild(button) Проблема, с которой я столкнулся, заключается в том, что когда я нажимаю и нажимаю кнопку, ни одно из событий не запускается. Спрайт меню имеет свою собственную кнопку мыши над событием, и кнопка должна располагаться относительно меню, чтобы иметь смысл быть дочерним элементом меню. Как сделать так, чтобы кнопка все еще работала?

Заранее спасибо!

Редактировать
Вот мой код:

protected const rectangle:Sprite = new Sprite(); 
private const minimizeBtn:SimpleButton = new SimpleButton(new ButtonDisplayState(MINIMIZE_BTN_BG_COLOR, 15, 15), new ButtonDisplayState(0xFF0000, 15, 15), new ButtonDisplayState(0x00FF00, 15, 15), new ButtonDisplayState(0x0FF000, 15, 15)); 
rectangle.addEventListener(MouseEvent.MOUSE_OVER, rectMouseOver);
addChild(rectangle);
rectangle.addChild(minimizeBtn);

Ответы [ 2 ]

1 голос
/ 18 февраля 2012

Родительский спрайт (меню) может есть события мыши.Попробуйте установить mouseChildren = true для этого объекта.

0 голосов
/ 11 марта 2012

Прежде всего, какого черта вы определяете свою кнопку как const?Определите это как неконстантную переменную, которая просто глупа, если у вас нет ДЕЙСТВИТЕЛЬНО веской причины для этого.Во-вторых, добавьте слушателей событий DIRECTLY в minimalBtn, а не в контейнер прямоугольника (родительский объект).

Также следует помнить, что хотя в документации говорится, что четыре состояния кнопки являются необязательными в конструкторе, они на самом деле вовсе не являются необязательными.Класс очень специфичен в отношении параметров конструктора, которые приведут к его поломке и неправильной работе во время выполнения (конечно, без ошибок компиляции или времени выполнения, так как flash - лучший в этом отношении).

Так что, хотя выпредоставив здесь все четыре аргумента конструктора, возможно, будет что-то с этим, если мои предыдущие предложения не пройдут.Смотрите следующую ссылку для более подробной информации о конструкторе.

http://selfdocumentingcode.blogspot.com/2009/04/flash-simplebutton-and-mouseover-and.html

...