我无法让我的精灵“翻转”

时间:2013-04-18 13:37:56

标签: actionscript sprite

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

2 个答案:

答案 0 :(得分:1)

请尝试下面这个简单的代码。这里的'object'是你要翻转的movieclip / sprite

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

注意:如果您希望动画片段在没有任何位置移动的情况下翻转,则动画片段必须水平居中注册。

告诉我这是否适合你。

答案 1 :(得分:0)

您使用的是as2 / as3吗?你可以将轴Y翻转180度 如果您使用as2,则需要通过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;

 }