これは私のコードです。mainメソッドには1行しかありません。
game.initShowBase()
この関数のコードは次のとおりです。
def initShowBase():
global myShowBase
myShowBase = ShowBase(False)
startwindowThread = threading.Thread(target = starters.startfunction)
startwindowThread.start()
myShowBase.run()
スターター:
def startfunction():
from modules.logic import game
global h
h = 0
print h
# g1 = open ("game1", "a")
#g1.close()
#g2 = open ("game2", "a")
#g2.close()
#g3 = open ("game3", "a")
#g3.close()
game.myShowBase.setBackgroundColor(1.0,0.627,0.894, 1)
textObject = OnscreenText(text = "Beginn", pos = (0.95,-0.95),
scale = 0.07,fg=(1,0.5,0.5,1),align=TextNode.ACenter,mayChange=1)
buttons = [
DirectRadioButton(text = 'Game 1 ', scale=0.05, indicatorValue = 0, pos=(-0.4,0,0), command=load, extraArgs =[1]),
DirectRadioButton(text = 'Game 2 ', scale=0.05, indicatorValue = 0, pos=(0,0,0), command=load, extraArgs = [2]),
DirectRadioButton(text = 'Game 3 ', scale=0.05, indicatorValue = 0, pos=(0.4,0,0), command=load, extraArgs = [3])
]
print "button"
for button in buttons:
button.setOthers(buttons)
print "true"
def load(gamenumber):
global h
if (gamenumber==1):
h += 1
if (h>0):
loadGame("game1")
elif (gamenumber==2):
loadGame("game2")
else:
loadGame("game3")
def loadGame (gamename):
from modules.logic import game
global data
data = open (gamename, "r")
print gamename
コードを変更しないと、ボタンのない黒いウィンドウ、ボタンのないピンクのウィンドウ(正しい色)、または3つのボタンすべてがあるピンクのウィンドウが表示されることがあります。
コンパイラがエラーを認識しないように見えるため、スタックトレースはありません。そのため、どこかにデッドロックがあると思います。私はそれを見つけられません、つまり、それはそれほど多くのコードではありません。
誰か助けてもらえますか?
たぶん、indicatorValueが機能していないように見えることにも言及する必要があります。最初のボタンは、表示されている場合は常に設定されています。