Skip to main content
Participant
February 9, 2017
Question

URGENT: Disabling Captivate navigation from child swf

  • February 9, 2017
  • 2 replies
  • 236 views

I'm using Captivate 7 to publish some courseware in swf format, which will be launched through an html page.

On one of my slides, I have an embedded swf, which I'll refer to as the child. In the child, I need the user to complete some action correctly before they can progress to the next slide.

When the slide is first entered, the functionality of the next slide button is disabled through a conditional check of a variable 'NextLocked'. I'd like to be able to modify the value of this variable from the child after the user has completed the appropriate actions.

I've tried making calls from the child like

  var p:MovieClip = this.parent.parent.parent as MovieClip;

  p.NextLocked = true;

But the variable in the parent is not being updated. I've also tried increasing the number of '.parent' (var p:MovieClip = this.parent.parent.parent.parent.parent as MovieClip; etc) accessors in the child, but nothing has worked so far.

Is this something that can be done, and if so, how would I do it?

If someone knows that this is definitely NOT possible, could you state such?

I'm also willing for an alternate solution (making the child move the main swf to the next slide, relying on external javascript, etc).

Any help is much appreciated.

This topic is closed to new replies. Start a new post to keep the conversation going.

2 replies

TLCMediaDesign
Inspiring
February 9, 2017

You should just be able to use the

ExternalInterface.call method to access the cpAPIInterface.setVariableValue

Participant
February 9, 2017

I'm familiar with the cpAPIInterface and would really love to be able to use it. However, for some reason, that object does not seem to exist in the published project. I thought originally that this was because we were publishing as .swf (I'm used to HTML5 output). However, after outputting to HTML5, that object is still undefined.

Is there a setting that needs to be set in Captivate for this to be generated?

And for clarity's sake, I should state that I'm not a Captivate developer, more of the guy who develops things externally and integrates them with the projects our Captivate Developers publish.