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:学习基础知识。