仅旋转上次单击的 MovieClip

Only rotate last clicked MovieClip

我有一个项目,点击并拖动时会复制 MovieClip。也可以使用箭头键旋转和缩放 MovieClip。

但这只会旋转最后一个拖动的 MovieClip,而不是最后一个单击的 MovieClip。所以如果我拖动一个新的副本,之前拖动的副本不能旋转或缩放。

如何更改此设置,以便在按下箭头键时仅使单击的最后一个 MovieClip 能够旋转和缩放?

这里是一些使用的代码(取自另一个 post 并稍作修改):

addEventListener(Event.ENTER_FRAME, moveObject);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHit);
stage.addEventListener(KeyboardEvent.KEY_UP, noKeyHit);


function keyHit(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.LEFT) leftArrow = true;
if(e.keyCode == Keyboard.RIGHT) rightArrow = true;
if(e.keyCode == Keyboard.UP) upArrow = true;
if(e.keyCode == Keyboard.DOWN) downArrow = true;
}


function noKeyHit(e:KeyboardEvent):void{
if(e.keyCode == Keyboard.LEFT) leftArrow = false;
if(e.keyCode == Keyboard.RIGHT) rightArrow = false;
if(e.keyCode == Keyboard.UP) upArrow = false;
if(e.keyCode == Keyboard.DOWN) downArrow = false;
}


function moveObject(e:Event):void{
if(leftArrow) latestClone.rotation -=0.75;
if(rightArrow) latestClone.rotation +=0.75;
if(upArrow) latestClone.scaleY +=0.01
if(downArrow) latestClone.scaleY -=0.01;
} 

谢谢

在您的代码中,您正在缩放和旋转 latestClone
在此代码之外的某处,您正在设置 latestClone.
的值 如果要旋转最新点击的MovieClip,给点击添加事件监听器:

latestClone.addEventListener(MouseEvent.CLICK, onCloneClick);
function onCloneClick(e:MouseEvent):void
{
    var target:MovieClip = e.currentTarget as MovieClip;
    latestClone = target;
}