チェスエンジンを書いている間、ボードに駒を描くためにblitを使用しています。問題は、見栄えが非常に悪いことです。黒い四角形が作成され、ピースのアイコンに追加されます。次のようになります。
http://i58.tinypic.com/n1fbzc.jpg
しかし、私はそれを次のようにしたい:
http://i62.tinypic.com/4zutfo.jpg
ここにコードがあります。最初の 2 行は 1 つの部分の例で、残り (「for」) はそれらすべてを描画するためのものです。
white_queen = pygame.image.load(os.path.join("images","wQn.png")).convert()
self.icons['wQ'] = pygame.transform.scale(white_queen, (self.square_size,self.square_size))
for r in range(boardSize):
for c in range(boardSize):
print "r is " + str(r) + ", and c is " + str(c)
(screenX,screenY) = self.ConvertToScreenCoords((r,c))
piece_name = board[r][c]
print "screen x is " + str(screenX) + ", and y is " + str(screenY)
print "name is " + piece_name
if piece_name != 'e':
self.screen.blit(self.icons[piece_name],(screenX,screenY), special_flags = BLEND_RGBA_MULT)
pygame.display.flip()
blit を呼び出す際、または別の関数を呼び出す際に、いくつかのパラメーターが欠落していると思います..
あなたの助けに感謝します。