我正在创建一个大加号或大减号的组件。我不想使用位图,因为即使我可以使用 Graphics 类来绘制它,但组件必须是可点击的(Shape 类不是)。
它将成为项目渲染器的一部分,因此我希望它尽可能轻巧。UIComponent 似乎没有发送 CLICK 消息。
感谢您的任何想法
我正在创建一个大加号或大减号的组件。我不想使用位图,因为即使我可以使用 Graphics 类来绘制它,但组件必须是可点击的(Shape 类不是)。
它将成为项目渲染器的一部分,因此我希望它尽可能轻巧。UIComponent 似乎没有发送 CLICK 消息。
感谢您的任何想法
我建议创建一个 Sprite 对象并将减号和加号箭头绘制到其图形对象。然后你必须 addEventListener(MouseEvent.CLICK, someFunction); 在它的构造函数或其他任何你需要它的地方。
您可能还想在此时将 cacheAsBitmap 设置为 true,这样就不会在每一帧都重绘它。
编辑:对于@jeremynealbrown,如果您在 Flex 中工作,显然您必须使用 SpriteAsset 类。非常相似,但添加了另外 2 个抽象级别。
如果你看这里: UIComponent Docs
您将看到 UIComponent 在其继承路径中有 InteractiveObject。InteractiveObject 是添加鼠标事件功能的类。
UIComponent 实际上会调度点击事件。但是,如果没有内容绘制到图形上,则 UIComponent 将没有可单击的区域。如果您绘制的加号或减号图标太小而无法可靠地捕捉鼠标活动,则绘制一个完全透明的矩形以增加点击区域。