红内:父影片剪辑里面形状,
黄色:父影片剪辑内儿童AS3:确保孩子们保持父影片剪辑的形状
Image http://frontenddev.com/images/stack.png
我想动画的黄点,但要确保它们永远不会脱离红色形状的边界。我怎样才能解决这个问题?
红内:父影片剪辑里面形状,
黄色:父影片剪辑内儿童AS3:确保孩子们保持父影片剪辑的形状
Image http://frontenddev.com/images/stack.png
我想动画的黄点,但要确保它们永远不会脱离红色形状的边界。我怎样才能解决这个问题?
试用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");
}
这基本上相当于为自定义形状滚动自己的物理引擎。我建议寻找现有的物理引擎并应用一个来满足您的需求。
也就是说,如果对象离开显示对象的边界并且您不希望它们在此情况下显示,您可以使用同一显示对象的第二个副本来掩盖原始对象。
至于outter形状是矩形(或矩形作为图像的联合)和内形状为圆形,检查一个圆圈,所有的矩形的边的所有圆的中心之间的距离比使用便宜得多hitTestObject。
此外,我建议使用现有的库,如http://code.google.com/p/collisiondetectionkit。
谢谢。这工作得很好.. – fortysixandtwo 2010-03-18 10:06:06