设置空显示对象大小的变通方法?

时间:2009-08-04 20:28:15

标签: flash actionscript-3 dimensions displayobject

我想创建一个位于图像顶部的不可见绘图表面。该绘图表面将负责获取鼠标输入并将坐标传递给位于绘图表面和图像之间的图层上的精灵。绘图表面是一个空的Sprite。

根据the docs,其中没有任何内容的显示对象不能设置其宽度或高度。也就是说,它总是为零。

这有什么办法吗?什么是最佳做法?

2 个答案:

答案 0 :(得分:2)

您可以使用绘图api绘制具有极低Alpha值的形状,这样可以为您提供不会对眼睛可见的值。

<强> BUT

也许更好的解决方案是在绘图表面精灵中在舞台上注册鼠标侦听器,并让它自己处理鼠标事件。我不太了解你想要做什么,但如果可能的话,这将是一个更清洁/更简单的解决方案。

即使您不能将侦听器放在绘图表面精灵中,您也应该能够将它们添加到您工作的舞台上,而不是使用额外的对象。

答案 1 :(得分:2)

如果您只需要绘图的限制,我认为最简单的解决方案是监听舞台鼠标事件,并编程限制您的绘图...... 如果您仍然认为需要透明精灵,可以绘制透明矩形(beginFill(0,0))或创建透明位图(新的BitmapData(width,height,true,0))。不确定哪种是“最佳做法”......