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

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

Pygame - 未檢測(cè)到鼠標(biāo)點(diǎn)擊

Pygame - 未檢測(cè)到鼠標(biāo)點(diǎn)擊

翻過高山走不出你 2023-10-26 10:37:33
我正在學(xué)習(xí) Pygame 用 Python 制作游戲。但是,我遇到了問題。我試圖檢測(cè)玩家當(dāng)前何時(shí)單擊屏幕,但我的代碼不起作用。我的代碼真的被搞砸了,還是只是我正在使用的在線 Pygame 編譯器?import pygamepygame.init()screen = pygame.display.set_mode((800, 800))while True:  pygame.display.update()  mouse = pygame.mouse.get_pressed()  if mouse:    print("You are clicking")  else:    print("You released")當(dāng)我運(yùn)行此代碼時(shí),輸出控制臺(tái)每秒發(fā)送數(shù)千次垃圾郵件文本“您正在單擊”。即使我沒有點(diǎn)擊屏幕,它仍然會(huì)這樣說。即使我的鼠標(biāo)不在屏幕上。只是同樣的文字。一遍又一遍。Pygame 是否正確執(zhí)行我的程序?為了學(xué)習(xí) Pygame,我使用開發(fā)人員的官方文檔。https://www.pygame.org/docs/這是一種過時(shí)的學(xué)習(xí)方式嗎?這就是我的代碼繼續(xù)運(yùn)行錯(cuò)誤的原因嗎?
查看完整描述

2 回答

?
一只萌萌小番薯

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

pygame.mouse.get_pressed()當(dāng)處理事件時(shí),將評(píng)估返回的坐標(biāo)。pygame.event.pump()您需要通過或 來處理事件pygame.event.get()。

參見pygame.event.get()

對(duì)于游戲的每一幀,您都需要對(duì)事件隊(duì)列進(jìn)行某種調(diào)用。這確保您的程序可以在內(nèi)部與操作系統(tǒng)的其余部分進(jìn)行交互。

pygame.mouse.get_pressed()返回代表所有鼠標(biāo)按鈕狀態(tài)的布爾值序列。因此,您必須評(píng)估any按鈕是否被按下(any(buttons))或者是否通過訂閱按下了特殊按鈕(例如buttons[0])。

例如:

import pygame


pygame.init()

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


run = True

while run:

? ? for event in pygame.event.get():

? ? ? ? if event.type == pygame.QUIT:

? ? ? ? ? ? run = False

??

? ? buttons = pygame.mouse.get_pressed()


? ? # if buttons[0]:? # for the left mouse button

? ? if any(buttons):? # for any mouse button

? ? ? ? print("You are clicking")

? ? else:

? ? ? ? print("You released")


? ? pygame.display.update()

如果您只想檢測(cè)鼠標(biāo)按鈕何時(shí)按下或釋放,那么您必須實(shí)現(xiàn)MOUSEBUTTONDOWNand?MOUSEBUTTONUP(參見pygame.event模塊):

import pygame


pygame.init()

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


run = True

while run:

? ? for event in pygame.event.get():

? ? ? ? if event.type == pygame.QUIT:

? ? ? ? ? ? run = False


? ? ? ? if event.type == pygame.MOUSEBUTTONDOWN:

? ? ? ? ? ? print("You are clicking", event.button)

? ? ? ? if event.type == pygame.MOUSEBUTTONUP:

? ? ? ? ? ? print("You released", event.button)


? ? pygame.display.update()

Whilepygame.mouse.get_pressed()返回按鈕的當(dāng)前狀態(tài),而 MOUSEBUTTONDOWN和MOUSEBUTTONUP僅在按下按鈕后發(fā)生。


查看完整回答
反對(duì) 回復(fù) 2023-10-26
?
慕桂英546537

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

函數(shù) pygame.mouse.get_pressed 返回一個(gè)包含 true 或 false 的列表,因此對(duì)于單擊,您應(yīng)該使用-


import pygame


pygame.init()

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

run = True

while run:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            run = False

  pygame.display.update()

  mouse = pygame.mouse.get_pressed()

  if mouse[0]:

    print("You are clicking")

  else:

    print("You released")


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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