Flash 暂停游戏(动作脚本3)
游戏是我写的。它在运行程序时立即启动。所有内容都在一个文档类中工作。现在,我想做一些基本的介绍,例如,游戏开始前的动画倒计时。我怎样才能暂停比赛?主时间线上只有一帧包含背景。如果动画基于计时器 启动计时器时:Flash 暂停游戏(动作脚本3),flash,actionscript-3,Flash,Actionscript 3,游戏是我写的。它在运行程序时立即启动。所有内容都在一个文档类中工作。现在,我想做一些基本的介绍,例如,游戏开始前的动画倒计时。我怎样才能暂停比赛?主时间线上只有一帧包含背景。如果动画基于计时器 启动计时器时: timer.start(); last_time = getTimer(); timer.stop(); pause_timer = getTimer() - last_time; last_time = getTimer(); timer.start(); 暂停计时器时: time
timer.start();
last_time = getTimer();
timer.stop();
pause_timer = getTimer() - last_time;
last_time = getTimer();
timer.start();
暂停计时器时:
timer.start();
last_time = getTimer();
timer.stop();
pause_timer = getTimer() - last_time;
last_time = getTimer();
timer.start();
恢复计时器时:
timer.start();
last_time = getTimer();
timer.stop();
pause_timer = getTimer() - last_time;
last_time = getTimer();
timer.start();
希望,这将对您有所帮助。要添加到Antony的上述答案中,如果您使用事件侦听器处理游戏循环动作,您只需删除它们以暂停游戏,然后再次添加它们以重新启动游戏。例如:
package com.mygame.logic{
import flash.display.MovieClip;
import flash.display.Bitmap;
import fl.controls.Button; //to get this code to work you have to drag a UI component to your
//movie's library or Flash won't recognize it.
public class mygame extends MovieClip{ //this is to be the main document class for the .fla
private var bmp:Bitmap = new Bitmap(...); //fill in constructor with relevant data
private var myButton:Button = new Button();
private var paused:Boolean = false;
public mygame(){
bmp.x = 100;
bmp.y = 100;
myButton.x = 200;
myButton.y = 200;
this.addChild(bmp);
this.addChild(myButton);
this.addEventListener(Event.ENTER_FRAME, main);
myButton.addEventListener(MouseEvent.ON_CLICK, pause);
}
public function main(e:Event):void{
bmp.x += 1.0;
}
public function pause(e:MouseEvent):void{
if (!paused){
this.removeEventListener(Event.ENTER_FRAME, main);
this.paused = true;
}
else{
this.addEventListener(Event.ENTER_FRAME, main);
this.paused = false;
}
}
对于一个基本的暂停功能来说,这就足够了。你可以扩展上面的内容,为玩家制作一个漂亮的HUD,有漂亮的名字和彩色按钮等。要暂停/重新启动游戏,请使用tweens将HUD转换到屏幕上
希望有帮助,
CCJ在游戏代码开始前加入计时器。在你得到一个具体的答案之前,你需要问一个更详细的问题和代码示例。我怎样才能让document类从第二个或其他框架开始呢?你没有。与其让代码启动游戏,不如让代码启动计时器动画,并仅在游戏完成后启动游戏。如果你发布你的代码,也许你会得到一个更清晰的答案。@Nika Gamkrelidze:学习基础知识。