Я бы предложил не использовать MOUSE_UP для перетаскиваемых объектов. Это может потерпеть неудачу в нескольких случаях. Также неплохо вынести перетаскиваемый объект на передний план.

даю интерактивную бумажную куклу в Adobe Animate, и у меня возникли проблемы с включением функции перетаскивания. У меня есть несколько предметов одежды, которые нужно будет перетащить в одну и ту же область. Например, у меня может быть 4 разных варианта рубашки. Я начал с двух платьев (желтый dress_mc и синий dress_mc). Желтое платье работает нормально, но голубое платье не сработает, я могу его перетащить, но не уронить. Какие-либо предложения?

Вот код, который у меня есть сейчас:

var objectoriginalX:Number;
var objectoriginalY:Number;

flower_mc.buttonMode = true;
flower_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
flower_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);

yellowdress_mc.buttonMode = true;
yellowdress_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
yellowdress_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);

bluedress_mc.buttonMode = true;
bluedress_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
bluedress_mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);

function pickupObject(event:MouseEvent):void {
event.target.startDrag(true);
event.target.parent.addChild(event.target);
objectoriginalX = event.target.x;
objectoriginalY = event.target.y;
}
function dropObject(event:MouseEvent):void {
event.target.stopDrag();
var matchingTargetName:String = "target" + event.target.name;
var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == 
matchingTarget){
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
event.target.buttonMode = false;
event.target.x = matchingTarget.x;
event.target.y = matchingTarget.y;
} else {
event.target.x = objectoriginalX;
event.target.y = objectoriginalY;
}
}

Ответы на вопрос(1)

Ваш ответ на вопрос