Begin movement rewrite
This commit is contained in:
parent
f6e7940c03
commit
dd0634858d
45
game.py
45
game.py
@ -1,8 +1,6 @@
|
|||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import assets
|
import assets
|
||||||
|
|
||||||
# Init
|
# Init
|
||||||
@ -42,11 +40,10 @@ tilemap = [
|
|||||||
[STONE, STONE, STONE, STONE, STONE, STONE],
|
[STONE, STONE, STONE, STONE, STONE, STONE],
|
||||||
]
|
]
|
||||||
|
|
||||||
|
import controller
|
||||||
from player import Player
|
from player import Player
|
||||||
player = Player("character.png")
|
player = Player("character.png")
|
||||||
|
|
||||||
import controller
|
|
||||||
|
|
||||||
# Mainloop
|
# Mainloop
|
||||||
time = pygame.time.get_ticks()
|
time = pygame.time.get_ticks()
|
||||||
while 1:
|
while 1:
|
||||||
@ -64,29 +61,33 @@ while 1:
|
|||||||
|
|
||||||
screen.fill((0, 0, 0))
|
screen.fill((0, 0, 0))
|
||||||
|
|
||||||
|
# Handle controls _before_ drawing
|
||||||
|
pos = player.get_pos()
|
||||||
|
|
||||||
|
if controller.is_down("up"):
|
||||||
|
player.set_pos(pos["x"], pos["y"] - 10 * dtime)
|
||||||
|
|
||||||
|
if controller.is_down("down"):
|
||||||
|
player.set_pos(pos["x"], pos["y"] + 10 * dtime)
|
||||||
|
|
||||||
|
if controller.is_down("left"):
|
||||||
|
player.set_pos(pos["x"] - 10 * dtime, pos["y"])
|
||||||
|
|
||||||
|
if controller.is_down("right"):
|
||||||
|
player.set_pos(pos["x"] + 10 * dtime, pos["y"])
|
||||||
|
|
||||||
|
# Draw the map based on player position
|
||||||
|
pos = player.get_pos()
|
||||||
|
print(pos)
|
||||||
for row in range(len(tilemap)):
|
for row in range(len(tilemap)):
|
||||||
for column in range(len(tilemap[row])):
|
for column in range(len(tilemap[row])):
|
||||||
texture = assets.get(tilemap[row][column])
|
texture = assets.get(tilemap[row][column])
|
||||||
tilesize = texture.get_rect().size[0]
|
tilesize = texture.get_rect().size[0]
|
||||||
screen.blit(pygame.transform.scale(texture, (SCALE * tilesize, SCALE * tilesize)),
|
screen.blit(pygame.transform.scale(texture, (SCALE * tilesize, SCALE * tilesize)),
|
||||||
(column * SCALE * tilesize, row * SCALE * tilesize))
|
(column * SCALE * tilesize - pos["x"], row * SCALE * tilesize - pos["y"]))
|
||||||
|
|
||||||
|
# Draw player in center of screen
|
||||||
keys = pygame.key.get_pressed()
|
size = player.sprite.texture.get_rect().size
|
||||||
pos = player.get_pos()
|
screen.blit(pygame.transform.scale(player.sprite.texture, (SCALE * tilesize, SCALE * tilesize)), [display.current_w / 2 - (size[0] / 2 * SCALE), display.current_h / 2 - (size[1] / 2 * SCALE)])
|
||||||
|
|
||||||
if controller.is_down("up"):
|
|
||||||
player.set_pos(pos["x"], pos["y"] - 10)
|
|
||||||
|
|
||||||
if controller.is_down("down"):
|
|
||||||
player.set_pos(pos["x"], pos["y"] + 10)
|
|
||||||
|
|
||||||
if controller.is_down("left"):
|
|
||||||
player.set_pos(pos["x"] - 10, pos["y"])
|
|
||||||
|
|
||||||
if controller.is_down("right"):
|
|
||||||
player.set_pos(pos["x"] + 10, pos["y"])
|
|
||||||
|
|
||||||
screen.blit(pygame.transform.scale(player.sprite.texture, (SCALE * tilesize, SCALE * tilesize)), player.sprite.rect)
|
|
||||||
|
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user