首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB:暂停程序并等待按键

MATLAB:暂停程序并等待按键
EN

Stack Overflow用户
提问于 2012-02-16 11:50:39
回答 6查看 36.7K关注 0票数 7

我正在写一个程序,在某个时候,一个图形被绘制并显示在屏幕上。然后,用户需要按'y‘或'n’来接受或拒绝该图形。我的当前解决方案使用PsychToolbox (实际的解决方案不需要),它包括一个名为'KbCheck‘的命令,它在调用所有键盘按钮的状态时进行检查。我的代码如下所示:

代码语言:javascript
复制
function [keyPressed] = waitForYesNoKeypress
keyPressed = 0; % set this to zero until we receive a sensible keypress
while keyPressed == 0 % hang the system until a response is given
    [ keyIsDown, seconds, keyCode ] = KbCheck; % check for keypress
    if find(keyCode) == 89 | find(keyCode) == 78 % 89 = 'y', 78 = 'n'
        keyPressed = find(keyCode);
    end
end

问题是,在按下键之前,系统确实会“挂起”。理想情况下,我可以滚动,缩放,通常与屏幕上绘制的图形进行交互,这样我才能真正决定我是想按'y‘还是'n'!

我尝试过在上面的while循环中添加“drawnow;”,但这不起作用:在我接受或拒绝这些图表之前,我仍然无法与所绘制的图形进行交互。

这个解决方案不需要使用PsychToolbox;我想还有很多其他的选择吗?

谢谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-02-16 12:26:54

我会使用input函数:

代码语言:javascript
复制
a = input('Accept this graph (y/n)? ','s')

if strcmpi(a,'y')
    ...
else
    ...
end

虽然必须承认,它需要两个按键(y然后进入),而不是一个键。

票数 6
EN

Stack Overflow用户

发布于 2013-10-23 06:20:39

等待按钮,打开一个图形,这可能是不必要的。代用

代码语言:javascript
复制
pause('on');
pause;

它允许用户暂停,直到按下一个键。

票数 6
EN

Stack Overflow用户

发布于 2012-02-16 12:20:03

为什么不使用waitforbuttonpress呢?

文档:http://www.mathworks.fr/help/techdoc/ref/waitforbuttonpress.html

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9310786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档