Skip to main content
Known Participant
April 9, 2016
Answered

Is this interaction possible?

  • April 9, 2016
  • 4 replies
  • 507 views

I have an idea for an interaction for a course I'm working on, but I'm not sure if it's possible to accomplish in Captivate. I imagine it would take a lot of advanced scripting, which I'm on board to tackle but I just don't know how to get started.

I want to create an interaction where users can select pieces of a pie chart and shade them in with different colors, and possibly label the slices with custom or default labels. After the chart is shaded I'd like to be able to check that the appropriate sections were shaded before moving to the second part, which would be a multiple choice question based on the outcome of the pie chart activity.

Does this sound like something I can do in Captivate? I'm still very new and I'm not sure what it's capable of.

Any ideas appreciated!

    This topic has been closed for replies.
    Correct answer RodWard

    You need to have the user first click on the slice they want to change (it needs to be a Smart Shape button too) and that click should set a variable which indicates the number or ID of the slice.

    Then your colour buttons need to be executing Conditional Advanced Actions that have one Decision Block per slice.  The condition will be something like:

    IF var_sliceID is equal to slice_01

    ACTION Change State Of SmartShape_slice_01 to RED (or whatever)

    4 replies

    Known Participant
    April 14, 2016

    I mocked up the interaction and figured out how to create buttons that when clicked, change the color of the slices. Do either of you know if there's a way to let the user choose which slice the color (state) applies to?

    For example, each slice will have a state for each of the color options. I want to have 4buttons to the side that lets the users apply the color to the slice, but I can't figure out how to indicate which slice the color should be applied to without having a button to select each color for EACH slice. So if I have 10 slices I would need 40 buttons (4 for each color option for each slice). That can't be right. Is there some advanced action I'm not aware of that would allow the last object clicked to have the state applied to it?

    Hopefully that makes sense!

    RodWard
    Community Expert
    RodWardCommunity ExpertCorrect answer
    Community Expert
    April 15, 2016

    You need to have the user first click on the slice they want to change (it needs to be a Smart Shape button too) and that click should set a variable which indicates the number or ID of the slice.

    Then your colour buttons need to be executing Conditional Advanced Actions that have one Decision Block per slice.  The condition will be something like:

    IF var_sliceID is equal to slice_01

    ACTION Change State Of SmartShape_slice_01 to RED (or whatever)

    Known Participant
    April 15, 2016

    ‌Thanks for the tip! I will play around and see if I can get it working. Sounds like a fun challenge!

    Known Participant
    April 10, 2016

    Thank you both for the responses! I'm glad to know this is possible.

    Lilybiri, I'm using Captivate 9. I'm not 100% set on how I want the interaction to work, which is why I didn't provide more details. My rough plans are to provide users with a set of given information that must be added to the chart and corresponding colors that each item should be labeled. There would be 4 possible color choices. Users will then select the appropriate slice of the chart, and then choose which color it should be. When the user is done and clicks submit, the backend would verify that each slice is the correct color and let the user proceed to the multiple choice, or inform the user to continue trying.

    Lilybiri
    Legend
    April 10, 2016

    Definitely use states in that case, not with separate pieces to hide/show. It is a nice exercise...but be sure to reflect a lot before starting to work in Captivate: which situations can happen, what has to happen when users come back to the slide. Will you allow them to change their choices, before clicking a final Submit button etc...

    BTW CP9 is in version 9.0.1.320. Can you check?

    Known Participant
    April 13, 2016

    Sorry for the delayed response. Yes, I'm using the most current version. I also very much agree with you to have everything planned out well before getting in too deep...not that I've dug myself in a hole before or anything!

    Lilybiri
    Legend
    April 9, 2016

    You didn't tell which version you are using? If it is Captivate 9, I would create the segments as individual graphics, but each with as many states in different colours as you want to enable. You need an event to trigger the action to shade a segment, what did you have in mind? Clicking on a segment could be done, but how to define the color? First choosing a color from a color palette, then clicking on the segment? It needs a bit of reflection about the setup. There is no sequence imposed, which means that you'll have to use a (Boolean) to track: change it from its default value of 0 to 1. When all variables are changed to 1 you can show a Next button. Now another question: what is the link between the MCQ and the pie chart activity? You didn't give any explanation.

    Too little details to give a more elaborated suggestion for a work flow.

    RodWard
    Community Expert
    Community Expert
    April 9, 2016

    Yes you could do this with Captivate by having all the segments of the pie chart created as separate graphics in each of the possible colours, positioning them over the top of each other, and then hiding all the coloured segments.  Your user would need to be able to click something to indicate which colour they want to select for a given segment and then the advanced action would be executed to UNHIDE that coloured segment.  You could track which one they selected with variables and then evaluate those variables with conditional actions to check that the correct answers were selected.

    You are correct that this involves some fairly complex interaction, but it is possible to do.