カタン、Pythonでは?――screenの表示の続き
screenができたら、次は六角形の表示。draw.polygonを使う。
poslist = [(200,210), (200,230), (217.32,240), (234.64, 230), (234.64, 210), (217.32, 200)]
これは、六角形の各頂点の位置。正六角形に見えるように、計算して決めた。
pygame.draw.polygon(screen, blue, poslist)
実際に六角形を描くコード。引数は、screenの中にかけ、blue(0,0,255)に塗りつぶせ、各頂点はposlistだよ、という意味のはず。
ちなみに、ものはためしにもう一つ六角形を描いてみた。
poslist2 = [(400,210), (400,230), (417.32,240), (434.64, 230), (434.64, 210), (417.32, 200)]
pygame.draw.polygon(screen, blue, poslist2, 5)
位置は、横を200ずつ追加している。引数の最後に5を入れたもの。これで、塗りつぶすのではなく、幅5の枠線を引くことになる。
pygame.display.flip()
これが実際にscreenを表示させるコード。これまでのものだけでは表示されないらしい。少しずつ表示されていくと、チカチカするので、ここまでためて、一気にいくというやり方だとか。
endflag = 0
while endflag == 0:
for event in pygame.event.get():
if event.type == pygame.QUIT: endflag = 1
myclock.tick(60)
ここら辺は、「終われ!」と命令するまでやり続けろ、ということらしい。
pygame.quit()
これで終了。しかし、
sys.exit()
が無いと、エラーで終了する、と書いてある記事を見かけたが、本に載っていたサンプルコードでは、これはない。また、X印を押すことで画面を消すとき、特にエラーは出ていない。
謎が多い。