【发布时间】:2010-09-27 15:55:07
【问题描述】:
我正在将 MC (bread_mc) 的多个实例添加到容器 MC (wall_mc) 中。 wall_mc 已添加到商店类中,这就是我的其余功能的来源。 wall_mc 也使用 mouseX 和 mouseY 值左右滚动。我已经设置了一个函数来将 bread_mc 添加到墙上的不同 x/y 位置。
函数调用:
fillShelves(bread_mc,Bread,600,200);
功能:
function fillShelves(productMc:MovieClip,className:Class,productX:Number, productY:Number) {
newProduct = new className();
newProduct.x=productX;
newProduct.y=productY;
shelf_mc.addChildAt(newProduct,1);
newProduct.addEventListener(MouseEvent.MOUSE_DOWN, dragProduct, false, 0, true);
}
我添加了一个拖放功能,bread_mc 将在其中快速回到它的货架 x/y 位置。但是我希望当用户 MOUSE_DOWN 在 bread_mc 上它被添加到最高深度时,在拖动时,它保持在其他 mc 的前面(例如一个有购物车的人)。
我的问题是,每当我调用函数 dragProduct();
function dragProduct(e:MouseEvent):void {
currMC = (e.target as MovieClip);
this.addChild(currMC);
stage.addEventListener(MouseEvent.MOUSE_UP, dropProduct);
}
我单击的该死的 bread_mc 向右移动的量与我滚动 wall_mc 的量相同。我曾尝试强迫 currMC 坚持使用 mouseX/Y,但这需要一个 ENTER_FRAME 函数,而且看起来很复杂。
我研究并找到了 localToGlobal。与此类似的方法:
point = new Point(currMC.x, currMC.y);
currMC.localToGlobal(point);
trace(point.x);
我什至不知道我是否正确使用它,但我认为我的问题在于我需要 currMC 路径来向上移动显示列表树并获得全局舞台 X/Y 位置。我不太确定如何使用 localToGlobal 方法实现动态路径。
任何帮助将不胜感激。即使它在这里>阅读这个。谢谢
【问题讨论】:
标签: flash actionscript-3 dynamic path