В настоящее время я работаю над финальным проектом Matlab для школы. Я считаю себя довольно хорошо осведомленным и опытным, когда дело доходит до программирования... но в Matlab просто СЛИШКОМ много странностей.
Основной вопрос (понял это после нахождения ответа)! Как я могу использовать переменную в вызове объекта дескриптора графического интерфейса без имени переменной, используемой вместо значения?
Другими словами: используйте переменную в имени поля (если бы я знал, что это так просто, я бы не спрашивал)
Мой проект — создание простой версии старой игры «Морской бой».
Моя проблема: в настоящее время у меня есть 5 объектов (топоров) для частей корабля. Они выбираются по одному для перемещения в другое место (сетку). Я могу использовать setpixelposition для перемещения каждого объекта после нажатия кнопки.
Прямо сейчас под нажатием кнопки у меня есть что-то вроде этого
function btnPlaceShip_Callback(hObject, eventdata, handles)
%Store the current selected ship(passed from an onclick to a label)
ship = get(handles.lblSelectedShip,'string');
%I have tried everything I could think of, but basically I want to achieve the
%following
setpixelposition(handles.ship, [0 250 50 250])
%where the variable 'ship' contains the name of the object.
Другими словами, var ship = 'shipAircraftCarrier' и..
setpixelposition(handles.shipAircraftCarrier, [0 250 50 250])
работает! (устанавливает позицию указанного корабля). Однако, используя переменную ship, Matlab воспринимает строку буквально, а не ее значение. Вместо этого было бы крайне удобно использовать переменную!
Если у кого есть решения, буду признателен. Я прошерстил Интернет, но, возможно, мне не хватает фундаментального понимания материала графического интерфейса Matlab. Справочные документы Matlab очень не описательные и не очень помогают.