Actionscript 3 返回帧时AS3键盘事件未更新

Actionscript 3 返回帧时AS3键盘事件未更新,actionscript-3,flash,keyboard-events,flash-cc,Actionscript 3,Flash,Keyboard Events,Flash Cc,我正在制作一个关于大气的应用程序,当按下箭头键时,我试图使一个电影剪辑上下移动到不同的区域。它几乎可以正常工作。然而,例如,如果我在“对流层”部分,按下向上箭头键将使我上升到“平流层”,然后按下向下箭头键返回到“对流层”。向上箭头键会将我带回“平流层”,但如果我按下向上箭头键,然后转到“中层”,它会将动画从“对流层”重复到“平流层” 我尽我所能解释了,如果不清楚的话,很抱歉。我上传了一个我认为有助于澄清问题的帖子 这是我在第40帧的对流层代码(开始)。平流层的动画从41开始 stop(); s

我正在制作一个关于大气的应用程序,当按下箭头键时,我试图使一个电影剪辑上下移动到不同的区域。它几乎可以正常工作。然而,例如,如果我在“对流层”部分,按下向上箭头键将使我上升到“平流层”,然后按下向下箭头键返回到“对流层”。向上箭头键会将我带回“平流层”,但如果我按下向上箭头键,然后转到“中层”,它会将动画从“对流层”重复到“平流层”

我尽我所能解释了,如果不清楚的话,很抱歉。我上传了一个我认为有助于澄清问题的帖子

这是我在第40帧的对流层代码(开始)。平流层的动画从41开始

stop();

stage.addEventListener(KeyboardEvent.KEY_UP, goupStrat);

function goupStrat(e:KeyboardEvent):void {
    if(e.keyCode==Keyboard.UP) {
        gotoAndPlay (41)
    }
}
这是我的同温层代码

stop();

stage.addEventListener(KeyboardEvent.KEY_UP, goupMes);
stage.addEventListener(KeyboardEvent.KEY_UP, godownTropos);

function goupMes(e:KeyboardEvent):void {
    if(e.keyCode==Keyboard.UP) {
        gotoAndPlay (64);
    }
}

function godownTropos(e:KeyboardEvent):void {
    if(e.keyCode==Keyboard.DOWN) {
        gotoAndPlay (211);
    }
}
等等


我已经尝试过寻找解决方案,但我不确定我到底应该寻找什么

gotoAndPlay(41)…可能是这个,试试gotoandstop。。。很难说你的项目是如何建立的。。。我建议不要为上下键使用关键帧动画。。。您可以使用mymovieclip.tween.y位置向上或向下。。。如果你明白我的意思,我基本上有一个20帧的动画,当按下键时,可以在每个部分之间切换,这就是为什么我有“gotoAndPlay”。不过我会试试看,谢谢。记住flash总是在时间轴上向前播放。。。因此,如果您使用gotoand stop,则播放内部动画。。。这很难说,因为我不在你的项目前面…如果你把它上传到一些我会看的地方,我已经添加了一个链接到我的时间线截图。当按键按下时,带有动画的层会向上或向下移动atmpsphere层movieclip。按时间轴上的键进行硬编辑时,最好使用脚本来执行动作脚本,而不使用按键上的键动画,因为会出现问题和复杂情况,例如。。。。我认为你最好重新考虑一下你的项目方法