我有Flash遊戲寫在ActionScript 3,這裏有4個項目應該被拖動到特定的領域,它正常工作時拖動項目任何領域(如果正確的領域 - 項目得到領域的x
,y
職位,如果領域是錯誤的 - 項目返回到他的固定位置)。ActionScript 3.拖放遊戲出錯
當我試圖將物品放在其他物品上時(例如試圖在Item2
上拖放Item1
),它們會出錯,它們會改變位置。如果我拖Item1
,它不hitTestObject正確的字段應該回到Items1
的位置,但它要Item2
x
,y
位置和Item2
到項目1 x
,y
位置。
我用下面的代碼:
private function getPosition(target:Object):void
{
xPos = target.x;
yPos = target.y;
}
private function dragObject(e:MouseEvent):void
{
getPosition(e.target);
e.target.startDrag();
trace("Started drag");
}
private function stopDragObject(e:MouseEvent):void
{
if (e.target.hitTestObject(e.currentTarget.parent[field])) {
e.target.x = (e.currentTarget.parent[field]).x;
e.target.y = (e.currentTarget.parent[field]).y;
} else {
e.target.x = xPos; //here is part where item get's back to his position
e.target.y = yPos; //seems that here is problem
}
}
謝謝,它有幫助,但仍然存在這樣的錯誤:如果我開始快速點擊並拖動(任何位置)快速item1,稍後item2,稍後再item1,稍後item2並重復它,他們都會獲得1個位置在這個例子item1項目2(不像以前改變位置,但在另一個產生一個) – 2015-03-31 20:45:53
@StanislovasKalašnikovas我編輯了我的答案。 – akmozo 2015-03-31 21:40:58
Upvoted,在晚上我將能夠測試它,測試後如果它會工作,我會接受答案,讓你知道如果這對我有效。 – 2015-04-01 05:45:17