Skip to main content

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

Popular posts from this blog

Thread: "Broken" background image with Super Key

Thread: unable to set up wifi

Thread: lower arc in openoffice draw