flash - AS3 : defining hit area

标签 flash actionscript-3 actionscript

我有一个包含位图的动画片段,但我不想增加点击区域。我知道我可以在其后添加透明形状,但这将通过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使用重写的方法-我也想知道。

关于flash - AS3 : defining hit area,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728245/

相关文章:

javascript - 播放后从 HTML 中删除 .swf

iOS adobe airrelease构建错误,应用程序无法启动

javascript - 有趣的项目——你能钩住闪光灯吗?

Java - 语句/转换| PuLP 芯

actionscript-3 - 如何从手势点捏缩放图片as3

actionscript-3 - 纯 Actionscript 中的 ActionBar

actionscript-3 - 在 Actionscript 3 中, "in"运算符和 "hasOwnProperty"方法有什么区别?

php - 如何将 red5recorder 与 red5 服务器或 wowza 流服务器一起使用?

apache-flex - 如何检测 Flash 中的内存泄漏?

javascript - Flash 和 Javascript 之间如何通信