Actionscript 3.0:如何在不跳过特定帧上编写的任何代码的情况下创建快进按钮?
Posted
技术标签:
【中文标题】Actionscript 3.0:如何在不跳过特定帧上编写的任何代码的情况下创建快进按钮?【英文标题】:Actionscript 3.0: How to create fast forward button without skipping any code written on particular frame? 【发布时间】:2019-08-03 19:51:34 【问题描述】:我已经做了 3 层。
1层如下: 我使用
创建了 fastForward 和 fastPrevious 按钮**
> function whatever()
frame=currentFrame+90;
this.gotoAndPlay(frame);
**
我在第 1 层的开头写下了这段代码。
第 2 层如下:
stop();
我在中间框架的某处写下了这段代码。
第 3 层如下: 只有第 3 层的按钮。
此代码使动画跳转/下一帧 90 帧,但它也跳过了在这些跳转/下一帧之间编写的代码(在第 2 层中)。如果我在第 120 帧或其他地方编写了一些代码,那么它会跳过该代码并在单击 btnfastForward 时跳转到下一个指定帧。只是想制作一些无错误的快速前进和上一个按钮。
【问题讨论】:
【参考方案1】:很简单。您只需要遍历其间的所有帧。
function fastForward(targetFrame:int, mustPlay:Boolean = true):void
// Go to designated frame without skipping any.
while (currenFrame < targetFrame)
nextFrame();
// The "nextFrame" method also performs "stop".
// Resume playback if needed.
if (mustPlay)
play();
else
stop();
【讨论】:
这不起作用。只有当我尝试快进时,它才会从当前帧开始播放。如果你能给我准确的答案,那就太好了。因为我对 AS3 很幼稚 @DealsProgramming 因此,请在需要时调用 fastForward。我不明白这个简单的代码可能会出现什么样的问题。 我在“nxtButton”点击时调用了这个函数,但它给出了如下错误:Argument Error-#1063 Argument count mismatch. @DealsProgramming 这意味着您传递的参数数量错误。我的函数需要 1 个强制(目标帧号,键入 int)和 1 个可选(键入 Boolean)参数。因此,您可以将其称为 fastForward(10); 或 fastForward(99, false);。如果您传递的参数更少或更多,则会收到上述错误。 它不工作。我写的代码如下: var targetFrame; nxtBtn.addEventListener(MouseEvent.CLICK,fastForward);函数 fastForward(targetFrame:int mustPlay:Boolean=true):void以上是关于Actionscript 3.0:如何在不跳过特定帧上编写的任何代码的情况下创建快进按钮?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不跳过文档的情况下更新window.location.hash?