2016-07-13 12 views
-1

コード内で実行していないクラスメソッドは、私は簡単なゲームをコーディングしていると私は、次の問題を抱えています

pidgeon.electrocute() 

やるべき次:

def electrocute(self): 
    self.image=pygame.image.load(r"electrocuted_pidgeon.png").convert() 
    self.image.set_colorkey((255,255,255)) 

しかし、その代わりに感電の音を再生しながら、ピジョンの画像を変更します。それは2秒待って、電気的な音を演奏している間、それはgameoverのスクリーンに行く。なぜイメージを変えないのですか?

コードの他の部分で試したことがあります(バーのスペースを押すと変更する必要があります)。画像が変更される可能性があります。

pythonをpython 2.7で使用しています。

+0

私はpygame(まったく)に精通していませんが、 'time.sleep'を呼び出すのはおそらく悪い考えです。例えば、[この質問](http://stackoverflow.com/questions/33932722/how-to-use-time-sleep-in-pygame)を参照してください。 –

+0

ありがとうございます、私は代替手段を探します。 –

+0

'if'文の前にメソッドを定義して試してみて、' print( "something") 'のような小さな出力を試してみてください。 –

答えて

0

このようにしてみてください。これはユーザーの入力値に基づく小さな例です。

class fly: 
    def mymethod(self): 
     print("canada") 

def testmethod(): 
    print("this should be greater") 

for i in range(0,3): 
    userInput = int(input("Enter any number :")) 

    if(userInput > 5): 
     print("greater") 

    else: 
     testmethod() 
     s = fly() 
     s.mymethod() 
+0

ありがとうございます、今までは何も動作していませんでしたが、Pythonはまだスリープ状態です(pygame.delay、pygame .wait)を実行してからイメージを変更してください。 –

関連する問題