我想借助箭头键移动指针,我想在x2,y2的每个位置记录坐标?指针的初始位置是0,0
答案 0 :(得分:0)
要简单地使用指针位置,您可以使用以下函数来获取和设置屏幕上的指针位置。
location = get(0,'PointerLocation')
set(0,'PointerLocation',[0,0]);
但是,除非真的有必要,否则我特别建议这样做,因为它可能会提供糟糕的用户体验。人们不喜欢电脑上移动鼠标,至少我不喜欢。
阅读here关于可在MATLAB中使用的各种“根”属性。
注意:在Mac OS上无法设置指针位置
<强>更新强>
如果您希望能够使用箭头键控制光标,则需要首先创建一个图形,然后将keylistener附加到其上。触发时,此键侦听器将调用可以移动鼠标的单独函数。
创建听众
h_fig = figure;
set(h_fig,'KeyPressFcn',@(h_obj,evt) moveCursor(evt.Key));
这将确保每次在图形处于活动状态时按下某个键时,它将传递给您将调用moveCursor
的函数。移动光标功能位于单独的文件中,当然称为moveCursor.m
,如下所示
<强> moveCursor.m 强>
function moveCursor(key)
numPixels = 100;
loc = get(0,'PointerLocation');
if strcmpi(key,'uparrow')
loc(2) = loc(2)+numPixels;
elseif strcmpi(key,'downarrow')
loc(2) = loc(2)-numPixels;
elseif strcmpi(key,'leftarrow')
loc(1) = loc(1)-numPixels;
elseif strcmpi(key,'rightarrow')
loc(1) = loc(1)+numPixels;
end
set(0,'PointerLocation',loc);
end
现在您只需运行侦听器命令即可启动窗口,按箭头键,它应该将光标移动moveCursor.m
中指定的像素数量,在本例中为100像素。
我仍然不会特别推荐这种行为,但知道这是可能的。