Salut !,
je suis sur un projet de jeu video avec pygame seulement les touchez a,b,c etc ne marche pas pourtant je marque bien par exemple K_a.
vous auriez une idée de ce qui cloche ?
merci d'avance
# -*- coding: cp1252 -*-
import os
import pygame
from pygame.locals import *
os.chdir("C:\Users\RABAH\Documents\journée irlandaise\image")
pygame.init()
fen=pygame.display.set_mode((840,680),RESIZABLE)
fond=pygame.image.load("orion1.jpg").convert()
fen.blit(fond,(0,0))
onglet_jouer=pygame.image.load("jouer_2.gif").convert()
fen.blit(onglet_jouer,(0,0))
pygame.display.flip()
continuer=1
while continuer:
menu=1
jeu=1
while menu:
pygame.time.Clock().tick(30)
for event in pygame.event.get():
if event.type==QUIT:
menu=0
continuer=0
jeu=0
if event.type==KEYDOWN:
if event.key==K_a:
onglet_jouer=pygame.image.load("jouer_1.gif").convert()
fen.blit(fond,(0,0))
fen.blit(onglet_jouer,(0,0))
pygame.display.flip()
if menu==0 and jeu==1:
fond=pygame.image.load("background.jpg").convert()
fen.blit(fond,(0,0))
pygame.display.flip()
tu as peut-être un clavier exotique.
essayes ce code et dis-moi si le résultat est cohérent.
import pygame
pygame.font.init()
from pygame.locals import *
fen=pygame.display.set_mode((250,100),RESIZABLE)
font = pygame.font.Font(None,16)
pygame.display.update(fen.blit(font.render("appuyez sur la touche 'a' code = "+str(K_a),1,(200,200,200)),(20,20)))
while True:
ev = pygame.event.wait()
if ev.type == KEYDOWN:
pygame.display.update(fen.blit(font.render("code de la touche enfoncee = "+str(ev.key),1,(200,200,200),(0,0,0)),(20,30)))
break
pygame.time.wait(5000)
Je suis sur windows et sur linux,je vais essayer avec myevent.get() a la place de pygame.event.get()
je te dit si ça marche merci pour ton aide
après y pas 36000 lettres qui changent.
dans le code qui suit je n'ai redéfinis que le 'q' ...
import pygame
class myevent:
mykey = {113:{'key':97,'unicode':'a'}} # redefinir ici les touches qui changent
@staticmethod
def get():
output = []
for ev in pygame.event.get():
if ev.type in (pygame.KEYUP,pygame.KEYDOWN):
output.append(pygame.event.Event(ev.type,myevent.mykey.setdefault(ev.key,ev.dict)))
else:
output.append(ev)
return output
scr = pygame.display.set_mode((200,200))
while 1:
for ev in myevent.get():
if ev.type == pygame.KEYDOWN: print(ev.key,ev.unicode)
c'est bon apparemment ça marche!
merci pour ton aide
probleme avec clavier -pygame
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.