2017-01-07 15 views
0

今はクラスの値がリセットされているところで問題が発生しています。誰も助けることができますか?ここではハブ/ペイント機能がRPG Pygame whileループでのリセット

等により、 self.pressed、あなたは self.gimseenの値を設定する意味「クラスの値がリセットされている」と仮定すると
def paint(self, screen): 
    if self.gimseen == 0 and self.pressed == 0: 
     screen.blit(image1, (self.x, self.y)) 
     self.pressed = (pygame.mouse.get_pressed()[0]) 
     if self.pressed == 1: 
      self.gimseen += 1 
+1

すべて'Hub()。paint(gameDisplay)'を呼び出すと、デフォルトのインスタンス変数で 'Hub'の新しいインスタンスを作成しています。私はあなたの問題がどこにあるのかと思う。 – Tagc

+0

どのように私はこれを修正し、まだ関数を呼び出すでしょう。チップのおかげで –

答えて

1

の下に表示されているコード

while True: 
    #some code# 
    Hub().paint(gameDisplay) 

ですHubのインスタンスで、Hub().paint(gameDisplay)を呼び出すとこれらの値がすべてリセットされているように見えるため、その行が呼び出されるたびにHubという新しいインスタンスが作成されているためです。

これを修正するには、あなたが最も可能性の高い、whileループの前にHubの単一のインスタンスを作成するwhileループの本体でそれを更新し、そのインスタンスにpaintを呼びたいと思います:

hub = Hub() 
while True: 
    #some code# 
    hub.paint(gameDisplay) 
+0

ありがとうと私は私がこれを行うことができる他の方法はありますがself.pressedの値を取得するために使用する関数を呼び出すいくつかのコードで役立ちますか?ありがとう –

+0

@ChrisHoweあなたが何を意味するか分かりません。 – Tagc

関連する問題