У меня есть опыт программирования старой школы, но я новичок в Ruby: для игры Hangman у меня есть кнопки A..Z, подключенные через FXDataTarget (установлен в -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