#12001/10/18 10:16:54
程序所要做的主要事情是不断的调用声音文件和相应的文字,并让它们同步显示,有点类似于"开天辟地"等解说型教学软件,但总体上做法有所不同,我这个程序本身没有很多变化,只是背景和对话的人物有变化,所以基本上就用了几帧(不足10帧),当然可以只用1帧来实现,不过得要多写几句lingo代码。
设计的基本思路是:
1、以自然段为准,每个段对应一个声音文件,格式是用压缩的swa,大小每个在50多K左右,大的也不超过100K。采用是外部调用,命令用得是:SOUNDFILE 1
THEMOVIEPATH&“题数\题数-段数.SWA“,也就是在projector同路径下建98个文件夹,每个文件夹里根据段落的不同有若干个声音文件,如1-1.swa,1-3.swa等等。
2、文字我曾因为慢的原因,尝试了不同的调用方法,最开始是把文字也同相应的声音文件放在同一个文件夹内,只是文字用一个txt文本,用得时候先调入一个text member中,然后再一段一段调用。命令用得是:getnexttext themoviepath&"题数\题数.txt",后来又改用fileio来调用,最后索性把文字也装入 内部演员表中,但发现仍没解决慢的问题。这不是症结所在。
3、大体编程思路是:
第1帧调用文字。
第2帧至第7帧是一个基于score的文字动画,即让文字从底部上升到屏幕中央。
第8帧调用声音文件。
第9帧等待声音,播放完后,离开当前帧,即进入第10帧。
第10帧主要是判断和计数,段落数加1,如果当前题已播放完,则题数加1,然后返回第1帧,继续进行,依次循环。题数和段落数用全局变量。
4、全程有一背景音乐在循环播放。
问题表现如题,在播放了5个题后,感觉比较明显,主要是文字老是不出,调用时背景音乐还出现断续现象。
我考虑应该是内存的问题,因为在编辑环境中,每当慢的时候我“purge“一下就好了,在运行中没法“purge“。程序中我要不断改写一个text member的text属性,这个text member就是显示在屏幕上的文字,所以要不断的换。那么慢的原因只有两个,一个是文字的原因,一个是声音的原因,我实在搞不清了,所以劳请各位帮助分析一下。