2017-01-25 75 views
0

對於Vpython和Ive來說,這是一個相當新的創建了一個圓周運動的模擬。我嘗試添加控件到模擬中,到目前爲止,我可以暫停模擬,但是當我暫停時,整個控制面板變得無響應,我無法恢復模擬。有誰知道爲什麼這可能是或如何我可以解決這個問題?如何阻止Vpython不響應

def playorpause(self, goorno): 
    self.pause = goorno 

def actual_sim(self): 

    c = controls() # Create controls window 
    # Create a button in the controls window: 

    # b = Button(pos=(-50, 0), width=60, height=60, text="Pause", action=lambda: self.change) 
    # play = Button(pos=(50, 0), width=60, height=60, text="Play", command = self.play_sim) 

    b = button(pos=(-50, 0), width=60, height=60, text='Pause', action=lambda: self.playorpause(True)) 
    play = button(pos=(50,0), width = 60, height = 60, text = "play", action =lambda: self.playorpause(False)) 

    def loop(): 
#### simulation code 
     if self.pause == False: 
      loop() 
+0

當你暫停程序時,它實際上退出,因爲'循環'退出。 – m00lti

+0

@ m00lti,好的,你能否告訴我如何阻止這種情況發生。我將如何暫停而不退出循環? –

回答

0

我不確定,因爲我不太瞭解您的代碼,但重複循環需要包含費率聲明。否則,程序將鎖定,無法輸出任何內容。