我正在使用Flash调用Captivate 5.5文件并通过Flash控制所有内容。我可以很好地控制Captivate中的所有内容,但我唯一需要弄清楚的是如何判断当前幻灯片是否在最后一帧。
在Flash中我有一个“下一步”按钮,可以在单击时推进Captivate项目,但我想隐藏按钮,直到Captivate幻灯片完成。我可以使用MovieClip(_swfLoader.content).rdinfoCurrentFrame
就好了,它可以很好地完成,但是MovieClip(_swfLoader.content).rdinfoFrameCount
获取整个项目的帧,而不仅仅是用户当前所使用的幻灯片。
我想也许我可以在几秒钟内访问Captivates幻灯片持续时间,但这也是一个禁忌:(我不相信Adobe没有创建一个变量,可以让开发人员访问任何类型的幻灯片持续时间或幻灯片完成。
我有一个想法是创建一些循环当前帧计数的循环,当帧匹配时,幻灯片的结尾已经发生并使“下一步”按钮可见。但是,我认为循环比帧进展更快,因此任何类型的帧计数都将与当前帧匹配。
我的另一个想法是检查Captivate的当前暂停状态是否为真(意味着Captivate暂停)。在每张Captivate幻灯片中,我在每张幻灯片的末尾都有一个暂停,以防止自动滑动进展,但我找不到检查暂停状态的方法。
有没有人遇到过这个问题?你是怎么过来的?
以下是Captivate AS3变量的几个链接:
谢谢!
答案 0 :(得分:1)
您可以阅读这些值并进行比较(在CPGURU上找到):
rdinfoFrameCount
和rdinfoCurrentFrame
我没有检查过这个,
暂停不是暂停幻灯片的rdcmndPause
或rdcmndPaused
属性吗?
答案 1 :(得分:0)
我使用SoThink反编译Captivate SWF并研究了使用生成的XML脚本 将Captivate swf导入我的主AS3 Flash电影后跟踪([importedSwfRef] .movieXML)。
在每张幻灯片的末尾以物理方式添加小部件是“锤头”。做法。您不希望这样做100次,并且还需要客户方面的一定程度的专业知识来开发任何内容。理想情况下,您需要一个嗅探的脚本,并在开始使用addFrameScript()之前动态地为每个幻灯片剪辑添加一个stop()
只是有一个想法 - 也许你可以在每个幻灯片的末尾添加stop()?你知道幻灯片的数量,所以你可以通过Slide0_mc循环到SlideX_mc查询帧数,然后向Stop()添加一个回调函数;玩头 - 也许吧?