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

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

如何使圖像/對(duì)象無(wú)限跳躍?

如何使圖像/對(duì)象無(wú)限跳躍?

慕工程0101907 2022-08-02 15:53:00
我正在嘗試制作一個(gè)flappy鳥(niǎo)的克隆來(lái)學(xué)習(xí)pygame,我是一個(gè)初學(xué)者。只是做一些基本的事情,我希望每當(dāng)用戶按下空格鍵時(shí)圖像就會(huì)跳躍,否則圖像就會(huì)不斷下降。我遇到的問(wèn)題是,如果我按住空格鍵,它就會(huì)繼續(xù)向上飛行,而不是一次只跳一次。如何解決此問(wèn)題?(有人解釋了申請(qǐng)?zhí)S在飛翔的鳥(niǎo)所需的基本物理原理)import pygamepygame.init()screen = pygame.display.set_mode((500,500))c = pygame.image.load('cookie.png')run = Truex,y = 50,50while run:    screen.fill((255,255,255))    for event in pygame.event.get():        if event.type == pygame.QUIT:            run = False    keys = pygame.key.get_pressed()    if keys[pygame.K_SPACE]:        y -= 1    else:        y += 0.2    screen.blit(c, (x,y))    pygame.display.update()pygame.quit()
查看完整描述

2 回答

?
開(kāi)心每一天1111

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

pygame返回的狀態(tài).key.get_pressed()只要按住鍵即可。僅在按下鍵時(shí)發(fā)生一次。
使用事件來(lái)舉起鳥(niǎo)。但是鳥(niǎo)的位置必須在主循環(huán)中計(jì)算,以保持鳥(niǎo)不斷下降。
此外,使用pygame.time.Clock分別.tick()來(lái)控制每秒的翻牌次數(shù):KEYDOWN

import pygame

pygame.init()


screen = pygame.display.set_mode((500,500))

clock = pygame.time.Clock()


c = pygame.image.load('cookie.png')

run = True

x,y = 50,50


while run:

    clock.tick(60)


    fly = False

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            run = False

        elif event.type == pygame.KEYDOWN:

           fly = event.key == pygame.K_SPACE


    if fly:

        y -= 20

    else:

        y += 1


    screen.fill((255,255,255))

    screen.blit(c, (x,y))

    pygame.display.update()


pygame.quit()


查看完整回答
反對(duì) 回復(fù) 2022-08-02
?
MMMHUHU

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

請(qǐng)嘗試使用事件而不是 。 返回一個(gè)數(shù)組,其中包含鍵盤(pán)上每個(gè)鍵的狀態(tài),并且每次循環(huán)運(yùn)行時(shí)都會(huì)調(diào)用它 - 因此,如果您按住該鍵,它將反復(fù)觸發(fā)。KEYDOWNget_pressed()get_pressed()


for event in pygame.event.get():

    if event.type == pygame.QUIT:

        run = False

    elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:

        y -= 1

    else:

        y += 0.2

沿著這些路線的東西應(yīng)該對(duì)你有用。


查看完整回答
反對(duì) 回復(fù) 2022-08-02
  • 2 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(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)