0
這裏導入模塊,並宣佈這些變量後,如何我的代碼開始:我點擊的計數器程序不會工作
while True:
pygame.display.flip()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == MOUSEBUTTONDOWN:
dibujarCirculo()
cont += 1
contador = texto.render("Clicks: " + str(cont), 1, green)
ventana.blit(contador, CONT_POS)
pygame.display.update()
當我運行它我得到的屏幕用黑色填充,和一些文字「點擊次數:0 「而當我點擊鼠標,而不是將」點擊次數:1「疊加在零上,它變得一團糟。我的意圖很簡單:當你點擊窗口中的某個地方時,它會在點擊計數器中加1。它實際上也畫了一個圓圈,但這並不重要。
我會發布整個代碼,如果你想看看它。
import sys
import pygame
from pygame.constants import *
pygame.init()
ventana = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Basics")
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
darkBlue = (0, 0, 128)
white = (255, 255, 255)
black = (0, 0, 0)
pink = (255, 200, 200)
cont = 0
CONT_POS = (50, 100)
texto = pygame.font.SysFont("monospace", 15)
def dibujarCirculo():
pos = pygame.mouse.get_pos()
radius = 10
pygame.draw.circle(ventana, white, pos, radius)
cont = 0
while True:
pygame.display.flip()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == MOUSEBUTTONDOWN:
dibujarCirculo()
cont += 1
contador = texto.render("Clicks: " + str(cont), 1, green)
ventana.blit(contador, CONT_POS)
pygame.display.update()
注:這是我第二次我因爲人們被否決毫無理由,也標記後作爲題外話當我試圖解釋我的問題,我知道最好的方式發佈這些...
人們正在downvoting,因爲他們認爲你應該發佈問題之前自己調試。此外,您應該發佈問題仍然存在的最小示例。 – simonzack 2014-09-25 20:59:20
你所看到的是你總是在畫布(ventana)的頂部繪畫,而不是先清除它。我敢打賭,儘管只是在鼠標點擊繪製,圈子還留在屏幕上。 你需要清理屏幕才能繪製到屏幕上(或者在分數上放一個黑色方塊),我會想象。 – Nonnib 2014-09-25 21:06:49