可点击的手绘组件的最简单的祖先?

时间:2010-01-23 00:07:15

标签: flex actionscript-3 graphics components uicomponents

我正在创建一个大加号或大减号的组件。我不想使用位图,因为即使我可以使用Graphics类绘制它,但组件必须是可点击的(Shape类不是)。

它将成为项目渲染器的一部分,因此我希望它尽可能轻量级。 UIComponent似乎没有发送CLICK消息。

感谢您的任何想法

3 个答案:

答案 0 :(得分:2)

我建议创建一个Sprite对象并将减号和加号箭头绘制到其图形对象。然后你必须addEventListener(MouseEvent.CLICK,someFunction);在它的构造函数中或者你需要它的任何地方。

您可能还希望在此时将cacheAsBitmap设置为true,以便不会每帧重绘。


编辑:对于@jeremyne​​albrown,如果你在Flex中工作,你必须使用SpriteAsset类。非常相似,但增加了另外两个抽象级别。

答案 1 :(得分:1)

如果你看这里: UIComponent Docs

您将看到UIComponent在其继承路径中具有InteractiveObject。 InteractiveObject是添加鼠标事件功能的类。

答案 2 :(得分:1)

UIComponent实际上会调度点击事件。但是,如果没有绘制到图形的内容,则UIComponent将没有可以单击的区域。如果您绘制的加号或减号图标太小而无法可靠地捕捉鼠标活动,则绘制一个完全透明的矩形以增加命中区域。