Begin movement rewrite

master
GreenXenith 2020-02-19 11:10:56 -08:00
parent f6e7940c03
commit dd0634858d
2 changed files with 24 additions and 23 deletions

45
game.py
View File

@ -1,8 +1,6 @@
import pygame
import os
import sys
import assets
# Init
@ -42,11 +40,10 @@ tilemap = [
[STONE, STONE, STONE, STONE, STONE, STONE],
]
import controller
from player import Player
player = Player("character.png")
import controller
# Mainloop
time = pygame.time.get_ticks()
while 1:
@ -64,29 +61,33 @@ while 1:
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 column in range(len(tilemap[row])):
texture = assets.get(tilemap[row][column])
tilesize = texture.get_rect().size[0]
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"]))
keys = pygame.key.get_pressed()
pos = player.get_pos()
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)
# Draw player in center of screen
size = player.sprite.texture.get_rect().size
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)])
pygame.display.flip()

View File

@ -13,7 +13,7 @@ class Player:
self.x = x
self.y = y
self.sprite.set_pos(self.x, self.y)
# self.sprite.set_pos(self.x, self.y)
def get_pos(self):
return {"x": self.x, "y": self.y}