В моей игре Battle Ship, я пытаюсь переместить корабль при нажатии клавиш со стрелками. Мой корабль состоит из пятигранного многоугольника и пяти линий, граничащих с ним. Я очистил сеть за способы ее перемещения, но я только нахожу способы сделать прямоугольные и квадратные движения. Ниже мой код (без каких-либо попыток при перемещении судна):Как перенести непрямоугольные объекты в Pygame?
import pygame,sys
from pygame.locals import *
pygame.init()
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
yellow = (255,242,0)
ship_body = (33, 117, 243)
screen = pygame.display.set_mode((500,500))
pygame.display.set_caption("Battle Ship")
background = pygame.image.load("Sky Background.png")
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
screen.blit(background, (0,0))
ship = [
pygame.draw.polygon(screen, ship_body,((100,50),(180,95),(320,95),(400,50),(250,35))),
pygame.draw.line(screen, black, (100,50),(180,95),1),
pygame.draw.line(screen, black, (180,95),(320,95),1),
pygame.draw.line(screen, black, (320,95),(400,50),1),
pygame.draw.line(screen, black, (400,50),(250,35),1),
pygame.draw.line(screen, black, (250,35),(100,50),1),
]
pygame.display.update()
Я уверен, что в Pygame вы можете нарисовать эти линии на новую поверхность, а затем просто разбить ее туда, куда вы хотите. Это лучший метод ИМО. – user161778