私はここの壁との衝突に関する情報しか見ていませんが、プレーヤーを天井に頭部を「バンプ」させる問題があります。頭を打つ代わりに、速度を0に設定し、重力のために後退して加速すると、オブジェクトはその上のプラットフォームの上に吸い込まれます。なぜこれが動作しないのですが、どうすれば修正できますか?私はチュートリアルに従っていて、自分の順応に追いつき、コンテンツ制作者は実装するのが難しいと言っていました。斜めに衝突するとエラーが発生する可能性はありますか? (コンテンツ制作者による)パイゲームと天井との衝突?
先生ありがとう、先生は何日ものうちに何人かのゲームエンジンを経験していない人の前でプレゼンテーションをしたいと思っています。
def update(self):
# Game Loop - Update
self.all_sprites.update()
# check if player hits a platform
hits = pygame.sprite.spritecollide(self.player,self.platforms , False)
if self.player.vel.y > 0:
if hits:
self.player.pos.y = hits[0].rect.top
self.player.vel.y = 0
if self.player.vel.y < 0:
if hits:
self.player.rect.top = hits[0].rect.bottom
self.player.vel.y = 0
http://gamedev.stackexchange.com/いくつかの助けを持っているかもしれません – depperm
だから、あなたは 'self.player.vel.y = 0 ':同じ条件で必要な場合にも、加速を追加することができますステートメントは、他の場所で変更されたその価値ですか?そうでなければ、if文も真ではないので、何も変わりません。 – numbermaniac
私はベロシティやアクセラレーション、ムーブメントが動作するプレーヤークラスを持っています。私は物事のトップに着陸することができます(最初のステートメントが動作すれば)、私はちょうど矩形のヒットボックスの底に当たって停止することができません。問題は速度に関するものではなく、衝突が発生したときのプレイヤーの配置の方が重要です。まだそれを理解することはできません。 –