Thread: pygame keystate[KEY] prints out lette more than once
the keystate (keystate = pygame.key.get_pressed()) isn't working way want work instead of print out 1 character on key pressed prints out 4 characters can 1 me fix please?
code:import pygame, sys, string pygame.locals import * def print_text(screen,text_length, (height, width)): pygame.font.init() fontobject = pygame.font.font('fonts/times new roman.ttf',18) img = pygame.image.load('textbox.png') screen.blit(img, (height,width)) pygame.display.flip() k = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p', 'q','r','s','t','u','v','w','x','y','z'] k = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p' ,'q','r','s','t','u','v','w','x','y','z'] r = dict(zip(k,k)) r = dict(zip(k,k)) message = '' while true: fonts = fontobject.render("%s"%message,1 , (0, 0, 0)) keystate = pygame.key.get_pressed() event in pygame.event.get(): if event == pygame.quit: pygame.quit() sys.exit() # loop if char input in r: if len(message) >= text_length: pass elif event.type == keydown: if event.key == ord(r[i]): message += if keystate[k_backspace]: message = message[:-1] elif len(message) >= text_length: pass elif keystate[k_space]: message += ' ' elif keystate[k_semicolon]: message += ';' elif keystate[k_backquote]: message += '`' elif keystate[k_leftbracket]: message += '[' elif keystate[k_rightbracket]: message += ']' elif keystate[k_comma]: message += ',' elif keystate[k_period]: message += '.' elif keystate[k_slash]: message += '/' elif keystate[k_minus]: message += '-' elif keystate[k_equals]: message += '=' elif keystate[k_backslash]: message += '\\' elif keystate[k_quote]: message += "'" elif keystate[k_escape]: pygame.quit() sys.exit() elif keystate[k_return]: return message screen.blit(img, (height,width)) screen.blit(fonts,(height+4, width+6)) pygame.display.flip()
Forum The Ubuntu Forum Community Ubuntu Specialised Support Development & Programming Programming Talk pygame keystate[KEY] prints out lette more than once
Ubuntu
Comments
Post a Comment