如何检测AS3中的影片剪辑上是否有绘图/图形?

时间:2014-04-09 11:15:43

标签: actionscript-3

我是AS3的新手。我有一个电影剪辑。我想知道是否有在影片剪辑上绘制的绘图/图形?

3 个答案:

答案 0 :(得分:0)

简单,检查MovieClip的宽度和高度。假设你的意思是MovieClip本身包含绘图/图形。

看到Fygo的评论

我做了一些测试,发现MovieClip的scale属性会根据它是否有任何图形而改变。

如果您将宽度和高度设置为零,则相应的scaleXscaleY也将设置为零。所以你可以做的是检查MovieClip的比例和尺寸。如果两个刻度都是1:1并且两个尺寸都是0:0,那意味着你没有弄乱尺寸,它确实是无图形的。

trace (awd.scaleX, awd.scaleY, awd.width, awd.height);
//If you get 1 1 0 0 as the output, the MovieClip is empty

答案 1 :(得分:0)

使用readGraphicsData()。我假设如果它是空的,那意味着那里没有任何东西:)

虽然不完美,但请阅读reference

答案 2 :(得分:0)

也许你的意思是碰撞检测?要检测两个movieClip是否正在触摸......? 为此你需要:

HitTestObject - (检查两个对象是否接触到它们的框边界) - Link:

或HitTestPoint - (仔细阅读说明) - Link:

这里有一个解释这两种方法的好教程: - Link:

示例代码:

if ( MC_one.hitTestObject(MC_two) )
{
  trace("MovieClip One is touching/over MovieClip Two"); 
  //add code needed to happen when touching/over. example below
  //MC_two.gotoAndStop(2); //example tells touched MC_two to change frame to 2
}