我正在处理这个问题。我有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