1
私は、pygameを使用して画面に大きな半径の円を描きたいと思います。私は表示面(screen
)よりも大きいsurface1
というサーフェスを定義し、実際のディメンションにサークルをプロットしたいと思います。私がそれをしたら、surface1
を再スケーリングしてscreen
に表示する予定です。ここに私のコードです:Pygame - 1つのサーフェスにすべてを作成し、サーフェスを表示するためにスケールすることは可能ですか?
import pygame
pygame.init()
live = True
while live:
surface1 = pygame.Surface((7680, 4320))
screen = pygame.display.set_mode((1280, 720))
# pygame.display.flip()
surface1.fill((255, 255, 255))
pygame.draw.circle(surface1, (0, 0, 0), (3839, 2160), 4500, 10)
surface1 = pygame.transform.scale(surface1, (1280, 720))
surface1.convert()
screen.blit(surface1, (0, 0))
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
live = False
私は円を見ることができません。しかし、表示されるウィンドウの色は、surface1
の中に設定したものに応じて変化します。なぜこのように行動しているのですか?どんな助けもありがとう。前もって感謝します。
ええ、私はそれに気付かなかった。ありがとう。しかし、円の半径が1500であるとします。これは正しいロジックですか? –
@Syamprasad K Rはい、それは小さい円で動作しますが、大きなサーフェスとトランスフォームのためにフレームレートは非常に低くなります。なぜあなたはそれを実際にやっているのですか? – skrx
これは工学上の問題を解決するためであり、実際の寸法は大きくなっています。私はすべての要因を縮小することを避けようとしています。しかし、それは私が今やっていることです。 –