暂停和取消暂停AS2动画
问题描述:
我想弄清楚暂停和取消暂停我的视频动画的方法。在as3中,通过使用stage.framerate = 0
这是一件容易的事,但as2不允许这样做。主要问题是动画只有1帧,所有动画都通过actionscript2
进行操作。暂停和取消暂停AS2动画
这里是我的示例代码:
Tween1();
function Tween1(){
setTimeout(theTween, 1000); //tween executes after 1000 milliseconds
function theTween(){
//animation stuff here
//Move X position of ball instance
var myTween:Tween = new Tween(ball, "_x", Regular.easeOut, -40, 71, 1, true);
//Rotate button 360 degrees
var myTween:Tween = new Tween(button, "_rotation", Regular.easeOut, -360, 0, 1, true);
// fade in logo
var myTween:Tween = new Tween(logo, "_alpha", Regular.easeOut, 0, 100, 1, true);
//call Tween 2
Tween(2); //calls next animation tween
}
function Tween2(){
setTimeout(theTween, 5000); //tweene executes after 5000 milliseconds
function theTween(){
//more animation stuff
// fade out logo
var myTween:Tween = new Tween(logo, "_alpha", Regular.easeOut, 100, 0, 1, true);
Tween(3); //calls next animation tween
}
我创建了一个影片剪辑图标播放之间改变状态和暂停符号,但我不知道如何暂停及恢复这些功能的执行。任何人都可以提供一种方式来做到这一点?这里是改变我Pause_mc
var buttonState = 0;
pause.onMouseDown = function() {
if (buttonState == 0) {
buttonState = 1;
pause.gotoAndStop(2); //moves movieclip to pause symbol
//need code to pause tween executions
} else {
buttonState = 0;
pause.gotoAndStop(1); //moves movieclip to play symbol
//need code to resume tween executions
}
}
答
国家也许尝试使用的setInterval()我当前的代码;而不是setTimeout(); &某种开关玩&停止状态。
例如。当它变成补间功能'如果玩假',它重复间隔直到游戏成真。
或者也许tweenInstance.stop();有帮助。
例如。
import mx.transitions.Tween;
var myTween:Tween = new Tween(img1_mc, "_x", mx.transitions.easing.None.easeNone, img1_mc._width, Stage.width, 8, true);
myTween.onMotionFinished = function() {
myTween.start();
};
stopTween_btn.onRelease = function() {
myTween.stop();
};
resumeTween_btn.onRelease = function() {
myTween.resume();
};
不幸的是,这不是如何建立文件。对困惑感到抱歉。我添加了额外的代码来帮助阐明我的动画是如何运作的。每次调用某个函数时,都会执行一组操作,然后该函数会调用下一个补间函数以执行另一组操作。 – nr20 2014-10-10 18:14:58
我已更新我的答案,由于我的Flash CC更新,我无法再访问任何as2功能来测试,但我认为这将有所帮助。 – 2014-10-11 14:07:16