0

我正在使用 Flash 调用 Captivate 5.5 文件并通过 Flash 控制一切。我可以很好地控制 Captivate 中的所有内容,但我唯一需要弄清楚的是如何判断当前幻灯片是否在最后一帧。

在 Flash 中,我有一个“下一步”按钮,单击该按钮将推进 Captivate 项目,但我想隐藏该按钮,直到 Captivate 幻灯片完成。我可以很好地使用MovieClip(_swfLoader.content).rdinfoCurrentFrame它并且它工作得很好,但是MovieClip(_swfLoader.content).rdinfoFrameCount可以获得整个项目的框架,而不仅仅是用户当前所在的幻灯片。

我想也许我可以在几秒钟内访问 Captivates 幻灯片持续时间,但这也是不行的 :( 我不敢相信 Adob​​e 没有创建一个变量,让开发人员可以访问任何类型的幻灯片持续时间或幻灯片完成。

我的一个想法是创建某种类型的循环,该循环将循环当前帧数,当帧匹配时,幻灯片结束并显示“下一步”按钮。但是,我认为循环比帧进程发生得更快,因此任何类型的帧计数都将匹配当前帧。

我的另一个想法是检查 Captivate 的当前暂停状态是否为真(意味着 Captivate 已暂停)。在每张 Captivate 幻灯片中,我在每张幻灯片的末尾都有一个暂停,以防止幻灯片自动进行,但我找不到检查暂停状态的方法。

有没有人遇到过这个问题?你是怎么过来的?

以下是 Captivate AS3 变量的几个链接:

CPGURU

管道工

谢谢!

4

2 回答 2

1

您可以读取这些值并进行比较(在 CPGURU 上找到):

rdinfoFrameCountrdinfoCurrentFrame

不过这个我没查过

重新暂停不是暂停幻灯片的rdcmndPauseorrdcmndPaused属性吗?

于 2013-03-13T07:54:29.340 回答
0

在将 Captivate swf 导入我的主 AS3 Flash 电影后,我使用 SoThink 反编译了 Captivate SWF 并研究了使用 trace( [importedSwfRef].movi​​eXML ) 生成的 XML 脚本。

  • 每张幻灯片都在一个影片剪辑中
  • 可以看到每张幻灯片的帧数(XML Attr)对应于每个movieclip
  • 每个影片剪辑都在自己的图层中
  • 每个剪辑都命名为“SlideX_mc” 请记住幻灯片编号从零开始。
  • 似乎所有幻灯片都“关闭”并且当前幻灯片“打开”

在每张幻灯片的末尾物理添加一个小部件是“锤头”方法。您不想做 100 次,而且还需要您的客户具备一定水平的专业知识来开发任何内容。理想情况下,您需要一个脚本,在开始使用 addFrameScript() 之前动态嗅出并为每个幻灯片剪辑添加 stop()

刚刚想到 - 也许您可以将 stop() 添加到每个幻灯片剪辑的末尾?您知道幻灯片的数量,因此您可以循环通过 Slide0_mc 到 SlideX_mc 查询帧数,然后将回调函数添加到 Stop(); 玩头 - 也许?

于 2014-04-17T06:59:59.720 回答