我正在處理這個問題。我有24個影片剪輯(稱爲mc1,mc2,..,mc24),它們以某種格子(6x4)放置在舞臺上。我需要一個函數,它切換這些影片剪輯的位置(類似於隨機播放,但是具有其他影片剪輯的已知位置)。例如mc1.x和mc1.y將等於mc4.x和mc4.y等。非常感謝您的時間和想法!彼此切換動畫片段位置[AS3]
2
A
回答
0
你的意思是這樣的:
function swap(mcA:MovieClip, mcB:MovieClip):void
{
var tempPosition:Point = new Point(mcA.x, mcA.y);
mcA.x = mcB.x;
mcA.y = mcB.y;
mcB.x = tempPosition.x;
mcB.y = tempPosition.y;
}
swap(mc1, mc4);
這將交換的mc1
和mc4
的位置。
var totalItems:int = 24; // total number of items
for(var i:int = 0; i < int(totalItems/2); i++)
{
var randomItem:String = "mc"+(int(Math.random() * (int(totalItems/2)-1)) + (int(totalItems/2)+1));
swap(this["mc"+(i+1)], this[randomItem]);
}
這將通過項目的前半部分,並將它們與項目的後半部分中的隨機項交換。
1
使用XOR交換。它基本上是這樣的:
mc1.x ^= mc4.x;
mc4.x ^= mc1.x;
mc1.x ^= mc4.x;
mc1.y ^= mc4.y;
mc4.y ^= mc1.y;
mc1.y ^= mc4.y;
然後從那裏開始。
相關問題
- 1. 處理多個動畫片段相對於彼此的位置
- 2. 使用動畫替換兩個片段彼此
- 3. AS3動畫片段滾動
- 4. Flash AS3,設置兒童動畫片段位置時的奇怪
- 5. AS3:將動畫片段的幀位置設置爲變量
- 6. 移動位置彼此
- 7. AS3:通過AS3更改動畫動畫片段的兒童動畫片段
- 8. AS3 addEventListener在另一個動畫片段內的動畫片段
- 9. 彼此重疊的片段
- 10. AS3多個(動畫片段按鈕)動畫製作一個動畫片段
- 11. UIViews不動畫彼此
- 12. 更新動畫片段位置
- 13. AS3添加動畫片段槽功能
- 14. as3動畫片段反鋸齒
- 15. AS3按基類選擇動畫片段
- 16. AS3 mouseClick忽略動畫片段
- 17. 臨時動畫片段容器as3
- 18. 如何在與as3同時訪問所有動畫片段(和動畫片段內的動畫片段,...)?
- 19. 將動畫片段定位到另一個動畫片段2
- 20. AS3將事件偵聽器添加到動畫片段中的動畫片段
- 21. AS3 addchild保持動畫運動的動畫片段
- 22. 移動補間動畫組使用as3動畫片段組
- 23. 切換2個UIPickerview的組件彼此
- 24. 片段更換後抽屜切換不動畫
- 25. 在鼠標位置上的不同軸上旋轉動畫片段As3
- 26. as2至as3交換深度動畫片段?
- 27. 在AS3中設置動畫片段的寬度/高度
- 28. 基於設置定時器的AS3循環動畫片段
- 29. 在動畫名稱爲as3的movieclip中訪問動畫片段
- 30. jQuery切片div爲動畫段
是的,但我需要交換超過2個動畫片段的位置,在所有24個最好的情況下,像pexeso遊戲 - 目標是,當我運行應用程序時,movieclip不能每次都在同一個地方,他們必須每次交換位置 – tomiteko 2013-03-13 17:57:00
好的,我更新了代碼,告訴你如何洗牌整個板子。基本上,它將棋盤上半部分的每個物品換成棋盤後半部分的隨機物品。 另一種方法是將所有的MovieClip放入'Array'中,使用array.sort(function(a:Object,b:Object):int {return Math.random()>對其進行混洗。 5?-1:1})'然後按順序分配它們的'x'和'y'值。 – Marcela 2013-03-13 18:17:53
非常感謝,我會盡快嘗試,讓你知道它是如何工作的 – tomiteko 2013-03-13 18:50:07