我使用pygame的和livewires在卡拉狄加類型遊戲的工作規定量某段代碼運行。然而,在這場比賽中,不是敵人,而是你射擊的氣球。每25次鼠標點擊一次,我就會使用設置爲1的dy屬性將氣球向下移動。如果氣球到達底部,則遊戲結束。但是,我很難找出如何讓它只運行1秒或2秒。因爲我沒有辦法「計時」結果,所以dy值無限期地設置爲1.因此,在前25次點擊之後,該行只是繼續向下移動。這沒關係,但就像我說的,這不是我的預期結果。擁有的時間
下面是代碼我到目前爲止對這個動作:
if games.mouse.is_pressed(0):
new_missile = missile(self.left + 6, self.top)
games.screen.add(new_missile)
MISSILE_WAIT = 0 #25
CLICKS += 1
if CLICKS == 25:
SPEED = 1
CLICKS = 0
點擊和MISSILE_WAIT是這段代碼之前創建和設置爲0的初始值的全局變量。我想弄清楚的是在CLICKS語句下放置的算法。我已經瀏覽了時間模塊上的python文檔,但似乎無法找到任何適合此目的的東西。另外,我不認爲使用while循環會在這裏工作,因爲計算機會立即檢查這些結果,而我需要一個實際的計時器。
你可以有一個計時器重複呼叫的功能。但我認爲你真正想要的是點擊,你應該使用點擊事件。結合pygame.time.get_ticks – ninMonkey
本質上,我試圖找到一種方法讓精靈在dy屬性中移動1秒。我正在搞pygame.time函數,但無法讓這些工作。 – emufossum13