Эх сурвалжийг харах

handle ESC and quit better

raylu 12 жил өмнө
parent
commit
6ed6865d9b
1 өөрчлөгдсөн 12 нэмэгдсэн , 8 устгасан
  1. 12 8
      troll

+ 12 - 8
troll

@@ -1,7 +1,5 @@
 #!/usr/bin/env python
 
-import sys
-
 import pygame
 
 from tileset import Tileset
@@ -22,19 +20,25 @@ keys = {
 	pygame.K_UP: False,
 	pygame.K_DOWN: False,
 }
-
-direction = Tileset.RIGHT
-while True:
-	clock.tick(60)
-	for event in pygame.event.get():
+def handle_events(events):
+	for event in events:
 		if event.type == pygame.KEYDOWN:
 			if event.key in keys.iterkeys():
 				keys[event.key] = True
+			elif event.key == pygame.K_ESCAPE:
+				return True
 		elif event.type == pygame.KEYUP:
 			if event.key in keys.iterkeys():
 				keys[event.key] = False
 		elif event.type == pygame.QUIT:
-			sys.exit()
+			return True
+
+direction = Tileset.RIGHT
+while True:
+	clock.tick(60)
+	if handle_events(pygame.event.get()):
+		pygame.quit()
+		break
 
 	new_direction = character.frame(keys)
 	if new_direction is not None: