Dec-15-2020, 11:53 AM
My code is now:
import pygame from pygame.locals import * import time class Print: """Draw text to the screen.""" # text is editable with the keyboard # options for font and background colour BLACK = (0, 0, 0) RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255) GRAY = (200, 200, 200) pygame.init() screen = pygame.display.set_mode((640, 240)) # creates a screen 640 x 240 pixels in size sysfont = pygame.font.get_default_font() print('system font :', sysfont) text = 'This text is editable' font = pygame.font.SysFont(None, 24) img = font.render(text, True, RED) rect = img.get_rect() running = True background = GRAY while running: for event in pygame.event.get(): if event.type == QUIT: running = False if event.type == KEYDOWN: if event.key == K_BACKSPACE: if len(text)>0: # if length of text is > 0 text = text[:-1] # delete the last letter in the string else: text += event.unicode # else add the letter to the end of the string img = font.render(text, True, RED) rect.size=img.get_size() cursor.topleft = rect.topright screen.fill(background) screen.blit(img, (20, 20)) pygame.display.update() pygame.quit()and I'm still getting this error:
Error:File "c:\Users\djwil\Documents\python\python crash course\Projects\Alien invasion\print.py", line 39, in Print
text += game_event.unicode
AttributeError: 'Event' object has no attribute 'unicode'
PS C:\Users\djwil\Documents\python\learning python>