问题描述
我正在 pygame 中制作游戏,并尝试使用 rotozoom 方法使图像在按下“a”键时向左旋转。它确实有效并且图像会旋转,但是,几秒钟后它似乎质量下降,最终游戏崩溃。我找不到解决方案。如何使图像不丢失质量?任何帮助将不胜感激。
import pygame
pygame.init()
clock = pygame.time.Clock()
# Screen setup
screen_width = 600
screen_height = 600
screen = pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption("Jet fighter Game")
# Colors
black = (0,0)
white = (255,255,255)
grey = (100,100,100)
# Classes
class PLAYER1:
def __init__(self):
self.jetSurface = pygame.image.load("player1 - blackJet.png")
self.x = 100
self.y = 100
self.jetRect = self.jetSurface.get_rect(center = (self.x,self.y))
self.angle = 20
def displayJet(self):
screen.blit(self.jetSurface,self.jetRect)
def moveJet(self):
key = pygame.key.get_pressed()
if key[pygame.K_a]:
self.angle = 20
self.jetSurface = pygame.transform.rotozoom(self.jetSurface,self.angle,1)
self.jetRect = self.jetSurface.get_rect(center=(self.x,self.y))
class PLAYER2:
pass
class BULLET1:
pass
class BULLET2:
pass
class MAIN:
def __init__(self):
self.player1 = PLAYER1()
def displayImages(self):
self.player1.displayJet()
def moveJets(self):
self.player1.moveJet()
main = MAIN()
# Main loop
run = True
while run:
# Checking for events
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# Drawing on screen
screen.fill(grey)
main.displayImages()
# Movement and Collisions
main.moveJets()
pygame.display.flip()
clock.tick(60)
pygame.quit()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)