AS3。一个完成后如何使用其他动画?

时间:2014-01-18 00:50:55

标签: actionscript-3 flash animation frame

我正在创建Flash游戏而且我有问题,在“跳跃”动画之后我需要恢复“保持”动画。

我知道我需要在跳跃动画的最后一帧中使用parent.gotoAndStop("staying");。之前有效,现在我改变了我的角色添加了新的动画,现在当我尝试使用它时我得到了错误:1061: Call to possibly undefined method gotoAndStop through a reference with static type flash.display:DisplayObjectContainer.

在此之后我尝试使用:gotoAndStop("staying");,永远跳过动画循环。 在此之后还尝试stop(); - 动画在最后一帧停止,但我需要启动staying动画。请问你能帮帮我吗?谢谢。

2 个答案:

答案 0 :(得分:0)

尝试这样的事情:

if(player.currentFrameLabel=="jumping"){
     if(player.(getChildAt(0) as MovieClip).currentFrame==totalFrames){
         player.gotoAndStop("Staying");
     }
}

编辑:
我假设你正在使用类而不是时间轴,不使用时间轴,这对AS3.0来说是一个糟糕的想法。

EDIT2:
如果您正在处理时间线,那么同样适用,如果您需要像上面的代码那样引用播放器,则该实例的引用是“播放器”。

答案 1 :(得分:0)

它将位于您的跳跃动画的最后一帧

MovieClip(parent).gotoAndStop("staying");

诀窍很简单。 parentMovieClip继承的DisplayObjectContainer属性,它将对象的引用作为DisplayObjectContainer返回。此处没有定义gotoAndStop个方法,因此您应该将该引用转换为MovieClip以获取对其属性和方法的访问权限。 你得到的错误(1061)对你说了这个。