大家好,我想知道我是否可以对此有所帮助。我正在学习python中的课程,并尝试将其合并到当前的uni项目中。
所以下面是该类的代码以及它使用的一些变量
class Asteroid():
def __init__(self, char, startX, startY):
self.char = char
self.startX = startX
self.startY = startY
self.drawChar()
def drawChar (self):
self.space = pygame.image.load (self.char)
self.space = self.space.convert_alpha()
gameDisplay.blit(self.space,
(random.randint(0,display_width),
random.randint(0,display_height)))
基本上,此类包含了我需要在“ Asteroids”中加载的所有数据。
以下是实际使用该类的主要代码的一部分:
Asteroid(random.choice(asteroid),200,300 )
以下也是变量
asteroid
的代码:asteroid = [
'Sprites/Asteroid1.png',
'Sprites/Asteroid2.png',
'Sprites/Asteroid3.png']
因此,发生的实际问题是,当我运行代码时,小行星会发火到表面,但是它们到处都是跳跃。不仅如此,而且正在给不同的小行星上水,而不是选择一颗小行星。为什么会这样呢?
另外,小行星也有白色背景,我尝试将其转换,但这无济于事。
最佳答案
因为你告诉。代码
gameDisplay.blit(self.space,
(random.randint(0,display_width),
random.randint(0,display_height)))
字面意思是“将图像随机放置在显示器上”。具体来说,
random.randint(0,...)
选择从零到屏幕大小的随机位置。请记住,每次需要更新屏幕时(不仅是在您启动游戏时),都会调用此显示代码。要显示静态坐标,请将坐标设为静态:
gameDisplay.blit(self.space, (self.startX, self.startY))
关于python - pygame |流血的图像不断在各处跳跃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40554286/