|
|
@@ -18,32 +18,44 @@ class Tileset(object):
|
|
|
|
|
|
size = width, height = 640, 480
|
|
|
black = (0, 0, 0)
|
|
|
+render_x = 0
|
|
|
+render_y = 13*16
|
|
|
|
|
|
pygame.init()
|
|
|
screen = pygame.display.set_mode(size)
|
|
|
tileset = Tileset(screen)
|
|
|
-pygame.key.set_repeat(100, 100)
|
|
|
+clock = pygame.time.Clock()
|
|
|
+
|
|
|
+keys = {
|
|
|
+ pygame.K_LEFT: False,
|
|
|
+ pygame.K_RIGHT: False,
|
|
|
+ pygame.K_UP: False,
|
|
|
+ pygame.K_DOWN: False,
|
|
|
+}
|
|
|
+def handle_event(event):
|
|
|
+ if event.type == pygame.KEYDOWN:
|
|
|
+ if event.key in keys.iterkeys():
|
|
|
+ keys[event.key] = True
|
|
|
+ elif event.type == pygame.KEYUP:
|
|
|
+ if event.key in keys.iterkeys():
|
|
|
+ keys[event.key] = False
|
|
|
+ elif event.type == pygame.QUIT:
|
|
|
+ sys.exit()
|
|
|
|
|
|
-render_x = 0
|
|
|
-render_y = 13*16
|
|
|
while True:
|
|
|
- keydown = False
|
|
|
+ clock.tick(60)
|
|
|
for event in pygame.event.get():
|
|
|
- if event.type == pygame.KEYDOWN:
|
|
|
- keydown = True
|
|
|
- elif event.type == pygame.QUIT:
|
|
|
- sys.exit()
|
|
|
-
|
|
|
- if keydown:
|
|
|
- pressed_keys = pygame.key.get_pressed()
|
|
|
- if pressed_keys[pygame.K_RIGHT]:
|
|
|
- render_x += 16
|
|
|
- if pressed_keys[pygame.K_LEFT]:
|
|
|
- render_x -= 16
|
|
|
- if pressed_keys[pygame.K_DOWN]:
|
|
|
- render_y += 16
|
|
|
- if pressed_keys[pygame.K_UP]:
|
|
|
- render_y -= 16
|
|
|
+ handle_event(event)
|
|
|
+
|
|
|
+ SPEED = 4
|
|
|
+ if keys[pygame.K_RIGHT]:
|
|
|
+ render_x += SPEED
|
|
|
+ if keys[pygame.K_LEFT]:
|
|
|
+ render_x -= SPEED
|
|
|
+ if keys[pygame.K_DOWN]:
|
|
|
+ render_y += SPEED
|
|
|
+ if keys[pygame.K_UP]:
|
|
|
+ render_y -= SPEED
|
|
|
|
|
|
screen.fill(black)
|
|
|
tileset.render_person((render_x, render_y))
|