Я имею дело с этой проблемой. У меня есть 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]);
}
Это будет проходить в первой половине пунктов и поменять их случайный предмет из 2-й половины пунктов.
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. AS3: Установка положения кадра мувиклипа как переменной
- 2. AS3: Масштабировать мувиклип в другом положении мувиклипа?
- 3. Переключение позиций спрайта друг с другом
- 4. Зеркалирование/дублирование мувиклипа as3 Воздух
- 5. Непосредственно управлять рисунком мувиклипа. AS3
- 6. имя секвенциального мувиклипа в AS3
- 7. Flash AS3 Снять детали мувиклипа
- 8. AS3 для перемещения мувиклипа вдоль пути
- 9. Обнаружение столкновений As3 с массивом мувиклипа?
- 10. Перемещение мувиклипа с другим мувиклипом в as3
- 11. AS3: добавить несколько дочерних элементов рядом друг с другом
- 12. Переключение положения двух разделов в JQuery
- 13. AS3 Mask меняет цвет маскируемого мувиклипа
- 14. AS3 Для мувиклипа доступа заявления в мувиклипе
- 15. Создайте копию существующего мувиклипа в AS3
- 16. место несколько экземпляров мувиклипа на сцене AS3
- 17. AS3: Изменение детей MovieClip анимационного мувиклипа через AS3
- 18. AS3 изменение цвета мувиклипа при нажатии
- 19. AS3. MovieClip поверх другого мувиклипа вместо mouse_over.
- 20. Установите ширину/высоту мувиклипа в AS3
- 21. доступ текущего цвета мувиклипа в colPicker as3
- 22. Динамическое добавление мувиклипа в сцену as3
- 23. Поворот мувиклипа по разной оси на позицию мыши As3
- 24. AS3 создайте след мувиклипов, следующих друг за другом
- 25. Вертикально выровняйте входы друг с другом
- 26. удаление мувиклипа
- 27. доступ к мувиклипу внутри мувиклипа с динамическим именем в as3
- 28. AS3 массив кнопок мувиклипа с анимацией жидкости и состояние AT
- 29. AS3: Как сделать снимок мувиклипа с прозрачным фоном?
- 30. Flash AS3 Звук воспроизводится после удаления мувиклипа с помощью removeChild
Да, но мне нужно поменять местами более чем на 2 мувиклипа, в лучшем случае из всех 24, что-то вроде игры pexeso - цель в том, что когда я запускаю приложение, мувиклипы не могут находиться на одном и том же месте каждый раз, они должны swap позиции каждый раз – tomiteko
Хорошо, я обновил код, чтобы показать вам, как вы можете перетасовать всю доску. В принципе, он заменяет каждый элемент из первой половины доски случайным элементом со второй половины платы. Другим способом сделать это было бы поместить все ваши MovieClips в 'Array', перетасовать его с помощью' array.sort (function (a: Object, b: Object): int {return Math.random()>. 5? -1: 1}) 'и THEN присвоить им значения' x' и 'y' упорядоченным образом. – Marcela
Большое вам спасибо, я попробую, как только смогу, и дам вам знать, как это работает для меня – tomiteko