1

このゲームに取り組んでいますが、衝突検出に関して質問があります。衝突をチェックして、True を返すようにすることはできますか?

例:

def collide(self, EnemyTank):
     tank_collision = pygame.sprite.collide_rect(self.rect, EnemyTank.rect)
     if tank_collision == True:
          return True

そして、次のようなアクションを実行させます。

if player.collide == True:
     e_tank_x += 0

私はプログラミングが初めてなので、ご容赦ください。できる限り一生懸命努力しています。コメントや提案も大歓迎です。

4

1 に答える 1

3

私は pygame の専門家ではありませんが、完全に正当に思えます。私はあなたの最初の機能で仲介者を取り除くだけです:

def collide(self, EnemyTank):
      return pygame.sprite.collide_rect(self.rect, EnemyTank.rect)

そして、実際に衝突をチェックしたいので、使用するテストを調整する必要がありますが、書いたように、関数衝突が存在するかどうかをテストするだけです ;) 暗黙のテストを使用して、不要な文字を削除することもできます (最適な abi は早めに学ぶのが一番)

if player.collide(EnemyTank):
     do your action here

あなたのゲームで頑張ってください!

于 2012-11-23T00:52:08.680 に答える