【问题标题】:AS3 adobe air Movie clips sounds playing even when movie clip is skipped on main timeline即使在主时间线上跳过影片剪辑,AS3 adobe air 也会播放影片剪辑
【发布时间】:2013-06-30 13:33:15
【问题描述】:

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

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

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

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

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

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

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

有什么想法吗?

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

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

【问题讨论】:

  • 放置一个 trace() 语句来跟踪您的 MovieClip 的实例名称,并查看它是否在输出中返回“null”。

标签: android actionscript-3 flash air adobe


【解决方案1】:

取自http://forums.adobe.com/message/4451672

点击有音频的框架。打开属性面板并检查同步下拉菜单。它默认设置为事件。将其更改为流式传输。现在确保包含音频的帧有足够的帧来播放完整的音频。

通过使用 Sync:Event,您要求 Flash 播放帧中的音频,无论它是否在该帧中。流仅在播放头当前正在播放该剪辑时播放。播放头在剪辑之外的第二秒,当设置为流时,它将停止播放。

因此,在您的屏幕截图中,设置 Sync:Stream 后,您需要将帧 (F5) 添加到包含音频的层(您可以看到波形)。如果你不这样做,你只会听到你扩展的音频帧数。

【讨论】:

  • 感谢您的帮助,我在 oldschool flash 方面相当先进,我了解基础知识,我不认为我犯了一个菜鸟错误!查看我的原始帖子,我添加了一个带有进一步测试的编辑
猜你喜欢
  • 2012-05-26
  • 2011-08-10
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多