2016-02-12 20 views
0

我有一个项目,点击并拖动MovieClip被复制。也可以使用箭头键旋转和缩放MovieClip。只旋转最后点击的影片剪辑

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

如何更改此选项,使最后一个MovieClip单击可以旋转和缩放,方向键被按下时?

下面是一些使用的代码(截断并从另一篇文章稍作修改):

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; 
} 

谢谢

回答

1

在你的代码是缩放和旋转latestClone
此代码之外的某处您正在设置latestClone的值。
如果要旋转的最新点击影片剪辑,添加事件监听器点击:

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

谢谢,这个回答我的问题。不过,如果我将CLICK替换为MOUSE_DOWN,我发现它效果最好,但非常感谢您帮助我找到答案。 – New2AS3