【发布时间】:2019-05-29 05:22:42
【问题描述】:
我很难理解如何控制 Shady 在屏幕上绘制的内容的流动。我已经习惯了 Psychtoolbox,您可以在其中通过在后台缓冲区上绘图来不断地添加帧,然后通过调用 Flip() 将其显式推送到屏幕上。使用 Shady 时,事情似乎会自动发生,因此当您将 Stimulus 对象添加到 World 时,它会尽快被绘制。但是如果我必须添加几个刺激,我怎么能保证屏幕上没有更新,直到它们都被绘制出来?
例如,假设我想绘制一个空白屏幕,并在其左上角的顶部绘制一个小方块。我可以这样做:
w = Shady.World()
s1 = w.Stimulus(None, 'blank', envelopeSize=[1920, 1200], backgroundColor=[0, 0, 0], z=0)
s2 = w.Stimulus(None, 'square', envelopeSize=[20, 20], x=-950, y=590, backgroundColor=[1, 1, 1], z=1)
但是我如何保证我不会从第 n 帧开始绘制 s1,从第 n+1 帧开始绘制 s2?也许它们可以组合成一个 Stimulus 对象,但我想将它们分开(在我的实际问题中,小方块实际上是用来触发光电管的,所以我需要能够将其闪烁一次帧,在任务期间的不同时间)。
【问题讨论】: