2012-12-13 55 views
0

我有一個問題,並不知道如何解釋這個錯誤。我有我想移動的圖像,這是代碼:僅當鼠標移動時纔會移動圖像,爲什麼? Python3 + pygame

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import pygame 
import random 

pygame.init() 
size=[800,600] 
screen=pygame.display.set_mode(size) 
pygame.display.set_caption("Sub Dice") 

background_position=[0,0] 
background_image=pygame.image.load('Gfx/Table.png').convert() 
card=pygame.image.load('Gfx/Deck1card01.png').convert_alpha() 
card=pygame.transform.smoothscale(card,(130,182)) 
closeDeckShirt=pygame.image.load('Gfx/CardBack.png').convert_alpha() 

SETFPS=30 
zx=0 
zy=0 

done=False 
clock=pygame.time.Clock() 

while done==False: 
    clock.tick(SETFPS) 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      done=True 

     if event.type == pygame.MOUSEBUTTONDOWN: 
      print('a') 


     screen.blit(background_image, background_position) 
     screen.blit(card,[zx,zy]) 
     zx=zx+2 
     zy=zy+2 
     pygame.display.flip() 

pygame.quit() 

的問題是,只有圖像移動,當我點擊或移動鼠標。如果我不觸摸鼠標,圖像靜止不動。但在移動每一幀(1/30秒)。

任何人都可以解釋我做錯了什麼?

回答

3

您正在翻閱事件循環。這意味着您正在更新每個生成事件的屏幕。你不想那樣。

Here's a boilerplate.

的要點是你:

for event in events: 
    #handle them 
draw() 
pygame.display.flip() 
+0

是的!你是對的!!!謝謝!!! – RedSubmarine

相關問題