2014-04-24 82 views
-1

我正在製作一款簡單的Galaga-esk遊戲。雖然,他們只是偶爾移動一次(別的東西我不能工作,但那是不同的)。所以,由於他們不能自行移動,我想要一種方法來爲遊戲添加一個定時器,但我似乎無法找到任何關於此的東西。這是我的計時器和周圍的代碼重置爲每個級別到目前爲止。會有這樣的工作,我有它嗎?如何添加計時器到我的遊戲?

from livewires import games, color, random, time 

start = time.time() 
for items in enemies: 
    items.destroy() 
if Enemy_amount > 0: 
    display_balloons() 
elif Enemy_amount == 0 and (time.time() - start <= 120): 
    start = time.time() 
    level += 1 
    Enemy_amount = load_enemies() 
    #Just telling the code to load the next group of enemies. 
+0

您使用的遊戲庫?這是在一個遊戲循環? – Khaelid

+0

是的,有一個遊戲循環。沒有時間部分,遊戲運行良好。更新代碼以顯示導入的所有內容。 – user3470570

回答

0

start值將是一個數字,如1398354442,這是自1月1日開始已經過去的秒數,1970年

如果你想找出經過時間在兩個事件之間,你需要減去。也許這樣?

elif Enemy_amount == 0 and (time.time() - start <= 120): 
    start = time.time() # update start variable to the current time 
+0

當我添加這個時,我還添加了「打印開始」,只是爲了看看它是否工作。出於某種原因,它顯示爲數字,如0.0112322。我可以使用類似* .message(value,x,y)的東西而不是這個嗎? – user3470570

+0

我不知道你在用'* .message(...)'指的是什麼,但是如果time.time()的值顯示爲小於1的數字,與你的電腦。你確定你沒有打印'time.time() - start'的值嗎? – dg99

+0

這是我從打印中獲得的。隨着印刷'開始',我得到了一個巨大的數字,這是自1970年以來。但印刷'time.time() - 開始'以'0.0003000209'結束。那麼,你認爲這與我的電腦有關呢?第一篇文章編輯爲當前代碼。 – user3470570