I hope this isn’t too naive as I’m on the learning curve for CL … .
I have four buttons that I can detect fine, but I’d like to kick off a timer based on selecting any of the four buttons. It’s set up now to start a timer when the submit button is clicked. In fact, I don’t want the submit button at all.
I saved one slide here: Button, Button, who clicked the button? • Activity Builder by Desmos
Thanks!
I would probably use the ticker to control the timer, and use the a_nimation toggle to control when it runs.
So for instance, in the ticker: {a_nimation=1:T->T+0.05,T->0}
Then in the CL you can have
number(`a_{nimation}`) = when ( PL.isSelected(1) or PL.isSelected(2) or PL.isSelected(3) or PL.isSelected(4) ) 1 otherwise 0
I haven’t tested this but this or a variation thereof should work, I think!
2 Likes
Thanks. That works, but I can’t see how to reset T each time a button is pressed other than Submit or unselecting and then reselecting.
I’m also trying a version by replacing the Multiple Choice Component with four separate buttons and comparing their timeSincePress values, but that not working at all. Debugging is a nightmare. Is there a way to see the values of variables in CL?
Thanks!
Can’t see the values in the CL itself, but you can always send them to a note or table. That’s what I do to debug sometimes.
1 Like
Thanks. I used a now hidden table to get the 4-buttons version to work.
Great that you got it working.
Just as a future idea:
I would potentially use a “latch” variable - so for instance if you had s_el representing the chosen item 1-4 and p_sel as the “latch”, then your ticker could also include:
{s_el=p_sel:T->T,(p_sel->s_el,T->0)}
This way, if the selection changes, it will reset T to zero and update p_sel to match.
Again, not tested this specifically but think it should work as you expect.
1 Like
Thanks. Interesting. I have to think about whether to recode.