为角色运动增加时间延迟

时间:2013-06-15 01:38:04

标签: actionscript-3 flash-cs5 user-interaction timedelay

我一直在寻找使用Adobe Flash Professional中的ActionScript 3.0制作动画,其中观众可以使用箭头键移动角色(John)。我制作了两个精灵,John(默认站立角色)和JohnLeg(带有凸起腿的角色),当按下向上键使其看起来像是在行走时,我在它们之间切换。我试过这个,让一​​个看不见,另一个看得见。

然而,目前它只显示JohnLeg 0秒,所以我相信我需要设置一个时间延迟,当他移动显示JohnLeg半秒钟后再切换回来。

我的代码目前仅考虑up键,其中大部分都是使用Adobe Flash中的代码段进行的:

var upPressed:Boolean = false;

John.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey_4);
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed_4);
stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed_4);

function fl_MoveInDirectionOfKey_4(event:Event)
{

JohnLeg.visible = false;
JohnLeg.x = John.x
JohnLeg.y = John.y

if (upPressed)
{
    JohnLeg.visible = true;
    John.visible = false;
    John.y -= 5;
        //set time delay here
    JohnLeg.visible = false;
    John.visible = true;
}
}

function fl_SetKeyPressed_4(event:KeyboardEvent):void
{
switch (event.keyCode)
{
    case Keyboard.UP:
    {
        upPressed = true;
        break;
    }
}

function fl_UnsetKeyPressed_4(event:KeyboardEvent):void
{
switch (event.keyCode)
{
    case Keyboard.UP:
    {
        upPressed = false;
        break;
    }

1 个答案:

答案 0 :(得分:0)

您可以尝试setTimeout。 这里有一些帮助文档http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000602.html