feat(text_input): add event handler function (mouse and keyboard input)
This commit is contained in:
+20
-3
@@ -9,7 +9,7 @@ class TextInput:
|
|||||||
# input text
|
# input text
|
||||||
self.text = ""
|
self.text = ""
|
||||||
|
|
||||||
self.active = True
|
self.active = False
|
||||||
|
|
||||||
# colors
|
# colors
|
||||||
self.text_color = (255, 255, 255)
|
self.text_color = (255, 255, 255)
|
||||||
@@ -18,8 +18,25 @@ class TextInput:
|
|||||||
self.background_color = (30, 30, 30)
|
self.background_color = (30, 30, 30)
|
||||||
|
|
||||||
def handle_event(self, event):
|
def handle_event(self, event):
|
||||||
# todo check keyboard input events
|
# check if mouse click event on text input box
|
||||||
pass
|
if event.type == pygame.MOUSEBUTTONDOWN:
|
||||||
|
if self.rect.collidepoint(event.pos):
|
||||||
|
self.active = True
|
||||||
|
else:
|
||||||
|
self.active = False
|
||||||
|
|
||||||
|
# check for keyboard input
|
||||||
|
if event.type == pygame.KEYDOWN and self.active:
|
||||||
|
# enter will submit and exit input box
|
||||||
|
if event.key == pygame.K_RETURN:
|
||||||
|
self.active = False
|
||||||
|
|
||||||
|
# backspace will delete last character
|
||||||
|
elif event.key == pygame.K_BACKSPACE:
|
||||||
|
self.text = self.text[:-1]
|
||||||
|
# other characters will be added to the string
|
||||||
|
else:
|
||||||
|
self.text += event.unicode
|
||||||
|
|
||||||
def draw(self, screen):
|
def draw(self, screen):
|
||||||
# draw background of input box
|
# draw background of input box
|
||||||
|
|||||||
Reference in New Issue
Block a user