首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MATLAB中运行循环的同时运行ginput

在MATLAB中运行循环的同时运行ginput
EN

Stack Overflow用户
提问于 2014-04-30 04:44:08
回答 1查看 1.1K关注 0票数 0

我想在我用MATLAB制作的一个游戏中显示一个十字准线。我尝试使用ginput,因为它可以完美地显示十字光标,并读取所单击内容的x和y位置。但是,因为它总是等待单击,而我有移动的对象,所以它会导致对象在屏幕上创建,然后不移动。如何让循环运行并继续移动对象,同时ginput也在运行并计算点击次数?

EN

回答 1

Stack Overflow用户

发布于 2014-04-30 04:52:50

Update figure while waiting for event in Matlab?非常相似

总而言之: ginput不适合实时交互功能,而更像是一个注释工具。请看图中的ButtonDownFcn属性。该链接还包括一个小示例,说明如何实现类似的内容。为了清楚起见,我将在这里复制,但原始功劳属于pm89grantnz

代码语言:javascript
复制
% Stop button
uicontrol(...
    'Style','pushbutton', 'String', 'Stop',...
    'Units','Normalized', 'Position', [0.4 0.1 0.2 0.1],...
    'Callback', 'run = 0;');

% Axes
ax = axes(...
    'Units','Normalized',...
    'OuterPosition', [0 0.2 1 0.8]);

run = 1;
t = 0;
while run
    t = t + 0.01; x = t:0.01:t+2;
    h = plot(ax, x, sin(x));
    set(ax, 'ButtonDownFcn', 'get(ax, ''CurrentPoint'')');
    xlim([x(1) x(end)]); ylim([-1 1]);
    pause(0.01);
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23374882

复制
相关文章

相似问题

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