Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PYTHON] problema eventi da tastiera con pygame...

    salve a tutti,
    presumendo che io sono un niubbo, volevo porvi un problema che ho con le librerie Pygame e in generale con Python...
    vi posto il codice:

    import sys, pygame
    from pygame.locals import *

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

    player1 = pygame.image.load('player.bmp').convert()
    player2 = pygame.image.load('player2.bmp').convert()

    #=================================================

    def mouse_click(img):
    #img => parametro immagine
    #rileva la pressione di un qualsiasi bottone del
    #mouse e al suo rilascio disegna l'immagine passata
    #come parametro "img" nella coordinate x y del mouse
    #nel momento del rilascio
    for e in pygame.event.get():
    if e.type == MOUSEBUTTONUP:
    #print 'mouseup'
    xy = pygame.mouse.get_pos()
    screen.blit(img, (xy))
    if e.type == KEYDOWN and e.key == K_ESCAPE:
    sys.exit()

    pygame.display.update()

    #================================================= =
    img = player1
    while 1: #ciclo infinito
    keys = pygame.key.get_pressed()
    if keys[K_SPACE]:
    if img == player1:
    img = player2
    else:
    img = player1

    mouse_click(img)


    detto fatto... il problema stà che quando avvio il programma non sempre mi rileva l'evento K_SPACE e quindi non mi cambia l'immagine , penso che questo sia dovuto al fatto che non premo SPAZIO contemporaneamente con l'istruzione "if keys[K_SPACE]:" ...
    potete aiutarmi a risolvere questo problemuccio???
    grazie in anticipo a tutti coloro che mi risponderanno

  2. #2
    Domande così specifiche in genere è meglio chiederle sui forum/ml della libreria stessa (pygame).
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  3. #3
    Probabilmente hai ragione... Ma dato che e' grazie a Html che ora conosco il Python mi sono detto magari qualcuno puo' saperlo... Comunque grazie lo stesso
    Se ti viene in mente qualcosa fammelo sapere

  4. #4

    ho risolto il problema, praticamente ho spostato tutta la gestione degli eventi nel ciclo while loop

    qui posto il codice "corretto"

    import sys, pygame
    from pygame.locals import *

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

    player1 = pygame.image.load('player.bmp').convert()
    player2 = pygame.image.load('player2.bmp').convert()

    #=================================================

    def mouse_click(img):
    #img => parametro immagine
    #disegna il parametro "img" passatogli nelle
    #coordinate x y del mouse
    xy = pygame.mouse.get_pos()
    screen.blit(img, (xy))

    #================================================= =
    img = player1
    while 1: #ciclo infinito
    keys = pygame.key.get_pressed()
    if keys[K_SPACE]:
    if img == player1:
    img = player2
    else:
    img = player1
    pygame.time.delay(100)
    for e in pygame.event.get():
    if e.type == MOUSEBUTTONDOWN:
    mouse_click(img)
    if e.type == KEYDOWN and e.key == K_ESCAPE:
    sys.exit()

    pygame.display.update()


    spero di essere di aiuto a qualcun'altro con il mio stesso problema
    ciao a tutti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.