【问题标题】:Flash CS3 - start whole stage/movie clip from beginningFlash CS3 - 从头开始​​整个舞台/电影剪辑
【发布时间】:2011-05-04 19:52:21
【问题描述】:

我有一个 Flash CS 项目。我有一个舞台和一些框架。如何使用 AS3 从头开始​​所有项目?还是从头开始所有阶段的内容?有可能吗?

【问题讨论】:

    标签: actionscript-3 flash-cs3


    【解决方案1】:

    MovieClip 有一个函数gotoAndPlay(frameNumber)。 因此,您需要一个直接添加到舞台并包含所有其他电影剪辑的影片剪辑。

    注意,帧数从 1 开始。

    更新: 这就是我会做的: 制作一个包装影片剪辑,将其导出为动作脚本。

    在我的主(文档)类中,我会创建一个变量,即 world:MovieClip 来保存包装器。 然后我可以动态创建和删除这个movieclip,然后重新创建。

    正如我所说,如果你小心引用,垃圾收集器将保持内存清洁。没有引用、eventListeners 且不在显示列表中的对象,将在下一次 GC 迭代时被删除。

    【讨论】:

    • 我可以创建一个没有影片剪辑的舞台 - 空 CS3 项目吗?问题是我想再次拥​​有“新鲜”的电影剪辑,而内存中没有任何垃圾。所以我想也许有一个 replay() 函数或类似的东西,它会从一开始就启动所有项目:/
    • Okkk,我非常接近解决方案,但是如何从内部访问父级影片剪辑?我将其命名为 mainGame 并在其中一个动作的影片剪辑中尝试将其删除,但我无权访问 mainGame:/ 我不确定我能做到,如果不能,我必须想办法在电影剪辑中设置一个值,所以我可能需要编写自己的类并重建我所有的项目:/不好:/但非常感谢你的这个想法!下次我会按照你写的方式设计我的应用程序。
    • 有几个选项:在您将 MC 添加为 mainGame 子项后,MC 将具有父属性,您可以使用它。另一种方法是使用静态变量,但我不知道如何使用您的架构来做到这一点。最后一个选项:使用事件。在您的 mainGame 中,对 MC 执行 yourMC.addEventListener("end", yourHandler)。在您的 MC 中,当您不想重新启动时,dispatchEvent("end")。在删除 MC 之前不要忘记删除监听器
    猜你喜欢
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多