【发布时间】:2017-09-07 16:12:17
【问题描述】:
我正在寻找的是当我在舞台上拖动一个对象时,我希望一个底层对象(同一层)被拖动,并保持在放置主要对象的位置。我需要在多对象情况下使用数组吗? 这仅适用于一个对象(和“子对象”),总共有 22 个,我无法将子对象添加到其动画剪辑中,否则舞台上的其他 21 个对象将重叠并且互相干扰。
这是我目前所拥有的,也请参见插图。谁能指导我一些有用的代码?
CF.addEventListener(MouseEvent.MOUSE_DOWN, dragCF);
CF.addEventListener(MouseEvent.MOUSE_OVER, fadeCF_spaceIN);
CF.addEventListener(MouseEvent.MOUSE_UP, fadeCF_spaceIN);
function dragCF(evt:MouseEvent):void {
addChild(MovieClip(evt.currentTarget));
evt.currentTarget.startDrag();
stage.addEventListener(MouseEvent.MOUSE_UP, dropCF); }
function dropCF(evt:MouseEvent):void {
stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_UP, dropCF); }
function fadeCF_spaceIN(evt:MouseEvent):void {
CF_space.alpha = .5;
stage.addEventListener(MouseEvent.MOUSE_OUT, fadeCF_spaceOUT);
stage.addEventListener(MouseEvent.MOUSE_DOWN, fadeCF_spaceOUT); }
function fadeCF_spaceOUT(evt:MouseEvent):void {
CF_space.alpha = 0;
stage.removeEventListener(MouseEvent.MOUSE_OUT, fadeCF_spaceOUT); }
示例说明:
【问题讨论】:
-
我不确定,因为我倾向于认为我不应该使用目标方法,因为用户可以在舞台上随机放置对象,没有固定目标。但也许是我太不擅长使用它了。
-
但是那里使用的数组方法呢。如果你会做类似的事情,并将所有玩家存储在数组中。然后在拖动其中一个玩家之后,您可以计算它被拖动的方向和距离,并将其应用于该阵列中的所有其他玩家。 (我认为这就是你想要做的,对吧?)
-
我明白你的意思,我尝试实现它,但我得到了相同的结果 - 主对象会移动,但它的从属对象不会移动这是我所做的:
标签: actionscript-3 flash