你好,堆栈溢出社区,
我正在尝试为一个简单的刻度制作一个滑块,用户只能在水平轴上看到鼠标的移动(水平刻度上固定的y位置)。
更详细地说:当刻度出现时,我希望光标在水平刻度的中心显示为一条短的垂直线(也称为滑块)。当用户移动鼠标时,滑块应该相应地在水平轴上移动(不反映垂直轴上的任何变化,即它应该停留在刻度上)
我在将光标的外观更改为垂直线滑块和将光标的移动限制在水平轴上都遇到了困难。
这是我尝试过的:
我可以用SetMouse成功地放置光标。
我尝试了ShowCursor来更改光标的外观,但这只有几个命名选项,并且编号的选项不能跨操作系统移植(“数字到形状的映射依赖于操作系统”),这是我需要的。关于如何将光标更改为垂直线滑块,还有其他想法吗?
至于将移动限制在水平方向,我找不到任何这样做的PTB函数。我确实在Matlab中找到了一些制作用户GUI的变通方法,但似乎不能在PTB的屏幕上使用。任何想法都会很棒!
我还是个新手,所以非常感谢你的帮助!
最好的
Maia
发布于 2017-01-25 21:43:53
我为此编写了一个名为slideScale的函数。如果您想了解它是如何工作的,请参阅test script。
对您来说至关重要的是创建一个循环,该循环一直运行到单击完成,并记录光标的位置,例如使用函数GetMouse(),该函数提供光标的x和y坐标。然后,您基本上需要做的就是使用GetMouse()记录的x坐标更新垂直线的位置,而不更改y坐标,对于y坐标,您只需使用固定值。
https://stackoverflow.com/questions/39215581
复制相似问题