2011-12-06 17 views
0

私は自分のコードには二つの問題が午前:私は私はブリットにはどうすればよいのブロック作業スプライト衝突

  • との衝突だというのが私の文字のチェックを行う方法がわからない

    1. を彼女がレベルを完了するたびに新しい画面?文字が階段に到達したときに、新しい画面が新しいレベルここ

    を示す表示されるはずであるすべての私のコード:

    http://pastebin.com/u/bluesplay106

    は、私はpygameのためにかなり新しいですので、私のスタイルはないかもしれません良いと私は一種のハードコードのこのゲーム。 本当に素晴らしい問題を解決する方法を教えてもらえますか?

  • +0

    該当する回答を得たい場合は、さらに具体的な質問が必要になります。 – hspain

    答えて

    0

    あなたはあなたのキャラクターとあなたのブロックをスプライトにして、そのように衝突検出を行う必要があります。

    は、新しい画面用として、あなたは階段を取得するとき、あなたはこのように文を使用することができます。

    if heroSprite_x >= 200 and heroSprite_x <= 300: 
        if heroSprite_y >= 300 and heroSprite_y <= 400: 
    
         #go to new screen using either a new level from a list or a new class or whatever method you want. 
    

    あなたの質問は少し漠然としたが、私はそれはあなたが:)

    探していたものを願っています

    私はちょうど私があなたの最初の質問に答えるdidntの実現は、ここに私のゲームの一つからの抜粋です:

    unit_enemy = pygame.sprite.groupcollide(unitgroup, enemygroup, True, pygame.sprite.collide_mask) 
    
    for hit in unit_enemy: 
        #do something 
    

    このチェックは、すべての敵は私のユニットをヒットした場合。だからあなたの場合、それはあなたの英雄だろう、そして敵はブロックになるだろう。

    ここでは、衝突検出に関するドキュメントを紹介します。

    http://pygame.org/docs/ref/sprite.html

    関連する問題