我目前正在为学校做我的 matlab 期末项目。在编程方面,我认为自己知识渊博且精通。但 Matlab 实在是太奇怪了。
基本问题 (找到答案后意识到这一点)!如何在调用 gui 句柄对象时使用变量而不使用变量的名称而不是值?
换句话说: 在字段名称中使用变量(如果我知道这很简单,我就不会问了)
我的项目是构建一个古老的“战舰”游戏的简单再现。
我的问题:我目前有 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 GUI 内容的一些基本理解——matlab 帮助文档非常不具描述性,并没有太大帮助。