Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使鼠标按钮向下只检测左键点击?_Python_Python 3.x_Pygame - Fatal编程技术网

Python 如何使鼠标按钮向下只检测左键点击?

Python 如何使鼠标按钮向下只检测左键点击?,python,python-3.x,pygame,Python,Python 3.x,Pygame,MOUSEBUTTONDOWN检测左、右和鼠标滚轮事件。我想让它只检测左键点击 源代码: import pygame, sys, time from pygame.locals import * from millify import millify,prettify pygame.mixer.init() pygame.init() pygame.mixer.music.load("soundtrack.wav") WHITE = 255,255,255 font = p

MOUSEBUTTONDOWN
检测左、右和鼠标滚轮事件。我想让它只检测左键点击

源代码:

import pygame, sys, time
from pygame.locals import *
from millify import millify,prettify

pygame.mixer.init()
pygame.init()
pygame.mixer.music.load("soundtrack.wav")
WHITE = 255,255,255
font = pygame.font.SysFont(None, 44)
cpsecond = open("clickpersecond.txt", "r+")
cps = int(cpsecond.read())
baltotal = open("totalbal.txt", "r+")
totalbal = int(baltotal.read())
totalbalM = prettify(totalbal, '.')
clock = pygame.time.Clock()
w = 800
h = 600
screen = pygame.display.set_mode((w,h))
pygame.display.set_caption('Tap Simulator')
Loop = True
background = pygame.image.load("Background.jpg")
egg = pygame.image.load("egg.png")
resized_egg = pygame.transform.scale(egg, (282, 352))
text = font.render(f'Your total clicks are {totalbalM}', True, WHITE)
pygame.mixer.music.play(-1,0.0)
while Loop: # main game loop
    for event in pygame.event.get():
        if event.type == QUIT:
            Loop = False


        if event.type == MOUSEBUTTONDOWN: #I want it to only detect left click
            egg_rect = resized_egg.get_rect(topleft = (260,150))
            if egg_rect.collidepoint(event.pos):
                totalbal += cps
                totalbalM = prettify(totalbal, '.')
                text = font.render(f'Your total clicks are {totalbalM}', True, WHITE)
                print("Your total clicks are", totalbalM, end="\r")

    #print(pygame.mouse.get_pos()) #to get mouse pos
    screen.blit(background, (0,0))
    screen.blit(text, (235,557))
    screen.blit(resized_egg, (260,150))
    pygame.display.flip()
    pygame.display.update()
    clock.tick(30)

with open("totalbal.txt", "w") as baltotal:
    baltotal.write(str(totalbal))
baltotal.close

pygame.quit()
sys.exit()
MOUSEBUTTONDOWN
生成的对象有两个属性,提供有关鼠标事件的信息
pos
是存储单击位置的元组<代码>按钮存储单击的按钮。对于鼠标左键、鼠标中键、鼠标右键、鼠标滚轮向上、鼠标滚轮向下,按钮属性的值分别为1、2、3、4、5

因此,如果要检测左键单击,需要检查
event.button==1

while循环:#主游戏循环
对于pygame.event.get()中的事件:
如果event.type==退出:
循环=错误
如果event.type==MOUSEBUTTONDOWN:#我希望它只检测左键单击
如果event.button==1:#1==左
egg\u rect=调整大小的\u egg.get\u rect(左上方=(260150))
如果鸡蛋直接碰撞点(事件位置):
总BAL+=cps
totalbalM=美化(totalbal,“.”)
text=font.render(f'您的总点击量为{totalbalM}',True,白色)
打印(“您的点击总数为”,totalbalM,end=“\r”)
# [...]
MOUSEBUTTONDOWN
生成的对象有两个属性,提供有关鼠标事件的信息
pos
是存储单击位置的元组<代码>按钮存储单击的按钮。对于鼠标左键、鼠标中键、鼠标右键、鼠标滚轮向上、鼠标滚轮向下,按钮属性的值分别为1、2、3、4、5

因此,如果要检测左键单击,需要检查
event.button==1

while循环:#主游戏循环
对于pygame.event.get()中的事件:
如果event.type==退出:
循环=错误
如果event.type==MOUSEBUTTONDOWN:#我希望它只检测左键单击
如果event.button==1:#1==左
egg\u rect=调整大小的\u egg.get\u rect(左上方=(260150))
如果鸡蛋直接碰撞点(事件位置):
总BAL+=cps
totalbalM=美化(totalbal,“.”)
text=font.render(f'您的总点击量为{totalbalM}',True,白色)
打印(“您的点击总数为”,totalbalM,end=“\r”)
# [...]