flash – AS3:定义命中区域

我有一个包含位图的movieclip,我不想增加命中区域.我知道我可以在它后面添加一个透明的形状,但这是通过空气为ios编译,我不想导致不必要的重绘.

有没有办法将矩形定义为命中区域或其他解决方案?

为此目的,有一个特殊的hitArea字段.

  const MOUSE_ZONE_SIZE:Number = 10;
  const hitArea:Sprite = new Sprite()
  hitArea.graphics.beginFill( 0xFFFFFF );
  hitArea.graphics.drawRect( -MOUSE_ZONE_SIZE, -MOUSE_ZONE_SIZE, MOUSE_ZONE_SIZE* 2, MOUSE_ZONE_SIZE* 2 );
  hitArea.mouseEnabled = false;
  hitArea.visible = false;
  hitArea.x = bitmap.x
  hitArea.y = bitmap.y
  bitmap.hitArea = hitArea;
  addChild( bitmap );
  addChild( hitArea );

不幸的是,即使你覆盖了InteractiveObject的hitTest *函数,它们也不会用于鼠标事件调度:(如果有人知道如何强制Flash使用重写方法 – 我也想知道它.

翻译自:https://stackoverflow.com/questions/7728245/as3-defining-hit-area

转载注明原文:flash – AS3:定义命中区域