簡體   English   中英

Python游戲中的計時器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM