2
私は、pygameでクラスを作成してスプライトオブジェクトを作成しています。回転させたいと思います。画像とうまく動作し、問題なく回転します。しかし、プレーンカラーでサーフェスを回転させると、ボックスは拡大して縮小するように見えます。これは、内部の四角形の頂点に合わせてサーフェスがサイズ変更された結果であることがわかりますが、どのように停止しますか?私は視覚的な回転を見たいと思います。pygameのサーフェスをその形状を変えずに回転する方法
私が直面している問題を示すためのサンプルコードを作成しました。実行すると、ボックスのサイズが単純に変更されます。
import sys, pygame
from pygame.locals import *
pygame.init()
SCREEN = pygame.display.set_mode((200, 200))
CLOCK = pygame.time.Clock()
surface = pygame.Surface((50 , 50))
surface.fill((0, 0, 0))
rotated_surface = surface
rect = surface.get_rect()
angle = 0
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
SCREEN.fill((255, 255, 255))
angle += 5
rotated_surface = pygame.transform.rotate(surface, angle)
rect = rotated_surface.get_rect(center = (100, 100))
SCREEN.blit(rotated_surface, (rect.x, rect.y))
pygame.display.update()
CLOCK.tick(30)
サーフェスをどのように回転させるにはどうすればよいですか?
助けていただけたら幸いです!