Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Recursive Actions?

Community Beginner ,
Jun 07, 2016 Jun 07, 2016

First of all: Sorry for my bad english

Second: Is it possible make an advanced action recursive?

The problem in detail:

I have to design an alternative memory game. So I made the slide 3 with a pattern of about 24 buttons.

A short peek-view shows the 3 right buttons. Goal of the game is to klick all 3 buttons in about 10 seconds.

If this happens the user should get to slide 5. If he klicks 1 wrong button he will get to slide 4.

I made 3 variables Button01 and gave them the literal "FALSE" - I hope this makes them boolean-like.

By klicking the right Buttons i made advanced actions, which allocats their values to the literal TRUE.

For the whole slide i made the advanced option:

IF (Button01 == TRUE && Button02 == TRUE && Button03 == TRUE)

     go to layer 5 slide 5

The problem is, that this advanced action just starts if the user reaches slide 3 and after this it won't start again.

Is there a possibility to make this advanced action recursive or can I trigger it within the advanced actions of the buttons?

Thanks a lot

507
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Jun 07, 2016 Jun 07, 2016

Do not compare SL with Captivate, please, they do not have advanced actions, which are converted to JS or AS on runtime depending on the output.

Not at all, everything should work perfectly, there must be another cause.

It has no sense at all to make that slide that long. Keep to the default 3secs, with a pausing point at 1.5secs.

Check in the Advanced Interaction panel (F9) if the correct advanced action is triggered by the correct button.

To debug: add a text container on that slide (shape of cap

...
Translate
Community Expert ,
Jun 07, 2016 Jun 07, 2016

Default Captivate behaviour does not allow one Advanced Action to trigger another Advanced Action.

However, if your output is HTML5, the CpExtra widget does make it possible to trigger an action from within another action.

If you are publishing to SWF, you may need to use one action to jump to another slide where the On Slide Enter event can trigger your desired Advanced Action and then jump back to your original slide again.  It's a workaround, not a perfect solution.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 07, 2016 Jun 07, 2016

Although I totally agree with Rod about CpExtra's extension of Captivate functionality and time saving, I have been creating some games long ago. It would now be already a lot easier in Captivate 9 (you don't tell which version you are using?) by using states and shared actions. Here is a link to such an old game. (I am busy writing out the modern alternative for a future ebook about advanced/shared actions at this moment):

http://blog.lilybiri.com/concentration-game-created-exclusively-with-c

If you want help, you have to offer more details: which events are you using exactly for each action and screenshots of the complete actions. For conditional actions, use the Preview button (looks like a play button, first top right of the AA window) to see the total action with all decisions.

As for Booleans, I will mostly go with 0/1 instead of False/True, but maybe I'm just lazy. Normally both would work.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 07, 2016 Jun 07, 2016

Thanks for Your offer. I am using the current Captivate CC-Version. My Screens are in german, but I hope you can see what I mean

First the Overview:

Overview.png

The Preview of the action on the slide:

Preview.png

The variables:

Variables.png

The button:

Button.png

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 07, 2016 Jun 07, 2016

German is not a problem, I'm Flemish, my mother tongue is Dutch.

I don't see the complete picture, I think you misunderstand the meaning of a pausing point of interactive objects as well. You cannot force that 10 seconds with the timeline at all!  Your buttons have all one-line advanced actions which means that the playhead will never be released but remains at 10 seconds. The user will get as many time as he wants. That is my first remark. You should need the Timer or Hourglass interaction to force that time limit.

Secondly: be careful because you attach the end point of the buttons to the end point of the slide (red triangle). More often than not, this is not what you want at all. You cant to extend the button timelines till the end of the slide, use CTRL-E but first get rid of the red triangles.

I suspect the 'wrong' buttons have the navigation to slide 4. Did you set up 24 buttons? Or do you use the Last attempt actions for the correct buttons?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 07, 2016 Jun 07, 2016

You are right with the timer, but this ist the lower part on my list. First at all I want to fix that if i click all of the 3 right buttons, i'll go to the slide 5 with the expression "Glückwunsch".

"I suspect the 'wrong' buttons have the navigation to slide 4. Did you set up 24 buttons? Or do you use the Last attempt actions for the correct buttons?" - All of the 21 wrong buttons have the navigation to slide 4 with the expression "Leider Falsch". I know it is cheap, but it works for this. The other 3 right-buttons have the AA on this screenshot:

Button.png

Like I told. Just wanted to create it with boolean variables in hope that i can trigger the navigation to slide 5 via the IF-AA on the slide itself, but as mentioned it can't work on this way. It also just start when the user reches the slide. (everything is happening on slide 3) : /

Thank You

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 07, 2016 Jun 07, 2016

You need to combine the standard action (that assigns the value 1/True to the Boolean variable) with the conditional action, using two decisions like this:

Checker.png

This should be the one for the first button. For the second and third button you'll only have to duplicate and change the Assignment in the first decision. I'm using other labels: v_one... for vars, and 0/1 for the Boolean values. For this action it is not possible to use a shared action because the candidate parameters is appearing both in the first and the second decision, and all variables are appearing in the second decision.

You can calculate the time within the first decision, then check the result in the second decision and eventually send the user to another slide for timeout.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 07, 2016 Jun 07, 2016

Thanks again.

I understand the CheckButtons-Function (but I guess the last one hast to be v_three ==1), but I can't see behind the Always-Function

IF (1 == 1)    // there I am not sure what I just have to insert. You work with 1/0 while I work with TRUE/FALSE.

                        I am currently to dumb for this line

Assign v_one with 1    // this I understand - just gives the variable the value 1/TRUE

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 07, 2016 Jun 07, 2016

You are pretty new to advanced actions and variables, right? The first decision has a condition that always ends up with True, which means that the actions will always be executed, just like in a standard action. In my blog are plenty of examples of using such a 'mimicked' standard action. After that action (sequence is very important), the check will occur and the user will be navigated immediately to the Success slide after the third button has been clicked.

Yes, I made a typo, that project was quickly put together while my lunch was waiting to cook. Correct version this time for the second button:

Checker.png

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 07, 2016 Jun 07, 2016

Ah, I see. You're right. It's my quasi my first day with AA.

Now I understand the condition and it makes sense, but something still isn't working.

In the meantime I cleared all the other faults like the one in the timeline, included a timer etc etc

Everything works fine now except the right buttons. Is it possible, that the preview doesn't allow AA?

I know a similar problem in Articulate Storyline.

The current Buttons-AA:

ButtonNew.png

Like You said. Duplicated for the other buttons and changed the assignments, but in the preview I just see all 3 activated Buttons till the time is up and navigating to the new slide 5 (success is slide 6 now).

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 07, 2016 Jun 07, 2016

Do not compare SL with Captivate, please, they do not have advanced actions, which are converted to JS or AS on runtime depending on the output.

Not at all, everything should work perfectly, there must be another cause.

It has no sense at all to make that slide that long. Keep to the default 3secs, with a pausing point at 1.5secs.

Check in the Advanced Interaction panel (F9) if the correct advanced action is triggered by the correct button.

To debug: add a text container on that slide (shape of caption), time if for the rest of the slide (Continue) and insert the three variables: (mine were labeled v_one, v_two, v_three) using the X-button in the Character part of the Properties panel. When previewing: you should see the variables change. Do you realize that variables are case sensitive, that is one of the reasons I would NEVER use 'TRUE/FALSE'. Are you sure you have exactly the same value for the variables as you are checking in the second decision? Use numbers, so much easier, less risk for typos.

You should be careful with labeling as well. You cannot use the same name for an action and a button, nor for a variable and an action/button. I don't see it in your screenshots, but it is a tip. That is the reason why I start any object (not actions/decisions) with at least one character defining the type: v_ for variables, SB for shape buttons (I didn't use normal buttons, but shape buttons in the example).

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 07, 2016 Jun 07, 2016

It works now. Thank You very much. I figured out that I started the button-AA not at "success" but at "last try". Now it works. Now I have to figure out how I can "deactivate" the timeline, so that the slide is static. Guess I have to pause them till the user clicks or something...

Again Thank You very much

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jun 07, 2016 Jun 07, 2016
LATEST

What do you mean? Just put the timeline back at its 3 sec duration. All your buttons already pause the slide until clicks - default would be at 1.5secs -  and those pausing points should all be at the same time!  As long as you use the buttons for an advanced action, or a simple action where the option 'Continue playing project' is unchecked, the playhead will not be released and stays at 1.5secs. You already have that set up. A little bit of good basic training would help you save a lot of time

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Help resources