2017-03-24 40 views
-1

私はPygameを使ってPythonでゲームを作っています。私は、プレイヤーキャラクターが指定されたタイルを上回った場合、スコアが1ずつ増加する条件を設定しましたが、それを達成できません。 player_position ==(指定されたタイル)の場合:score = score + 1よりも、プレイヤーキャラクターの位置を取得できないためです。これで私を助けてください。pygameでスプライトの位置を取得するには?

+1

例を提示しないと答えが出にくいです。あまりにも多くの推測作業になります。 [mcve]を作成して質問に編集してみてください。すべてのタイルをループして、プレーヤーの矩形がタイルの矩形と交差するかどうかを確認するには、['player.rect.colliderect(tile.rect)'](https://www.pygame .org/docs/ref/rect.html#pygame.Rect.colliderect)、それぞれのタイルとプレーヤに[rectオブジェクト](https://www.pygame.org/docs/ ref/rect.html)。 –

答えて

0

「衝突」機能のいずれかを試しましたか?タイルをスプライトにして、衝突を検出することもできます。あなたが探しているものではないかもしれませんが、うまくいくかもしれません。

これは、2つのスプライト引数が衝突したときにTrueを返します。 pygame.sprite.collide_rect()

+0

私はそれを試みました!しかし起こっていない。私はタイルの位置を使用しようとしましたが動作しませんでした – princeomkaar

+0

'pygame.sprite.collide_rect'は' pygame 'に渡されることを意図しています。 .sprite.spritecollide'の 'collided'引数。' 'pygame.sprite.spritecollide''だけを使ってスプライト間の衝突をチェックすることができます。なぜなら、' collided'引数を省略すると、デフォルトでは、rectが交差するかどうかをチェックするからです。 –

関連する問題