我有一个老式的编程背景,但是对Ruby还是陌生的:对于一个Hangman游戏,我有通过FXDataTarget连接的A..Z按钮(设置为-1,因此不会自动选择第一个按钮)。在播放过程中,按下每个按钮均被禁用。要初始化新游戏,我重新启用每个按钮。除上一游戏的最后一个按钮突出显示并因此不可用(直到按下其他按钮)之外,其他一切都很好。我显然希望将所有按钮设置为加载时。
我尝试更改属性(buttonStyle和State);我已经尝试过killFocus;我什至尝试重新创建FXDataTarget。这些都不起作用。
@letterSel =FXDataTarget.new(-1)
letterBtns = {}
("A".."Z").each_with_index do |ltr, x|
letterBtns[x] = FXButton.new(matrix, ltr, opts:FRAME_RAISED, target:@letterSel, selector:FXDataTarget::ID_OPTION+(x))
end
@letterSel.connect(SEL_COMMAND) do |sender, sel, data|
ltr = letterBtns[data].text
letterBtns[data].disable
end
newGameBtn.connect(SEL_COMMAND) do |sender, sel, data|
matrix.each_child do |btn|
btn.enable
# And here is where I try manipulating the button's appearance/functionality
end
end
答案 0 :(得分:0)
好的,我有点傻-答案很明显!我需要做的就是将FXDataTarget值重新设置为-1:@ letterSel.value = -1
(我不知道如何将其标记为已解决)