0

我对通过 Adob​​e Air 为 android 开发非常陌生,并且对使用 actionscript 3 是半新的。

我正在重新编写一个作为 actionscript 3 和 android 部署制作的旧 actionscript 2 游戏,并且编码部分进展顺利,没有问题。但是一个奇怪的问题让我难住了!

当我跳过时间轴上的影片剪辑时,该影片剪辑的时间轴上的任何声音或其中的任何影片剪辑都会开始播放!我不确定电影剪辑在被跳过后是如何存在的,或者为什么它会忽略任何 stop(); 在该电影剪辑的时间线上并播放声音。

例如,我的主菜单位于第 3 帧。其中一个按钮的功能将主时间线发送到第 6 帧 gotoAndStop,即我的实际游戏屏幕所在的位置。但是,在第 4 帧上有一个任务简报影片剪辑,并且此影片剪辑的音频在从第 3 帧跳到第 6 帧后播放,即使它以某种方式存在,它也不应该播放音频,因为有一个 stop();在流式音频开始之前的第 1 帧。

我的大型地图部分movieclip中的地图对象也有类似的问题,例如。跳到第 100 号地图会一遍又一遍地播放该地图 MC 的第 1-99 帧上存在的电影剪辑中的各种声音。

任何想法如何发生?我总是假设用 gotoAndWhatever 跳过的时间线帧实际上并没有加载,即使它们是跳过帧上存在的任何 MC,在该帧不再是当前时间线帧之后也不应该存在。

我的电脑一直有硬件问题,一周后有新的,但我认为这不是这个问题的原因。

有任何想法吗?

////编辑更新好的,所以我做了一个测试。我开始了一个新的 adobe 空气文件。然后,我在第 99 帧创建了一个包含事件声音的影片剪辑,然后在第 100 帧添加了一个停止点。然后我将该影片剪辑放在主时间线的第 5 帧上。在主时间线的第 1 帧上,我放了一个 gotoAndStop 10 并在其中添加了一个空白帧以使其着陆。这工作正常,没有声音播放,我的 MC 被正确跳过。

但是,如果当我再次将该movieclip转换为movieclip时(现在是两层movieclip,声音在子movieclip中),现在声音在跳过时播放,一遍又一遍,忽略我在它之后放置的停止...我希望我解释得足够好,我很难过!!

4

1 回答 1

0

Taken from http://forums.adobe.com/message/4451672:

Click in the frame that has audio. Open the properties panel and check the Sync drop-down. It is set to Event by default. Change it to stream. Now make sure the frame that has the audio has enough frames to play the full audio.

By using Sync:Event you are asking flash to play the audio in the frame regardless if it's in that frame or not. Stream only plays if the playhead is currently playing that clip. The second the playhead is outside the clip, when set to stream, it will stop playing.

So in your screenshot, after you set Sync:Stream you will need to add frames (F5) to the layer that contains the audio (you can see the waveform). If you don't you'll only hear however many frames of audio you extend.

于 2013-06-30T16:39:17.267 回答