0

基本的に星をかわす必要があるパイゲームを書いています。店があり、力場を購入できますが、力場を3回だけ機能させてから、機能する力場を購入すると消えますがforce_field = True、衝突するときに衝突部分にself.force_count -=1問題があります。これは問題です1 秒ごとにループし、衝突が 1 秒程度発生するため、3 回ループしてから負けます。

これが私のIfステートメントです:

    star_col = self.player_r.colliderect(self.star_r)or self.player_r.colliderect(self.star2_r)or self.player_r.colliderect(self.star3_r)

    if self.force_field == True and star_col == True:
        self.force_count+=1
        print "ship hit"
        if self.force_count == 3:
            self.force_field = False


    if star_col == True and self.force_field == False:
        self.force_field = 0
        self.state = 0
        if self.money > 0:
            self.money = self.money - 25

印刷はテスト用ですが、星と衝突すると、3回印刷されてから、1まで数えてからゲームオーバー画面に進むのではなく、ゲームオーバー画面に移動します

だから、一瞬で3を追加して終了するだけで、どうすればこれを行うことができるのだろうと思っています

これをすべて読んだら、どうもありがとうございました。助けてください!

-ChristianCareaga

4

1 に答える 1

3

1 つのオプションは、星が船に衝突したときに星が消えるようにすることです。多分素敵な爆発か何かで:)

それ以外の場合は、bool フラグで星を「衝突」としてマークし、この星を既にヒットしているかどうかを要求できます。ただし、この方法では、船が星を「離れて」再び星に遭遇した場合でも、一度しかヒットできません。

于 2013-06-06T21:56:10.137 に答える