我正在創建一個計劃應用程序,該應用程序在2周的日曆時間軸上顯示項目(包裹在畫布中)。如果用戶決定將項目移動一天,我需要檢查移動項目是否會與其他任何現有項目重疊。如果是這樣,兩個項目中的一個需要沿着y軸向下移動屏幕,直到兩個項目不再重疊。Flex 3:碰撞檢測和碰撞後移動對象
我已經創建了一個通過它來創建項目repeater項目循環的功能......這個函數的最終結果是,擁有一個ArrayCollection:
0. the id number within the repeater
1. the project title
2. x coordinate
3. y coordinate
4. the width of the project
5. the height of the project
我還創建了一個函數,它接受數組集合中的兩個對象並確定它們是否重疊。
但是,我不能弄清楚通過數組集合的工作循環,比較其中的每個項目,檢查它們是否重疊,如果它們重疊則移動項目,然後繼續到下一個項目。
此外,我需要確保移動一個項目不會使它與另一個重疊。
任何想法?
編輯
想通了......我 最終使每個項目的任何移動時的y值重置每個元素爲0,然後重新評估他們是否發生碰撞。
我正在考慮運行一個for循環,比較當前項目只有它在數組集合後的項目,並移動目前正在查看的項目(如果你願意的話,「我」對象)... – Brds 2011-05-10 17:32:29