|
|
@@ -0,0 +1,50 @@
|
|
|
+#!/usr/bin/env python
|
|
|
+
|
|
|
+import pygame
|
|
|
+import sys
|
|
|
+
|
|
|
+class Tileset(object):
|
|
|
+ tilesize = 16
|
|
|
+
|
|
|
+ def __init__(self, screen):
|
|
|
+ self.screen = screen
|
|
|
+ self.tileset = pygame.image.load('tileset.png').convert()
|
|
|
+
|
|
|
+ def _render(self, tile_x, tile_y, pos):
|
|
|
+ self.screen.blit(self.tileset, pos, (tile_x, tile_y*self.tilesize, self.tilesize, self.tilesize))
|
|
|
+
|
|
|
+ def render_person(self, pos):
|
|
|
+ self._render(0, 13, pos)
|
|
|
+
|
|
|
+size = width, height = 640, 480
|
|
|
+black = (0, 0, 0)
|
|
|
+
|
|
|
+pygame.init()
|
|
|
+screen = pygame.display.set_mode(size)
|
|
|
+tileset = Tileset(screen)
|
|
|
+pygame.key.set_repeat(100, 100)
|
|
|
+
|
|
|
+render_x = 0
|
|
|
+render_y = 13*16
|
|
|
+while True:
|
|
|
+ keydown = False
|
|
|
+ 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
|
|
|
+
|
|
|
+ screen.fill(black)
|
|
|
+ tileset.render_person((render_x, render_y))
|
|
|
+ pygame.display.flip()
|