Actionscript 3 如何在as3中多个对象的拖放事件中同时调用事件

Actionscript 3 如何在as3中多个对象的拖放事件中同时调用事件,actionscript-3,Actionscript 3,我在一个阵列中总共有15个电影嘴唇,在另一个阵列中有另外3个电影嘴唇。我的目标是在第一个数组中拖动一个movieclip,并需要设置到另一个位置。设置位置后,应该调用下一个事件,但我的问题是,在调用第一个事件期间,也可以访问另一个movieclip。 以下我已附上As3代码中的事件: //数组中指定的movieclips goat_Array =[goat1,goat2,goat3,goat4,goat5,goat6,goat7,goat8,goat9,goat10,goat11,goat12,

我在一个阵列中总共有15个电影嘴唇,在另一个阵列中有另外3个电影嘴唇。我的目标是在第一个数组中拖动一个movieclip,并需要设置到另一个位置。设置位置后,应该调用下一个事件,但我的问题是,在调用第一个事件期间,也可以访问另一个movieclip。 以下我已附上As3代码中的事件: //数组中指定的movieclips

goat_Array =[goat1,goat2,goat3,goat4,goat5,goat6,goat7,goat8,goat9,goat10,goat11,goat12,goat13,goat14,goat15];

tiger_Array = ["",tiger1,tiger2,tiger3];

for (p = 0; p < goat_Array.length; p++)
                {
goat_Array[p].addEventListener(MouseEvent.MOUSE_DOWN,goat_select);
                    goat_Array[p].addEventListener(MouseEvent.MOUSE_UP,goat_release);
                }
public function goat_select(event:MouseEvent):void
        {
            /*var originalIndex = this.getChildIndex(current_goat);*/

            for (goat_count = 1; goat_count <= 15; goat_count++)
            {
                if (event.target == this["goat" + goat_count])
                {
                    this["goat" + goat_count].startDrag(true);
                    current_goat = event.target as MovieClip;                   
                }               
            }
        }
for (q = 0; q < tiger_Array.length; q++)
                {
                    tiger_Array[q].addEventListener(MouseEvent.MOUSE_DOWN,tiger_select);
                    tiger_Array[q].addEventListener(MouseEvent.MOUSE_UP,tiger_release);
                }
for (tiger_count = 1; tiger_count <= 3; tiger_count++)
            {
                if (event.target == this["tiger" + tiger_count])
                {
                    this["tiger" + tiger_count].startDrag(true);
                    current_tiger = event.target as MovieClip;

                }
            }
goat_数组=[goat1、goat2、goat3、goat4、goat5、goat6、goat7、goat8、goat9、goat10、goat11、goat12、goat13、goat14、goat15];
tiger_数组=[“”,tiger1,tiger2,tiger3];
for(p=0;p
for (q = 0; q < tiger_Array.length; q++)
                {
                    tiger_Array[q].addEventListener(MouseEvent.MOUSE_DOWN,tiger_select);
                    tiger_Array[q].addEventListener(MouseEvent.MOUSE_UP,tiger_release);
                } 
for(q=0;q

然后将其插入goat_release函数。这样,一旦第一只山羊被放下,老虎就可以被移动。但我仍然不确定你想实现什么…

“但我的问题是,在第一个名为这意味着什么?在goat事件完成后,只应访问tiger事件;但在goat事件中可以访问tiger;如何检查goat事件结束?然后在goat_释放函数中添加e.currentTarget.removeEventListener(MouseeEvent.MOUSE_DOWN,goat_select);在这种方式下,当前的山羊不能再拖动了。我已经做了同样的操作,但是我需要在山羊功能完成后如何启动老虎事件功能。问题是我在游戏开始时能够拖动山羊和老虎,请帮助我。是的,我这样做了,但仍然无法得到正确的解决方案。我正在做棋盘游戏,即例如,国际象棋游戏。我的最终目标是在老虎开始移动后将山羊移动到新位置。很简单,在国际象棋中,首先白色开始移动,然后它完成移动,黑色开始移动。这就是游戏的概念。帮我一把。然后在tiger_释放函数中添加(q=0;q