Можете ли вы сделать так, чтобы игровой дисплей появлялся в центре экрана после нажатия кнопки «Run». Если да, то как? - PullRequest
2 голосов
/ 23 апреля 2020
#enable pygame mode
import pygame
pygame.init()

#create screen
screen = pygame.display.set_mode((1000,600))

#Title + Logo
pygame.display.set_caption("Space Invader")
icon = pygame.image.load("chicken.png")
pygame.display.set_icon(icon)

#Player icon
player_icon = pygame.image.load("spaceship.png")
playerX = 400
playerY = 500

player_changeX = 0
player_changeY = 0

def player(x, y):
    screen.blit(player_icon, (x, y))


surface.blit(image,((1920/2)-(image.get_width()/2),(1080/2)- 
   (image.get_height()/2)))



#game loop
running = True
while running:

    # backround colour  RGB
    screen.fill((0, 0, 0))


    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        #If key pressed check wether its right or left
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                player_changeX = -1
            if event.key == pygame.K_RIGHT:
                player_changeX = 1
            if event.key == pygame.K_UP:
                player_changeY = -1
            if event.key == pygame.K_DOWN:
                player_changeY = 1
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key ==pygame.K_RIGHT:
            player_changeX = 0
        if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
            player_changeY = 0
# If player reaches boarder
    if playerX >= 936:
        player_changeX = -1
    if playerX <= 0:
        player_changeX = 1
    if playerY <= 0:
        player_changeY = 1
    if playerY >= 550:
        player_changeY = -1


#Player change in coordinates
    playerX += player_changeX
    playerY += player_changeY

    player(playerX, playerY)
    pygame.display.update()

Я создаю простую игру, поскольку я только начал заниматься программированием, и мне было интересно, можно ли сделать так, чтобы игровой экран отображался в центре вашего собственного экрана, а когда я запускаю его, он продолжает появляться в нижней части моего экрана. экран, и я должен вручную переместить его в центр. Если вы можете, пожалуйста, скажите мне, как. Надеюсь, мой вопрос был сформирован достаточно хорошо. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 23 апреля 2020

Это зависит; если это изображение, которое вы можете сделать:

surface.blit(image,((screenwidth/2)-(image.get_width()/2),(screenheight/2)-(image.get_height()/2)))

Пожалуйста, скажите мне, что это другое

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...