紅內:父影片剪輯裏面形狀,
黃色:父影片剪輯內兒童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