私は古い学校のプログラミングのバックグラウンドを持っていますが、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