Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

[solved] Next frame through klicking OR after 5 minutes (break scree)

edited December 2015 in OpenSesame

Hello,

I know this is probably really simple but I can't get it :/.

I want a break in the middle of my Experiment. It is just a sketchpad with some text: "The break starts now. It ends after 5minutes if no key is pressed, otherwise press any key to continue before."

My code looks as follows:
set duration "keypress"
set reset_variables "no"
draw textline 0 0 "Nun beginnt eine kurze Pause.
Diese wird nach maximal 5 Minuten
automatisch beendet und die zweite Runde beginnt." center=1 color="black" font_family="serif" font_size=28 font_bold="no" font_italic="no" html="yes" z_index=0 show_if="always"

My intention was to type:
set duration "keypress or 300000"

which doenst work :(

Please help!
Thank youuu

Comments

  • edited December 2015

    Hey,

    This is accomplished easier with an inline_script. You can use this code here as a starting point and tweak it to your wishes.

    # create a canvas and a keyboard object
    cv = canvas(exp)
    kb = keyboard()
    
    
    # text to be displayed (you might want to include that a keypress will 
    # also  terminate the break
    
    text = 'Nun beginnt eine kurze Pause. Diese wird \
    nach maximal 5 Minuten automatisch beendet und die zweite Runde beginnt.'
    
    # draw text on canvas
    cv.text(text)
    
    # sample time at the beginning of presentation
    t0 = clock.time()
    # stay in while loop until a key was pressed or 300 seconds have passed
    while True:
        # show the canvas
        cv.show()
        # wait for key response
        key,time = kb.get_key(timeout=20)
        if key != None:
             break
        # sample time again and see whether maximum is exceeded
        if clock.time()-t0 > 300000:
             break
    

    Does this make sense?

    Eduard

    Buy Me A Coffee

  • edited 1:47AM

    Hi there,

    I was looking for something similar myself so came across this thread.
    I believe it is also possible to accomplish this without the need for an inline script, by setting the duration of the sketchpad item (with the instructions) to zero, then following it with a keypress plugin, with the timeout set to 300 seconds. If I am correct, this will leave the sketchpad displayed for 300 seconds before moving to the next item after the keypress plugin. Alternatively, any keypress will similarly cause the execution to continue.

    I appreciate that the OP probably used the above code (or found another solution) several months ago, but thought I would add this simple solution in case anyone who is not confident with inline code etc. searches for a similar issue.

    Best wishes all,

    Neon

Sign In or Register to comment.