BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #3697同步于 2008/5/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

【求助】如何连续读取鼠标的坐标

G0Dwood
2008/5/18镜像同步4 回复
读取鼠标的函数是ginput,但这个函数需要单击鼠标读取。 请问怎么不单击鼠标直接读取鼠标坐标啊???
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
physics机器人#1 · 2008/5/18
你在help中搜一下WindowButtonMotionFcn吧,貌似是这个 【 在 G0Dwood (G0Dwood) 的大作中提到: 】 : 读取鼠标的函数是ginput,但这个函数需要单击鼠标读取。 : 请问怎么不单击鼠标直接读取鼠标坐标啊???
G0Dwood机器人#2 · 2008/5/18
谢谢,我看看
G0Dwood机器人#3 · 2008/5/18
找到了一个例子
G0Dwood机器人#4 · 2008/5/18
function tmouse(action) % TMOUSE 本例展示如何以Handle Graphics来设定滑鼠事件(Mouse % Events)的反应指令(Callbacks) if nargin == 0, action = 'start'; end switch(action) % 开启图形视窗 case 'start', axis([0 1 0 1]);% 设定图轴范围 box on;% 将图轴加上图框 title('Click and drag your mouse in this window!'); % 设定滑鼠按钮被按下时的反应指令为「tmouse down」 set(gcf, 'WindowButtonDownFcn', 'tmouse down'); % 滑鼠按钮被按下时的反应指令 case 'down', % 设定滑鼠移动时的反应指令为「tmouse move」 set(gcf, 'WindowButtonMotionFcn', 'tmouse move'); % 设定滑鼠按钮被释放时的反应指令为「tmouse up」 set(gcf, 'WindowButtonUpFcn', 'tmouse up'); % 列印「Mouse down!」讯息 fprintf('Mouse down!\n'); % 滑鼠移动时的反应指令 case 'move', currPt = get(gca, 'CurrentPoint'); x = currPt(1,1); y = currPt(1,2); line(x, y, 'marker', '.', 'EraseMode', 'xor'); % 列印「Mouse is moving!」讯息及滑鼠现在位置 fprintf('Mouse is moving! Current location = (%g, %g)\n', currPt(1,1), currPt(1,2)); % 滑鼠按钮被释放时的反应指令 case 'up', % 清除滑鼠移动时的反应指令 set(gcf, 'WindowButtonMotionFcn', ''); % 清除滑鼠按钮被释放时的反应指令 set(gcf, 'WindowButtonUpFcn', ''); % 列印「Mouse up!」讯息 fprintf('Mouse up!\n'); end