Actionscript 3 在CS5ActionScript3.0中,函数Tween()的作用是使Tween参数没有端点

Actionscript 3 在CS5ActionScript3.0中,函数Tween()的作用是使Tween参数没有端点,actionscript-3,Actionscript 3,我已经尝试了许多不同的方法,使这运行的方式,我想要的。我正在使用箭头键在x轴上仅使用右箭头和左箭头来拍摄电影剪辑,而电影剪辑在运动过程中运行动画。我发现Tween函数的效果最好。这是我的密码: 有关守则是: 我想知道你需要一个吐温的终点吗。这是唯一把我搞砸的部分。 我不希望对象在设定点停止。因此,如果您只需单击任意箭头按钮,对象将继续指向为其设置的点。我想在任何我想去的地方,用一角硬币来阻止它。我尝试了下面的代码 此代码在停止一角硬币上的动画时起作用,但在第一次按下箭头键时出现严重延迟。几乎像一

我已经尝试了许多不同的方法,使这运行的方式,我想要的。我正在使用箭头键在x轴上仅使用右箭头和左箭头来拍摄电影剪辑,而电影剪辑在运动过程中运行动画。我发现Tween函数的效果最好。这是我的密码:

有关守则是:

我想知道你需要一个吐温的终点吗。这是唯一把我搞砸的部分。 我不希望对象在设定点停止。因此,如果您只需单击任意箭头按钮,对象将继续指向为其设置的点。我想在任何我想去的地方,用一角硬币来阻止它。我尝试了下面的代码


此代码在停止一角硬币上的动画时起作用,但在第一次按下箭头键时出现严重延迟。几乎像一个画架,但它不是。这就像是动作脚本和按键的响应延迟。有人能帮我解决这两个问题吗?谢谢。

我不太明白这个问题,但我建议您研究一下您的动画需求。

您可以尝试在运动中使用ENTER_FRAME事件,并在释放关键点时关闭侦听器。类似这样的未经测试:

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, releaseKey);

var movement:int = 0;

function keyPressed(evt:KeyboardEvent):void
{
    if(evt.keyCode == Keyboard.RIGHT) {
        hero.gotoAndPlay("Walk");
        hero.scaleX = 1;
        movement = 5;
        stage.addEventListener(Event.ENTER_FRAME,doMovement);
    } else if(evt.keyCode == Keyboard.LEFT) {
        hero.gotoAndPlay("Walk");
        hero.scaleX = -1;
        movement = -5;
        stage.addEventListener(Event.ENTER_FRAME,doMovement);
    }
}

function releaseKey(evt:KeyboardEvent):void
{
    if(evt.keyCode == Keyboard.RIGHT || evt.keyCode == Keyboard.LEFT)
    {
        hero.gotoAndStop("Stand");
        stage.removeEventListener(Event.ENTER_FRAME,doMovement);
    }
}

function doMovement(evt:Event):void
{
    hero.x += movement;
}
var tween1:Tween = new Tween(hero, "x", None.easeNone, hero.x, hero.x += 70, 15, false);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, releaseKey);

function keyPressed(evt:KeyboardEvent):void
{
    if(evt.keyCode == Keyboard.RIGHT)
    {
        var_move = true;
        hero.gotoAndPlay("Walk");
        hero.scaleX = 1;
        hero.x += 5;
    }

    if(evt.keyCode == Keyboard.LEFT)
    {
        var_move = true;
        hero.gotoAndPlay("Walk");
        hero.scaleX = -1;
        hero.x -= 5;
    }
}

function releaseKey(evt:KeyboardEvent):void
{
    if(evt.keyCode == Keyboard.RIGHT || evt.keyCode == Keyboard.LEFT)
    {
        hero.gotoAndStop("Stand");
    }
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, releaseKey);

var movement:int = 0;

function keyPressed(evt:KeyboardEvent):void
{
    if(evt.keyCode == Keyboard.RIGHT) {
        hero.gotoAndPlay("Walk");
        hero.scaleX = 1;
        movement = 5;
        stage.addEventListener(Event.ENTER_FRAME,doMovement);
    } else if(evt.keyCode == Keyboard.LEFT) {
        hero.gotoAndPlay("Walk");
        hero.scaleX = -1;
        movement = -5;
        stage.addEventListener(Event.ENTER_FRAME,doMovement);
    }
}

function releaseKey(evt:KeyboardEvent):void
{
    if(evt.keyCode == Keyboard.RIGHT || evt.keyCode == Keyboard.LEFT)
    {
        hero.gotoAndStop("Stand");
        stage.removeEventListener(Event.ENTER_FRAME,doMovement);
    }
}

function doMovement(evt:Event):void
{
    hero.x += movement;
}