代码之家  ›  专栏  ›  技术社区  ›  Soviut

设置空显示对象大小的解决方法?

  •  0
  • Soviut  · 技术社区  · 16 年前

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

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

    有办法解决这个问题吗?最佳实践是什么?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Tyler Egeto    16 年前

    您可以使用绘图API绘制具有极低alpha值的形状,这将为您提供不可见的值。

    但是

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

    即使你不能把监听器放在绘图面精灵中,你也应该能够将它们添加到你工作的阶段,而不是使用一个额外的对象。

        2
  •  2
  •   Cay    16 年前

    如果您只需要限制您的绘图,我认为最简单的解决方案是监听阶段鼠标事件,并通过编程限制您的绘图… 如果仍然认为需要透明的sprite,可以绘制透明矩形(beginfill(0,0))或创建透明位图(new bitmapdata(width,height,true,0))。不确定哪个是“最佳实践”……

    推荐文章