Help needed with buttons sets and triggers/variables
Mar 03, 2022
By
DWK Graphics
Hi all,
I have a rating slide that is set up with a handful of button sets. I need to have the next button disabled until the learner has answered EACH of the the ratings/button sets. I've looked at many discussions, but can't figure this one out. In the attached file, I don't have much set up because it wasn't working correctly, so looking for help on how to do this. I do have some variables created.
It seems like I should have a T/F variable for each button set and have them start as False. But I can't figure out how to have the button set be "True." Maybe this isn't possible and wondering if I might have to set conditions for every single button, which seems daunting...and I'm not sure how to do it.
Thanks in advance!
16 Replies
For each individual button, you need a trigger that sets to true the variable that is associated with that button set.
Then for each variable, you need a trigger that fires when the variable changes, and changes the Next button to Normal if the other variables are all true.
So do I need to set triggers on each button in a set that the other buttons are false when they select one (that becomes true)? I don't know how to access/adjust the variable associated with the button sets. I created some variables for the button sets, but there are built in ones by nature of creating a button set (right?) and not sure how to work with those. Not sure if that makes sense.
I might do it this way....
My initial thinking before testing your slides, was what if they select something from row one, variable could be triggered to true. But, if they then deselect it their choice and do not make a new choice the variable is still true and it's a lot of triggers to create to "make true if this and if false this". However, in your example once something from row 1 is selected, it's selected, you can change your mind and pick something else in that row, but row 1 is done. So the variable route would work.
My solution (attached) is to use states instead. I added an extra button that is off slide, it essentially works as a T/F trigger, but going back to my statement above, I wanted to make sure that as long as anything in row 1 is selected - the button beside it is marked "true" (state is changed). But I also wanted to make sure that if they deselected anything from the first row that it is also captured.
So for each button of screen the state changes to "complete" (I like to use my own state names) if any of the items in the corresponding row are selected. If all of them are deselected, then when the person hits next a layer will come up showing they missed something and to go back and check.
My grade 10 computer teacher permanently stuck in my mind programming for all the "what ifs". If it was a t/f question, he would answer maybe. ;)
Similar to Walt's suggestion, you can alter the T/F variables that you have already created when one of the states in each set has changed. Then when all of those are true, change the state of your "next" button to normal.
I have attached a sample of this solution.
My screen had not updated and did not see Tracy's response - so, mine may be more similar to hers. Anyway, I think you have a lot of options.
Enjoy
Tracy, this is awesome. Thank you so much! I'm not totally understanding how the buttons you created as T/F triggers work, but they do work, so that's all that matters! Though understanding will help in the long run. Thanks a lot!
Ron, thank you so much! Between both of you, I can have it do anything I want. Now I just need to decide if I want to keep the disabled next button or use the pop-up. I appreciate your time on this!!
Another slide in my program is giving me trouble. In the attached file I need the learner to visit all slide layers before next button is "Normal." I've tried this many ways, but can't get it to work. I'm not sure what I'm missing. Maybe another variable. Thanks in advance!!
I just posted another slide below that I can't figure out...if you have a moment to take a look.
I just posted another slide below that I can't figure out...if you have a moment to take a look.
This post was removed by the author
For anyone that reads this thread, I'd like to answer DWK's questions.
So do I need to set triggers on each button in a set that the other buttons are false when they select one (that becomes true)?
No, the point of a button set is that if one is selected, all the others are not selected. You don't necessarily need that function, so I probably confused some people when I said button set. I was using it in your sense. As I understand your original post, you only need to know if one of the buttons in a "set" (or perhaps more clearly "group") has been clicked. (Set in the sense of a series of related buttons, not a formal "button set".) So your need is that if any of the three is clicked, that group is considered answered. That is why I suggested associating a variable with each group, and setting it to true when any one of the buttons was clicked. That means each button will have a trigger similar to "Set GroupOneVariable to true when button 1 is clicked", etc.
I don't know how to access/adjust the variable associated with the button sets.
The association is in your mind. GroupOneVariable is associated with the first group of buttons. These variables are not already there, you have to create them.
One form of access is the previously mentioned trigger that sets their value. The rest of the access is to create another trigger for each variable, similar to "Change state of Next button to Normal when GroupOneVariable is changed if GroupTwoVariable = true AND ifGroupThreeVariable = true. This is all based on my understanding that it doesn't matter if the learner clicks other buttons out of group 1, or which one of that group they click, only that there must be one chosen out of each group.
The problem with 3Keys is this trigger:
or more accurately, that there is only one like it. This works fine if Layer1 is visited last, because then the other variables are true. But if Layer1 is visited first, the others aren't true, and the trigger doesn't fire again because Layer1Visited isn't changed again. You need a trigger just like this one for the layer 2 variable, and the layer 3 variable. That way, no matter what order the learner follows, the third one will change the state on Next button 1.
FYI, this is a habit that can get you in trouble:
You can get away with this trigger order because you are staying on the same slide. The new layer is shown, then the variable is changed. But if the first trigger jumps to a different slide, it doesn't work. The jump interrupts the trigger flow, and the triggers that follow it are not executed, so the variable never gets set.
It works here, but it is a bad habit to get into to move first, and try another action after the move.
Thanks for going back and addressing those questions!
Thanks Walt. I've added those 2 additional triggers for Layer2 and 3 variables and also had to add the same trigger for Application1, 2, and 3 variables. Of course this only works when I have the True trigger set for each layer. Not sure how to get around having those 2 triggers on each layer that you're cautioning me about. But I'll keep in mind if using triggers to other slides.
I'm a pretty new user, so still trying to figure it all out. Thanks for your help!
Final challenge I'm having...when I revisit the 3 keys slide, I can't get the Next button to return to normal after clicking through the layers/buttons. I've tried all 3 ways for revisit (saved state, initial state, automatically decide). Any thoughts on how to fix this?
Sounds like I need to reset the variables on this slide...
SOLVED....I reset the variables all to true when timeline starts. Thanks!