2016-05-31 5 views
0

Я работаю в психопедии, и я хотел бы, чтобы текст стимулировал скольжение из одной позиции в другую в течение нескольких кадров. Я попробовал [frameN, 0] в разделе позиции для текстового стимула, но я не уверен, как установить конечную точку (время/кадры и положение). Спасибо за помощь заранее!Psychopy-moving textstim с конечной точкой

ответ

1

Начните с расчета размера шага для каждого кадра. Это просто разница между координатами конца и начала, разделенными на количество кадров. numpy массивы пригождается здесь, хотя вы могли бы сделать это в базовой питона, а также:

import numpy as np 
start_pos = np.array([-0.5, 0]) # [x, y] norm units in this case where TextSTim inherits 'units' from the Window, which has 'norm' as default. 
end_pos = np.array([0.5, 0.5]) 
animation_duration = 30 # duration in number of frames 
step_pos = (end_pos - start_pos)/animation_duration 

Затем его использовать:

# Set up psychopy stuff 
from psychopy import visual 
win = visual.Window() 
text = visual.TextStim(win, text='Watch me slide!') 

# Animate 
text.pos = start_pos 
for i in range(animation_duration): 
    text.pos += step_pos # add to existing value. This is shorthand for writing: text_pos = text.pos + step_pos 
    text.draw() 
    win.flip() 
Смежные вопросы