AS3:确保儿童保持在父级动画片段的形状内

时间:2010-03-17 21:02:12

标签: flash actionscript-3

红色:父级动画片段内的形状,
黄色:父级动画片段中的儿童

Image http://frontenddev.com/images/stack.png

我想为黄点制作动画,但要确保它们永远不会脱离红色形状的边界。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

这基本上等同于为自定义形状滚动自己的物理引擎。我建议调查现有的物理引擎并应用一个来满足您的需求。

也就是说,如果对象离开显示对象的边界是可以的,并且你只是不希望它们出现在那种情况下,你可以使用同一个显示对象的第二个副本来掩盖原始对象。

答案 1 :(得分:0)

尝试使用hitTestObject。它评估显示对象以查看它是否与obj显示对象重叠或相交。

for each(var yellow:DisplayObject in yelloDotsArray)
{
  if(yellow.hitTestObject(theRed))
    trace("this dot is within the limits");
  else
    trace("this dot is outside the red area");
}

答案 2 :(得分:0)

对于外部形状是矩形(或矩形作为图片的联合)和内部形状是圆形,检查圆心和所有圆的所有矩形边缘之间的距离比使用hitTestObject要便宜得多。

此外,我建议使用现有的库,例如http://code.google.com/p/collisiondetectionkit