forked from CaptainCarmel/python-pygame-platformer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinputstream.py
More file actions
27 lines (25 loc) · 1.05 KB
/
inputstream.py
File metadata and controls
27 lines (25 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pygame
class Keyboard:
def __init__(self):
self.currentKeyStates = None
self.previousKeyStates = None
def processInput(self):
self.previousKeyStates = self.currentKeyStates
self.currentKeyStates = pygame.key.get_pressed()
def isKeyDown(self, keyCode):
if self.currentKeyStates is None or self.previousKeyStates is None:
return False
return self.currentKeyStates[keyCode] == True
def isKeyPressed(self, keyCode):
if self.currentKeyStates is None or self.previousKeyStates is None:
return False
return self.currentKeyStates[keyCode] == True and self.previousKeyStates[keyCode] == False
def isKeyReleased(self, keyCode):
if self.currentKeyStates is None or self.previousKeyStates is None:
return False
return self.currentKeyStates[keyCode] == False and self.previousKeyStates[keyCode] == True
class InputStream:
def __init__(self):
self.keyboard = Keyboard()
def processInput(self):
self.keyboard.processInput()