adyo4552
adyo4552

Reputation: 201

Creating a visible timer on experiment stimulus in psychopy

New to the forum, thanks in advance for any help you could provide. I have a series of .jpgs that are being presented to users as they study the info contained within. Instructions state that each jpg can be studied for a max of 120secs. I've already coded it such that the jpg will advance after the 120sec limit:

    RespKey= []
    RT = []
    event.clearEvents()
    myClock.reset()
    t1example = myClock.getTime()
    t2example = t1example
    while t2example < (t1example+120):    # value added to t1 here is timeout value; 
        RespKey = event.getKeys(keyList=["space"], timeStamped=myClock) # they are told to press space bar when done studying
        if len(RespKey) > 0:
            RT = RespKey[0][1]
            Resp =  RespKey[0][0].lower()
            print Resp
            print RT
            break
        else:
            t2study = myClock.getTime()      # end of timeout loop
    myWin.flip()

The problem is, I don't know how to make the Clock/ Timer/ Stopwatch function visible to the user while studying the jpg. Is there a way to superimpose a visible clock onto the stimulus so nobody is surprised when the study time comes to an end?

Note: New to coding, please couch jargon in layman speak if at all possible.

Thank you!

Upvotes: 2

Views: 829

Answers (1)

Michael MacAskill
Michael MacAskill

Reputation: 2421

Yes. Before the loop (and before re-setting the clock), create a text stimulus like this:

clockText = visual.TextStim(myWin) # include other parameters if you want to change the default size, font, etc

Then on every frame, you will update the content of that stimulus. i.e. just prior to the myWin.flip() call, do this:

clockText.setText(str(t2study)) # you can format/round this as required
clockText.draw()

Check the face_jpg.py Coder demo for an example of displaying text like this on every frame.

Upvotes: 1

Related Questions