【发布时间】:2014-05-22 13:16:55
【问题描述】:
我是 AS3 的新手。我有一个影片剪辑。我想知道影片剪辑上是否有绘图/图形?
【问题讨论】:
标签: actionscript-3
我是 AS3 的新手。我有一个影片剪辑。我想知道影片剪辑上是否有绘图/图形?
【问题讨论】:
标签: actionscript-3
简单,检查MovieClip的宽度和高度。假设您的意思是 MovieClip 本身包含绘图/图形。
看到Fygo的评论后
我做了一些测试,发现MovieClip的scale属性会根据它是否有任何图形而改变。
意思是如果将宽度和高度设置为零,则对应的scaleX 和scaleY 也将设置为零。所以你可以做的是检查电影剪辑的比例和尺寸。如果两个比例都是 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
【讨论】:
使用readGraphicsData()。我假设如果它是空的,则意味着那里没有绘制任何东西:)
虽然并不完美,请阅读reference
【讨论】:
也许您只是指碰撞检测?检测两个movieClips是否正在接触......? 为此,您需要:
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
}
【讨论】: