使用ioHub的PsychoPy按键按下代码

2024-09-28 03:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个代码,在其中用户可以调整一行的长度与向上和向下箭头键。在

我可以让用户通过按它们来调整线条,但这需要很长时间,因为我有它,所以每次按一个键时,长度都会增加(如果按向上键)或减少(如果按下向下键)1个像素。在

我在想,有没有人知道如何在按住键的情况下调整一条线的长度,并在松开键后停止对该线的调整?在

我一直在玩不同的ioHub特性,但一直没能搞清楚。在

我试图以按键的持续时间为基础,但是直到释放按键后才会报告持续时间,因此用户无法在按住键的同时查看他们是如何调整线条的。在

有人有什么建议吗?在


Tags: 代码用户报告情况像素特性基础建议
1条回答
网友
1楼 · 发布于 2024-09-28 03:22:32

这个答案假设您使用的是psycopy的Builder接口。但您也可以将相同的代码片段放在Coder接口中的适当位置。在

我假设你有一个线分量,它的大小是用标准化的单位指定的。现在插入一个代码组件(创建后,右键单击它并将其移动到Line组件上方,以便立即应用对Line对象的更改,而不是在下一次刷新屏幕时应用)。在

在代码组件的“Begin experience”选项卡中,将此代码用于初始化ioHub并为将应用于该行的缩放因子创建初始值(默认为零):

from psychopy.iohub import launchHubServer, EventConstants

io=launchHubServer(experiment_code='key_evts', psychopy_monitor_name='default')
keyboard = io.devices.keyboard

increment = [0, 0] # initial value of scaling factor

然后在“每个帧”选项卡中,我们将检查是否有按键。所以,如果你的屏幕以60赫兹的频率运行,那就是更新行大小的速率。在

^{pr2}$

希望对你有用。(我是使用ioHub的新手:这对我有用,但可能不是“正确”的方法)。在

相关问题 更多 >

    热门问题