-3

それで、自分自身をテストするためだけに小さなゲームを作っていて、スコアをまったく更新できないようです。助けてもらえますか? 編集: 質問が具体的でなくて申し訳ありません。小惑星が画面を通過したときの問題は何ですか? このコード セグメントの問題だと思います。小惑星が画面の下を通過した後、小惑星が削除され、スコアに 10 ポイントが追加されます。私も Livewires モジュールです。

class Asteroid(games.Sprite):
    """
    A asteroid which falls through space.
    """ 
    image = games.load_image("asteroid_med.bmp")
    speed = 1

    def __init__(self, x, y = 10):
        """ Initialize a asteroid object. """
        super(Asteroid, self).__init__(image = Asteroid.image,
                                    x = x, y = y,
                                    dy = Asteroid.speed)
        self.score = games.Text(value = 0, size = 25, color  = color.green,
                                top = 5, right = games.screen.width-10)

        games.screen.add(self.score)


    def update(self):
        """ Check if bottom edge has reached screen bottom. """
        self.add_score()

    def add_score(self):
        if self.bottom > games.screen.height:
            self.score.value+=10
            self.score.right = games.screen.width - 10
            self.destroy()
4

3 に答える 3

0

小惑星にグローバル オブジェクトのスコアを更新するイベントまたは何かを送信させる方が良い設計です。現在、小惑星自体がスコアを追跡していますが、破壊されるため機能しません。

于 2013-10-07T16:59:16.077 に答える