Actionscript 3 如何将拖放功能应用于电影剪辑中的所有帧?行动脚本3

Actionscript 3 如何将拖放功能应用于电影剪辑中的所有帧?行动脚本3,actionscript-3,drag-and-drop,Actionscript 3,Drag And Drop,每个框架包含一个文本字段。我在时间线上应用代码。 但它只应用于最后一个对象,这意味着我只能拖放最后一个对象。为什么? 如何改进此功能,以便可以拖放所有对象 for(var j:uint=0; j<3; j++) { var q:Ans = new Ans(); q.stop(); q.x = j * 300+50;// set position q.y = 500; var r:uint = Math.floor(Math.random() *

每个框架包含一个文本字段。我在时间线上应用代码。
但它只应用于最后一个对象,这意味着我只能拖放最后一个对象。为什么?
如何改进此功能,以便可以拖放所有对象

for(var j:uint=0; j<3; j++)
{

    var q:Ans = new Ans();
    q.stop();
    q.x = j * 300+50;// set position
    q.y = 500;

    var r:uint = Math.floor(Math.random() * q_list.length);
    q.qface = q_list[r];// assign face to card
    q_list.splice(r,1);// remove face from list;
    q.gotoAndStop(q.qface+1);

    q.addEventListener(MouseEvent.MOUSE_DOWN, startAnsDrag);
    q.addEventListener(MouseEvent.MOUSE_UP, stopAnsDrag);
    q.addEventListener(Event.ENTER_FRAME, dragAns);

    addChild(q);// show the card
}


//----------------------------drag
// offset between sprite location and click

var clickOffset:Point = null;
// user clicked
function startAnsDrag(event:MouseEvent) :void
{
    clickOffset = new Point(event.localX, event.localY);
}

// user released
function stopAnsDrag(event:MouseEvent) :void
{
    clickOffset = null;
}

// run every frame
function dragAns(event:Event) :void
{
    if (clickOffset != null) 
    { // must be dragging
        q.x = clickOffset.x+mouseX+135;
        q.y = clickOffset.y+mouseY;
    }
}

for(var j:uint=0;j在时间线中为您的拖放代码创建一个新层,您可以从其他actionscript中删除该层。将代码放在该层的第一帧上。现在单击并选择该层上希望代码生效的最后一帧(可能是MovieClip的最后一帧)。按F5键以绘制将受代码影响的帧范围。瞧!

等等,您是否正在尝试拖放通过代码创建的对象(例如
q=new Ans()
)或时间线帧上已存在的对象?