为什么当我设置pos = [50,0]时psychopy.visual.TextStim无法呈现文本?

时间:2018-07-19 12:02:10

标签: python python-3.x python-2.7 psychopy

我想使用visual.TextStim将文本呈现在visual.Window的右侧。当我将TextStim的位置设置为0时:

my_text = visual.TextStim(win, pos=[0,0])

文本显示在屏幕上。但是当我将其更改为:

my_text = visual.TextStim(win, pos=[50,0])

例如。文本不出现。我已经尝试使用python 3.6,psychopy 1.90.2进行了此操作。如何使用TextStim在visual.Window的右侧显示文本刺激?

2 个答案:

答案 0 :(得分:5)

可能您尚未指定刺激的单位:

my_text = visual.TextStim(win, pos=[50,0], units='pix')

my_text = visual.TextStim(win, pos=[0.5,0], units='norm')

您可能使用了默认单位“标准”,并且文本在右侧显示了50个屏幕宽度!

答案 1 :(得分:3)

精神病患者的其他刺激采用像像素一样的位置参考,例如MovieStim3:

mySocket = UdpClient(localEndPoint);

Buffer.BlockCopy(multicastGroupAddress.GetAddressBytes(), 0, membershipAddresses, 0, 4);
Buffer.BlockCopy(remoteEndPoint.Address.GetAddressBytes(), 0, membershipAddresses, 4, 4);
Buffer.BlockCopy(localEndPoint.Address.GetAddressBytes(), 0, membershipAddresses, 8, 4);

mySocket.Client.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddSourceMembership, membershipAddresses);

TextStim没有。而是水平和垂直参考点是从-1到1,对应于屏幕的左右(或顶部和底部)。因此,可以使用以下方法将文本刺激放置在屏幕右侧:

mov = visual.MovieStim3(win, glob_vid_path, flipVert=False, flipHoriz=False, pos=(-400, 0))   

编辑: 从对该答案的评论以及其他正确答案中,我看到可以显式更改单位。