0
我在Adobe Animate中创建了一个交互式纸娃娃,并且在拖放功能中工作时遇到了一些麻烦。我有多件衣服需要有可能被拖到相同的区域。例如,我可能有4种不同的衬衫选择。我已经开始与两件礼服(黄dress_mc & blue dress_mc)。黄色的连衣裙工作正常,但蓝色的连衣裙不起作用,我可以拖动它,但不会掉落它。有什么建议么?如何使用ActionScript 3.0创建拖放操作?多个项目被拖动到多个目标
这是我现在所拥有的代码:
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;
}
}