好吧所以即时通讯使用真正的基本代码进行小型游戏,我已经在一个房间设置了一个计时器,并且无法让它在最后的房间显示请帮助吗?
这是我使用的代码
var gameStartTime:uint;
var gameTime:uint;
var gameTimeField:TextField;
gameTimeField = new TextField();
gameTimeField.x = 900;
gameTimeField.y = 50;
addChild(gameTimeField);
gameStartTime = getTimer();
gameTime = 0;
addEventListener(Event.ENTER_FRAME,showTime);
function showTime(event:Event)
{gameTime = getTimer()-gameStartTime;
gameTimeField.text = "Time: "+clockTime(gameTime);
}
function clockTime(ms:int)
{
var seconds:int = Math.floor(ms/100);
var minutes:int = Math.floor(seconds/60);
seconds -= minutes*60;
var timeString:String = minutes+":"+String(seconds+100).substr(1,2);
return timeString;
}
答案 0 :(得分:0)
如果您的所有代码都发生在一个MovieClip的时间轴上,您可以将gameTime存储为movieclip的成员而不是时间轴var。这是可能的,因为MovieClip是一个“开放”类,它允许您向实例添加成员(变量,函数)。
所以而不是
var gameTime:uint;
gameTime = getTimer()-gameStartTime;
你必须使用'this'来引用当前的MovieClip,所以使用:
this.gameTime = getTimer() - gameStartTime;
现在您可以在MovieClip中的其他帧上引用this.gameTime来读取值。
一般情况下,我不建议像这样编写你的游戏代码 - 当你的代码开始增长时,最好添加一个包含代码的实际文件,否则你很快就会忘记在哪里,阅读{{3快速介绍。