0

我是 Actionscript 的新手。可能有更好的方法来做到这一点,如果有的话,我会全神贯注。

我想要做的是让背景层运行,比如循环运行 150 秒。然后有另一个层(我们称之为第 1 层),上面有一个对象,循环 50 秒。有没有办法在背景层循环的 150 秒内让第 1 层循环 3 次?

这就是我希望第 1 层更短的原因:当输入某个组合(例如 A1)时,一个项目会从第 1 层的对象前面弹出。

我还没有为它编写任何代码,但我希望的计划是让背景层连续运行,然后在第 1 层上为从第 1 层上的对象出来的每个项目设置不同的场景部分。这样当 A1 是输入后,Layer1 可以 goToAndPlay(51) 而不弄乱背景层。

如果它可以帮助您完全理解它,那么它就是一个自动售货机项目。我小组的自动售货机是 TARDIS。当你从自动售货机中输入你想要的东西时,TARDIS 正在太空中飞行,而东西却从里面弹出来。

4

1 回答 1

0

如果我理解正确,背景是一个在自己的时间轴内循环的影片剪辑。当 Flash 通过时间线播放时,时间取决于计算机的性能和动画的复杂程度。您可以将音轨设置为“流式传输”以锁定时间,如果 CPU 过载,则会丢帧。我使用静音设置无限循环并播放模式“流媒体”在没有音频可用时执行此操作。

我建议不要使用时间线动画,而是使用 TweenMax http://www.greensock.com/tweenmax/,因为它允许补间链接,即创建一系列顺序和并行补间。当您使用补间时,您可以以秒为单位定义时间,并且可以使用 1.25 秒等值。它将准确到您定义的时间。您还可以在完成时运行方法,使用缓动和各种好东西。如果您习惯使用它,您将能够在您的 Flash 项目中创建更复杂的交互,并且还能够比弄乱时间线更容易地更改动画和时间。

事实上,在招聘 Flash 开发人员时,我们总是通过询问他们是否喜欢在时间轴上或以编程方式制作动画来筛选候选人。尽管 Flash 即将退出市场,但仍然值得学习,因为这些想法将适用于 javascript 和任何出现的新技术。

于 2012-10-23T01:51:33.360 回答