スプライトのコーナーを基準に2つの座標(X、Y)のセットが必要です。代わりにCOORDSの1セットの 、さらに状況についてはスプライトpygameのスプライトの位置に基づいて、どのように座標軸を取得できますか?
の真ん中で:
のは、私はスプライトにブリットした場合pygameのウィンドウ10pxのは、それが10pxの10pxの です*作りましょう* 10px、5,5で。左上、右下の値をどのように取得できますか?
スプライトのコーナーを基準に2つの座標(X、Y)のセットが必要です。代わりにCOORDSの1セットの 、さらに状況についてはスプライトpygameのスプライトの位置に基づいて、どのように座標軸を取得できますか?
の真ん中で:
のは、私はスプライトにブリットした場合pygameのウィンドウ10pxのは、それが10pxの10pxの です*作りましょう* 10px、5,5で。左上、右下の値をどのように取得できますか?
Spriteのrect
プロパティは、このために理想的である。
mysprite.rect.topleft
=>(10、10)
mysprite.rect.bottomright
=>(15、15)
pygameのRect
オブジェクトが有用なのコレクション全体を持っています使用できる属性を処理します。完全なリストは、ドキュメントにあります。
は、オブジェクトのサイズと位置を保つためにpygame.Rectを使用してください。あなたがイメージを持っている場合は
は、あなたはRECT
rect = image.get_rect()
`としてそのサイズを取得することができ、その後、あなたはその位置
rect.center = (5, 5)
を設定し、それを
blit(image, rect)
rect
他にも便利な機能がありますリットルのプロパティ:left
、right
、top
、left
、centerx
、centerx
など
あなたは、画面
rect.center = screen_rect.center
することができます同じように画面RECT
screen_rect = screen.get_rect()
と中央の要素を取得することができますボタン矩形の中央のテキスト
rect
も衝突
rect.colliderect(other_rect)
rect.collidepoint(mouse_position)
pygame.sprite.Spriteがyour_sprite.rect
あなたがそれらを計算するようにサイズと位置を維持するために、既に
pygame.Rect
を使用をチェックするためのメソッドを持っていますか? Topleft =(5,5)およびbottomright =(5 + 10、5 + 10)=(15,15)。ブリッティング時には、トプルコーナーの座標を渡していることと**スプライトの中心ではないことに注意してください。 –あなたは 'rect'で' rect.width'/'rect.height'とそれ以降の' rect.center =(5,5) 'を設定することができるので、左上を計算する必要はありません。そして、それを再計算して正しい結果を得ます'rect.topleft'です。しかし、 'blit(image、rect)'を使うことができ、 'rect.topleft'を使う必要はありません。 – furas
以下に答えた人として、組み込みのrectクラスがあなたの必要を満たすでしょう。 –