Попытка сделать стрелок сверху вниз на Pygame и испытывать проблемы, пытаясь выяснить, как прокрутить карту, когда игрокPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Попытка сделать стрелок сверху вниз на Pygame и испытывать проблемы, пытаясь выяснить, как прокрутить карту, когда игрок

Сообщение Anonymous »

в настоящее время пытаюсь сделать игру «Вперед», но у меня возникают небольшие проблемы, пытаясь выяснить, как переместить карту, когда персонаж движется (вверх, вниз, влево и справа). Я хочу, чтобы карта всегда заполняла экран, но когда символ перемещается, карта будет двигаться вместе с ней. Я посмотрел в Интернете, пытаясь найти некоторые решения, но с трудом пытался внедрить их в свою собственную программу.import pygame
pygame.display.set_caption("TEST")

clock = pygame.time.Clock()

class Player():

def __init__(self,x,y):
self.Image = pygame.image.load("myAvatar.png").convert()

self.rect = self.Image.get_rect(topleft = (x,y))

def getX(self):
return self.rect.x

def getY(self):
return self.rect.y

def handle_keys(self,screenHeight,screenWidth):
key = pygame.key.get_pressed()
dist = 1

if key[pygame.K_DOWN]:
self.rect.y += dist
if self.rect.y > screenHeight:
self.rect.y = screenHeight

elif key[pygame.K_UP]:
self.rect.y -= dist
if self.rect.y < 0:
self.rect.y = 0
if key[pygame.K_RIGHT]:
self.rect.x += dist
if self.rect.x > screenWidth:
self.rect.x = screenWidth
elif key[pygame.K_LEFT]:
self.rect.x -= dist
if self.rect.x < 0:
self.rect.x = 0

def draw(self, game_window,screenX,screenY):
self.Image = pygame.transform.scale(self.Image,(20,20))
game_window.blit(self.Image, (screenX, screenY))

class Map():
def __init__(self):
self.Image = pygame.image.load("testbackground.jpg").convert()
self.rect = self.Image.get_rect()
self.rect.x = 0
self.rect.y = 0

def getX(self):
return self.rect.x

def getY(self):
return self.rect.y

def setX(self,newX):
self.rect.x = newX

def setY(self,newY):
self.rect.y = newY

def draw(self, game_window,screenX,screenY):
self.Image = pygame.transform.scale(self.Image,(800,800))
game_window.blit(self.Image,(screenX, screenY))

class Enemy():

def __init__ (self,x,y):
self.Image = pygame.image.load("WC.jpg").convert()
self.rect = self.Image.get_rect(topleft = (x,y))

def draw(self, game_window):
self.Image = pygame.transform.scale(self.Image,(20,20))
game_window.blit(self.Image, (self.rect.x, self.rect.y))

pygame.init()

clock = pygame.time.Clock()
screenWidth = 400
screenHeight = 400
game_window = pygame.display.set_mode((screenWidth,screenHeight))
player = Player(200,200)
map = Map()
enemy = Enemy(250,250)
leave = False
while not leave:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
running = False

playerX = player.getX()
playerY = player.getY()

mapX = map.getX()
mapY = map.getY()

screenX = playerX - (screenWidth/2)
if screenX < 0:
screenX = 0
if screenX > (mapX - screenWidth):
screenX = (mapX - screenWidth)

screenY = playerY - (screenHeight/2)
if screenY < 0:
screenY = 0
if screenY > (mapY - screenHeight):
screenY = (mapY - screenHeight)

player.handle_keys(screenHeight,screenWidth)

map.draw(game_window,screenX,screenY)
enemy.draw(game_window)
player.draw(game_window,screenX,screenY)
pygame.display.update()
pygame.display.flip()
clock.tick(60)

pygame.quit()
quit()


Подробнее здесь: https://stackoverflow.com/questions/676 ... -to-figure
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Unity - 2D-игрок сверху вниз странно поворачивается лицом к мыши
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Коллизии игры Pygame сверху вниз [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Создание камеры в pygame (сверху вниз)
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Создание камеры в pygame (сверху вниз) [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Мой игрок все еще находится в режиме скалолазания, когда игрок бежит с лестницы
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»