Hello stackoverflow社区,
我试图为一个简单的比例制作一个滑块,用户只能在水平轴上看到鼠标移动(在水平刻度上固定y位置)。
更详细: 当刻度出现时,我希望光标在水平刻度的中心显示为一条短垂直线(也就是滑块)。 当用户移动鼠标时,滑块应相应地在水平轴上移动(不反映垂直轴的任何变化,即它应保持在刻度上)
我一直坚持将光标的外观更改为垂直线滑块,并限制光标移动到水平轴。
以下是我尝试的内容:
我可以使用SetMouse成功放置光标。
我尝试使用ShowCursor来更改光标的外观,但是这只有一些命名选项,编号的选项不能在OS之间移植("数字到形状的映射取决于操作系统"),我需要的。关于如何将光标更改为垂直线滑块的任何其他想法?
至于将移动限制为水平,我无法找到任何似乎这样做的PTB功能。我确实在Matlab中找到了一些用于制作用户GUI的解决方法,但似乎这些不能与PTB的屏幕一起使用。任何想法都会很棒!
我还是PTB的新手,所以非常感谢你的帮助!
最佳,
马亚
答案 0 :(得分:1)
我写了一个名为slideScale的函数。如果您想查看其工作原理,请参阅test script。
对你来说至关重要的是创建一个循环,该循环一直运行直到发出单击并记录光标的位置,例如使用函数GetMouse(),它给出了x和y坐标。光标。然后,您唯一需要的是使用您使用GetMouse()记录的x坐标更新垂直线的位置,而不更改y坐标,您可以使用固定值。