[英]A timer in a Python game
有人可以幫我在python中創建計時器嗎?我需要幫助的是'Handle_caught'方法應包含一個計時器,該計時器可使玩家的速度提高五秒鍾,而在更改全局變量時玩家的速度會提高改為True。
速度令牌類:
class Addspeed(games.Sprite):
image = games.load_image('addspeed.png')
speed = 2
def __init__(self,x,y = 10):
super(Addspeed, self).__init__(image = Addspeed.image,
x = x, y = y,
dy = Addspeed.speed)
def update(self):
if self.bottom>games.screen.height:
self.destroy()
def handle_caught(self):
self.destroy()
def increasespeed(self):
global speedbuff
speedbuff = True
def decreasespeed(self):
global speedbuff
speedbuff = False
玩家如何提高速度:
speedbuff = False
def update(self):
global inventory
global speed
""" uses A and D keys to move the ship """
if games.keyboard.is_pressed(games.K_a):
if speedbuff == False:
self.x -= 3
elif speedbuff == True:
self.x -= 6
if games.keyboard.is_pressed(games.K_d):
if speedbuff == False:
self.x+= 3
elif speedbuff == True:
self.x+=6
您可以將speedbuff
設置為一個整數值(加電持續的幀數),而不是布爾值,並且在播放器的update方法中將其減至0。如下所示:
if games.keyboard.is_pressed(games.K_a):
if speedbuff > 0:
self.x -= 6
else:
self.x -= 3
...
if speedbuff > 0: speedbuff -= 1
由於0被解釋為False
,如果您如此傾向於,則if語句可能只是if speedbuff:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.