我是python的新手并试图用旋转的船进行游戏。然而,旋转后,船只消失了。我打印了三个点的坐标,应该出现在屏幕上。有人知道我的代码有什么问题吗?
这是旋转船只的代码:
radius = self.width / 2
self.angle += da
center = [self.pos[0] + radius, self.pos[1] + radius]
for point in self.points:
dx = int(math.cos(self.angle) * radius)
dy = int(math.sin(self.angle) * radius)
point[0] = center[0] + dx
point[1] = center[1] + dy
这是绘制屏幕的代码:
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
self.ship.move(self)
if keys[pygame.K_RIGHT]:
self.ship.rotate(0.08)
if keys[pygame.K_LEFT]:
self.ship.rotate(-0.08)
self.display.fill(self.bgcolor)
self.ship.draw(self.display)
pygame.display.update()
self.fpsclock.tick(self.fps)
答案 0 :(得分:0)
看看这段代码:
for point in self.points:
dx = int(math.cos(self.angle) * radius)
dy = int(math.sin(self.angle) * radius)
point[0] = center[0] + dx
point[1] = center[1] + dy
请注意,您没有使用任何点,只需设置它即可。假设self.points是组成船舶的点的列表,我认为只要碰到这个代码,你的船就会折叠成一个点。