pygame.image.load()
Только загрузить изображение. Возможно, вам придется определить размер изображения с помощью
pygame.transform.scale()
если разрешение вашего изображения уже определено, оно вам не понадобится, и вы можете использовать две переменные, чтобы указать ширину и высоту вашего изображения.
В питоне позиции X и Y начинаются сверху слева. Таким образом, верхний левый угол вашего окна будет (0,0), а нижний правый будет (window_width, window_height). Это то же самое для всего вашего элемента в вашем коде.
Этот код печатает центр спрайта (или любое изображение):
import pygame
pygame.init()
display_width = 800 #define size of window
display_height = 600
img_pos_x = 100 #define position of image
img_pos_y= 100
img_size_x = 40 #define size of image
img_size_y = 40
img = pygame.image.load("image.png") #load image
img = pygame.transform.scale(img,(img_size_x,img_size_y)) #resize image
screen = pygame.display.set_mode((display_width, display_height)) #display window
gameExit = False
screen.blit(img, (img_pos_x,img_pos_y)) #display image
img_center = (img_pos_x + img_size_x/2, img_pos_y + img_size_y/2) #find image center
while not gameExit:
for event in pygame.event.get(): #define what to do when game not quit
if event.type == pygame.QUIT:
gameExit = True
pygame.quit()
quit()
print(img_center) #print coordinates of image center
Этот код может быть изменен для различного использования, только для того, чтобы показать, как он работает. Надеюсь, вы понимаете, о чем я.
РЕДАКТИРОВАТЬ: для уточнения и исправления
эта строка:
img_center = (img_pos_x + img_size_x/2, img_pos_y + img_size_y/2)
найти верхнюю левую координату (x, y) изображения, верхняя правая - это x + ширина изображения, поэтому середина будет равна половине ширины изображения, и мы найдем среднюю координату, добавив половину ширины изображения к верхней левой координате. То же самое для координаты Y, оба (X, Y) будут указывать на середину любого изображения.