在Flash中创建新阶段

时间:2014-08-06 21:45:40

标签: flash stage

好的,所以我一直在关注Flash游戏开发的几个教程。其中一些人提到创建一个新阶段而不是默认阶段,但不要详细介绍它们或如何创建它们。

其中一个教程的示例。

"内容层存储将进行Flash游戏的mcGameStage。请注意,我们正在使用名为mcGameStage的单独MovieClip来执行所有操作。在某种程度上,您将看到以后我们需要滚动内容的好处,或完全删除游戏元素。它会比你把所有东西加载到舞台上更好。"

我不确定这里发生了什么,并希望得到一点澄清。

1 个答案:

答案 0 :(得分:0)

本教程建议您将游戏内容添加到mcGameStage实例中。

默认情况下,您总是在应用程序中拥有主舞台,然后将mcGameStage添加到主舞台,主舞台将是一个容纳所有游戏显示对象的容器。然后将任何可视元素添加到mcGameStage。该教程说,如果要将它们全部添加到mcGameStage容器中,操作它们会容易得多。

除此之外,你永远不能真正创造另一个"舞台"除了默认阶段之外,阶段是唯一的,不能以这种方式操纵。

如果您要使用主文档类,实际上会发生这种情况。你的主要班级是舞台上的孩子。

一种入门方法,您可以创建基本的SpriteMovieClip对象。精灵是一个非常基本的容器,可以用于基本需求,包括分层和交互。 Sprite和MovieClip之间的区别在于Sprite没有时间轴。

var gameContainer:Sprite = new Sprite()
stage.addChild(gameContainer:Sprite)

然后,您可以将任何游戏元素添加到gameContainer。

但是,我不希望你感到困惑。在学习的这个阶段直接在舞台上工作没有任何内在的错误。当您尝试将此.swfs动态加载到应用程序中时会出现问题。

另一种方法是使用您的Flash文件的文档类。假设您正在使用Flash IDE,只需在属性面板中创建一个自定义文档类并对其进行处理。该类自动添加到舞台中。单击Class:字段旁边的铅笔图标,选择文档类的名称(我们称之为游戏),然后创建它。

你最终会得到这样的东西:

package  {
    import flash.display.MovieClip;
    public class Game extends MovieClip {
        public function Game() {
            //Things happen
        }
    }
}