我是Flash AS3游戏编程的新手,,,我有一个问题,我试图 在玩家给出的游戏过程中创建一个开放界面(带播放按钮的菜单),,, 通过键盘输入,,,,和游戏应该跳到第10帧(显示一些对象),然后重置回frame1。现在,当我的游戏重置回帧1 ,,,动态删除 在开始reapears ,,,,,,的菜单 下面给出了我的部分问题代码....要运行代码,只需在第1帧添加一些临时库对象,并允许通过as3访问它。还在第10帧添加关键帧。
var keyPressed:uint;
var rightkey:Boolean = false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, playshot);
var timer:Timer = new Timer(3700, 1); //create the timer
timer.addEventListener(TimerEvent.TIMER, initializeGame);
var tmenu:tat = new tat(); //show a start menu with play button
addChild(tmenu); //added to the stage
tmenu.addEventListener(MouseEvent.CLICK,controlmenu);
function controlmenu(event:MouseEvent) {
timer.start();
removeChild(tmenu); //when the play button is clicked //button and start the game
}
function playshot(event:KeyboardEvent):void { //detects the keys pressed and shots accordingly {
keyPressed = event.keyCode;
if(keyPressed == Keyboard.RIGHT)
{
trace("Entering movebat function");
gotoAndStop(10); //show a show rectangle shape at frame 10;
timer.start();
}
}
function initializeGame(e:TimerEvent):void
{
gotoAndStop(1);
}
stop();
答案 0 :(得分:3)
如果跳转到包含代码的帧,则会再次执行该代码。您可能会将代码置于第一帧,因此当您将代码跳回到那里时,会再次运行添加代码的菜单。将初始化代码放在一次只打一次的框架上,甚至更好,使用文档类,避免完全跳过时间轴。