我有一個遊戲,其目標是儘可能多地(隨機生成)敵人的船隻拍攝,但我想添加一個30秒的計時器倒計時到零,以添加時間限制,但我不確定我會怎麼做?我有幾個AS文件,所有代碼都以不同的速度生成不同大小的船隻,所以如果需要代碼片段,我會添加它們。基於時間的遊戲倒數計時器
我試圖做這種方式並沒有奏效:
var gameTime:Number = 30;
var gameTimer:Timer;
static var timeText:TextField = new TextField();
timeText = new TextField();
timeText.x = 560;
timeText.y = 0;
timeText.text = gameTime.toString();
addChild(timeText);
gameTimer = new Timer(30000, gameTime);
gameTimer.addEventListener(TimerEvent.TIMER, gameTimeCount);
gameTimer.start();
function gameTimeCount(e:TimerEvent):void
{
gameTime--;
timeText.text = gameTime.toString();
}
但數停留在30,並且不下去。
我現在擁有的一切:
你有你的計時器設置爲30000毫秒每刻度。這是30秒。你想要1000,這是1秒。這就是你應該更新的頻率。 – prototypical 2013-04-25 22:17:04
您並未更新您的timeHeader。我在'updateTime'處理程序中評論過// //根據需要更新您的用戶界面。嘗試將該行添加到該處理程序 - 'timeHeader.text =「Time:」+ String(gameTime);' - 它適用於我。 – prototypical 2013-04-26 15:30:14
我只是剪切/粘貼上面的代碼,並且它完美無瑕。你的頁面有多寬?是否有可能讓textfield timeText離開舞臺?你的舞臺的寬度是多少? – prototypical 2013-04-26 18:27:26