1

我的 GUI 的目的是显示图像并获得用户的响应:按键(E 或 I)或无响应。在图像本身之间应该有 3 秒的暂停显示一些文本(a7 UIcontrol在我的代码中)。问题是我需要做 30 次,所以我使用了一个带有计时器的循环。但是图形用户界面效果不佳..

它应该执行以下操作:

for 30 times do
    2 sec showing text (a7)
    then showing an image for 3 sec or until I\E are pressed
end

这是我的代码;我要添加两个版本,因为它们的主要区别在于 TIMER 功能和属性。

https://docs.google.com/document/d/1N6LSDAYo_DVrBCUbuPth4JPCvkI3pBNcnAZcV6Kl9wM/编辑
更易读的版本: http: //pastebin.com/vd3HNGv1

照片在这里(尽管您可以使用任何 2 张照片):https ://picasaweb.google.com/alex.goltser/ScrapbookPhotos

起初问题总是一个错误:

您尝试在计时器工作时启动它

但现在它是另一回事..

4

1 回答 1

0

为什么要运行计时器功能?

这是运行循环的另一种方式:

for repeat = 1:30

    *show text*
    drawnow %# to make sure the graphics are updated
    pause(2) %# wait two seconds

    *show image*
    drawnow
    t = tic;
    done = false;
    while ~done && toc(t)<3 %# checks for keypress or until 3 secs
       *check for keypress*
       if E/I key has been pressed
          done = true;
       end
    end
end %# repeat 30x
于 2012-10-15T03:48:29.417 回答