Самый простой предок для интерактивного, нарисованного вручную компонента? - PullRequest
0 голосов
/ 23 января 2010

Я создаю компонент, который будет большим или большим минусом. Я не хочу использовать растровое изображение, потому что даже я могу нарисовать его с помощью класса Graphics, но компонент должен быть активным (класс Shape - нет).

Он будет частью средства визуализации предметов, поэтому я хочу, чтобы он был как можно более легким. UIComponent не отправляет сообщения CLICK.

Спасибо за любые идеи

Ответы [ 3 ]

2 голосов
/ 23 января 2010

Я бы предложил создать объект Sprite и нарисовать стрелки минус и плюс на его графическом объекте. Затем вам нужно будет добавитьEventListener (MouseEvent.CLICK, someFunction); в его конструкторе или где-то еще, он вам понадобится.

Возможно, вы также захотите установить для cacheAsBitmap значение true в этот момент, чтобы оно не перерисовывалось каждый кадр.


РЕДАКТИРОВАТЬ: Для @jeremynealbrown вы должны использовать класс SpriteAsset, если вы работаете во Flex, очевидно. Очень похоже, но добавлены еще 2 уровня абстракции.

1 голос
/ 23 января 2010

UIComponent будет фактически отправлять события клика. Однако, если к графике не обращается контент, у UIComponent не будет области, по которой можно щелкнуть. Если нарисованный значок «плюс» или «минус» слишком мал для надежного отслеживания действий мыши, то нарисуйте полностью прозрачный прямоугольник, чтобы увеличить область попадания.

1 голос
/ 23 января 2010

Если вы посмотрите здесь: Документы UIComponent

Вы увидите, что UIComponent имеет InteractiveObject в своем пути наследования.InteractiveObject - это класс, который добавляет функциональность событий мыши.

...