第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Pygame 中的值計(jì)算量超出預(yù)期

Pygame 中的值計(jì)算量超出預(yù)期

烙印99 2023-12-09 16:26:52
氣球圖片在此代碼中,問(wèn)題出在Check_Health(). 每當(dāng)我運(yùn)行游戲時(shí),它都會(huì)將生命值減少到極低的數(shù)字,這是不希望的。我只希望每個(gè)氣球在離開(kāi)屏幕時(shí)都能減少我的生命。具體來(lái)說(shuō),在第一波生命應(yīng)該減少到95,但是當(dāng)程序運(yùn)行時(shí),它減少到-405。有人知道為什么嗎?import pygameimport sysimport osimport randomimport timepygame.init()WIDTH, HEIGHT = 800,600win = pygame.display.set_mode((WIDTH, HEIGHT))pygame.display.set_caption("My Game")clock = pygame.time.Clock()bg_music = []#for r,d,f in os.walk("Music"):    #bg_music.append(f)i = 0Lives = 100balloon_sprite = pygame.image.load("Logo.png")rounds = [[5,50], [6,40], [8,40], [15,30], [15,20]]FPS = 60a3 = Truea1 = a2= Falsebloons = []'''def music_play():    global i    if not(pygame.mixer.music.get_busy()):        pygame.mixer.music.load('Music/'+bg_music[0][i])        pygame.mixer.music.play()        i = random.randint(0,len(bg_music)-1)'''class Button:    def __init__(self, x_center, y_center, text, size, text_col, bg_col):        self.x = x_center        self.y = y_center        self.size = size        self.text_col = text_col        self.bg_col = bg_col        self.hit = False        font = pygame.font.Font('freesansbold.ttf', self.size)        self.text = font.render(text, True, self.text_col, self.bg_col)        self.textRect = self.text.get_rect()        self.textRect.center = (self.x, self.y)        win.blit(self.text, self.textRect)    def Check_Collision(self, event):        if event.type == pygame.MOUSEBUTTONDOWN:            pos_mouse = event.pos            if self.textRect.collidepoint(pos_mouse):                self.hit = True                    def Start(self):        global run1        if (self.hit):            run1 = False    def Quit(self):        if (self.hit):            sys.exit()    def fast_forward(self):        global a1,a2,a3, FPS        if(self.hit): 
查看完整描述

1 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

導(dǎo)致此問(wèn)題的原因Lives是每次滿足條件時(shí)都會(huì)遞減。如果連續(xù)幀中滿足條件,Lives則每幀遞減一次。您必須避免Lives連續(xù)多次遞減。

當(dāng)Lives遞減時(shí),設(shè)置狀態(tài) ( self.hit)。設(shè)置Lives時(shí)不要遞減。當(dāng)條件不再滿足時(shí)self.hit重置:self.hit


class Balloon:

    def __init__(self, x,y,health, dests, speed):

        # [...]


        self.hit = False


    def Check_Health(self, pos):

        global Lives

        if self.x == pos[0] and self.y == pos[1]:

            if not self.hit:

                Lives -= self.health

            self.hit = True

        else:

            self.hit = False


查看完整回答
反對(duì) 回復(fù) 2023-12-09
  • 1 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)