2013-07-20 59 views
1

我想为我做的一个tic tac脚趾游戏做一个GUI。下面是我对GUI至今代码:MATLAB:如何让我的功能等待GUI输入

function fig=TTTGUI()for 

close all 
%initial creation 

fig=figure('pos',[100 50 820 640]); 
txtbx=uicontrol('style','text','parent',fig,'pos',[640 320 160 300]); 
B0=uicontrol('style','pushbutton','parent',fig,'pos',[640 200 40 40],'string',0); 
B1=uicontrol('style','pushbutton','parent',fig,'pos',[680 200 40 40],'string',1); 
B2=uicontrol('style','pushbutton','parent',fig,'pos',[720 200 40 40],'string',2); 
B3=uicontrol('style','pushbutton','parent',fig,'pos',[760 200 40 40],'string',3); 

%set number of players 
players=[]; 
set(txtbx,'string','how many players? (1 or 2)'); 
set(B1,'callback','players=1;'); 
set(B2,'callback','players=2;'); 
%stop and wait here 

end 

我想我所有的功能在此时停止,等待变量players变化,这只能从按钮1或2分被压发生。

我看过'waitfor','uiwait','暂停'和一些其他功能,但是我找不到我在找什么。或者,我可能不太了解如何使用这些功能。 如何让我的功能等待这两个按钮之一被按下?如果另一个按钮被按下,它应该没有效果。

回答

2

尝试使用预先定义的问题对话框。有关更多详细信息,请参阅here

button = questdlg('How many players?', 'One', 'Two');