如何解决旋转表面并保持质量 - pygame
我正在 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 举报,一经查实,本站将立刻删除。