80 lines
2.1 KiB
Python
80 lines
2.1 KiB
Python
import pygame
|
|
|
|
pygame.init()
|
|
|
|
screen = pygame.display.set_mode((1920, 1015))
|
|
pygame.display.set_caption("Game_name")
|
|
|
|
clock = pygame.time.Clock()
|
|
dt = 0
|
|
|
|
player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)
|
|
|
|
floor_image = pygame.transform.scale(pygame.image.load("Floor.png").convert_alpha(), (30, 30))
|
|
|
|
#class Player(pygame.sprite.Sprite):
|
|
#def __init__(self, size, pos, walls)
|
|
|
|
player = pygame.transform.scale(pygame.image.load("Player.png").convert_alpha(), (25, 30))
|
|
|
|
running = True
|
|
|
|
while running:
|
|
for event in pygame.event.get():
|
|
if event.type == pygame.QUIT:
|
|
running = False
|
|
|
|
screen.fill("cyan")
|
|
for j in range(10,20):
|
|
for i in range(26,38):
|
|
screen.blit(floor_image, (30*i, 30*j))
|
|
screen.blit(player, (player_pos.x, player_pos.y))
|
|
|
|
keys = pygame.key.get_pressed()
|
|
if keys[pygame.K_w]:
|
|
player_pos.y -= 200 * dt
|
|
if keys[pygame.K_s]:
|
|
player_pos.y += 200 * dt
|
|
if keys[pygame.K_a]:
|
|
player_pos.x -= 200 * dt
|
|
if keys[pygame.K_d]:
|
|
player_pos.x += 200 * dt
|
|
|
|
|
|
pygame.display.flip()
|
|
|
|
dt = clock.tick(60)/1000
|
|
|
|
|
|
|
|
|
|
|
|
class Camera:
|
|
def __init__(self, player, size=(400, 300)):
|
|
self.player = player
|
|
self.center = pygame.display.get_surface().get_rect().center
|
|
self.size = size
|
|
self.player_size = self.player.rect.size
|
|
self.speed_x = 0
|
|
self.speed_y = 0
|
|
|
|
def update(self, dt, sprites):
|
|
x_move = abs(self.player.rect.centerx - self.center[0]) > self.size[0] // 2
|
|
y_move = abs(self.player.rect.centery - self.center[1]) > self.size[1] // 2
|
|
if x_move or y_move:
|
|
for sprite in sprites:
|
|
if x_move:
|
|
self.speed_x = (self.player.rect.centerx - self.center[0]) * 2 * dt
|
|
sprite.rect.x -= self.speed_x
|
|
if y_move:
|
|
self.speed_y = (self.player.rect.centery - self.center[1]) * 2 * dt
|
|
sprite.rect.y -= self.speed_y
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pygame.quit() |