【发布时间】:2018-05-17 01:02:43
【问题描述】:
# Import the library PyGame
import pygame; pygame.init()
# Create the window/GUI
global window
window = pygame.display.set_mode((800, 800))
pygame.display.set_caption('Space Invaders')
class sprite:
"""A class that you assign to the a sprite, it has the functions draw() and resize()"""
def __init__(self, fileto):
self.x = 330
self.y = 700
self.width = 100
self.height = 100
self.image = pygame.image.load(fileto).convert()
# Blit the sprite onto the screen, ex: plane.draw()
def draw(self):
window.fill(255)
window.blit(self.image, (self.x, self.y))
self.image = pygame.transform.scale(self.image, (self.width, self.height))
pygame.display.flip()
bakgrunn = pygame.image.load("stars.png").convert()
# Assign the variable plane to the class "sprite"
plane = sprite("plane.gif")
projectile = sprite("projectile.png")
while True:
# Draw the plane and set the size
plane.draw()
plane.width = 100
plane.height = 100
projectile.draw()
我正在 PyGame 中制作 Space Invaders 游戏,但是当我尝试绘制射弹时,它会覆盖/更改主精灵(平面)。我该如何解决这个问题,以便我可以在屏幕上显示多个精灵?
【问题讨论】:
-
旁注:添加一个事件循环(参见section 5.5 of Program Arcade Games)或每帧调用
pygame.event.pump(),否则应用程序将在一段时间后冻结。