Это очень широкий вопрос, поэтому я разбью его на 3 основные задачи и дам обзор высокого уровня:
1) Создайте изображения головоломки
2)Перетащите фрагменты
3) Проверьте, правильно ли размещены фрагменты в правильном расположении
Шаг 1 - это в основном вопрос редактирования изображений, а не программирования, поэтому здесь особо нечего сказать,Однако обратите внимание, что можно автоматически генерировать различные головоломки, используя изображения, представленные проигрывателем или загруженные из Интернета, выполнив такие вещи, как применение векторных масок и клонирование BitmapData в предварительно созданные фрагменты ролика.
Шаг 2 в основном выполняетсяо добавлении слушателей событий мыши к частям и использовании startDrag () и stopDrag () в функциях слушателей.Что-то вроде:
piece.addEventListener(MouseEvent.MOUSE_DOWN, OnDrag);
piece.addEventListener(MouseEvent.MOUSE_UP, OffDrag);
function OnDrag(e:Event) {
e.target.startDrag();
}
function OffDrag(e:Event) {
e.target.stopDrag();
//check placement
}
Как отмечается в комментарии, шаг 3 может произойти, когда кусок будет отброшен.Есть несколько способов сделать это, но я бы порекомендовал хранить решенные позиции в массиве при создании головоломки, а затем проверять все части по массиву решения, чтобы увидеть, была ли головоломка решена.
Между прочим, при проверке размещения, как правило, лучше проверять, упал ли кусок на определенном расстоянии от правильного положения, и если это так, защелкнуть его на месте.