0

首先,我承认我是 ActionScript 的初学者,并且正在编写自己的基本街机游戏(类似于旧街机游戏“Joust”)。虽然我已经能够对精灵的运动进行编码,但当我按下右箭头时,我希望让精灵翻转以面向另一个方向。我想要么我可以尝试围绕它的轴旋转对象(我已经尝试过多次并且证明很困难)或者我可以尝试用另一个精灵“替换”当前精灵(这只是精灵面向相反的方式)。我到处寻找用另一个精灵替换精灵的方法,但无济于事。当使用某个 keyCode 时,如何给这个 sprite 一个翻转效果?

4

2 回答 2

1

试试下面这个简单的代码。这里的“对象”是您要翻转的影片剪辑/精灵

stage.addEventListener(KeyboardEvent.KEY_DOWN, OnKeyDown);

function OnKeyDown(event:KeyboardEvent):void
{
    var uiKeyCode:uint = event.keyCode; 
    switch (uiKeyCode)
    {
        case Keyboard.LEFT :
            object.scaleX = -1; //flip
            break;
        case Keyboard.RIGHT :
            object.scaleX = 1; //unflip
            break;
    }
}

注意:如果您希望动画剪辑在其位置不发生任何变化的情况下翻转,则动画剪辑必须水平居中对齐。

告诉我这是否适合你。

于 2013-04-19T08:52:36.637 回答
0

您使用的是 as2/as3 吗?如果您使用 as2,您可以将 Y 轴翻转 180 度,您需要通过 actionScript 镜像位图或添加第二个镜像到显示列表的位图。

    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);

    function keyPressedDown(event:KeyboardEvent):void
    {
         var key:uint = event.keyCode;

    switch (key)
   {
    case Keyboard.LEFT :
                    myMovieClip.rotaionY = 180; // MC will be mirrored
        break;
    case Keyboard.RIGHT :
                    myMovieClip.rotaionY = 0;

 }
于 2013-04-18T17:31:30.257 回答