【问题标题】:How do I add MovieClips to the stage while using AIR?如何在使用 AIR 时将 MovieClips 添加到舞台?
【发布时间】:2014-03-26 11:21:50
【问题描述】:

所以我在 AS3 中混了一阵子,做了一些基本的启动 flash 游戏,但后来发现我可以使用 air 为移动平台制作它们。所以我尝试复制我之前所做的工作,但我遇到了问题。

现在我只是想了解如何将 MovieClip 的实例添加到舞台。我将图像转换为带有自己的类的 MovieClip,因此我可以稍后对其进行操作(例如四处移动),并且在我的 Main 类中有这个:

class Main extends MovieClip
{
    var space:Background;  //Background is the MovieClip

    function Main():void
    {
        space = new Background(stage);
        stage.addChild(space);
    }
}

但是当我运行程序时,图像没有显示出来。当我只有一个标准的 AS3 程序时,它就是这样工作的,我不明白为什么当我尝试使用 AIR 时它会有所不同。任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 你的主班是Document班吗?
  • 这就是问题所在!我不敢相信我错过了。文档类部分一直是空白的。谢谢!

标签: actionscript-3 air movieclip addchild


【解决方案1】:

在第一行的“class”前面加上“public”一词。

还要从构造函数的第一行中删除“阶段”:将其设为space = new Background();

您真的需要 addChild 语句中的“阶段”吗?不必要的冗长!

【讨论】:

  • -在类前面添加 public 不会改变与未显示图像相关的任何内容,我让我的背景类在阶段使用它作为程序后面的东西的参考,不,我想我真的不需要 addChild 语句前面的舞台
【解决方案2】:

我可以通过 AIR 编译器(AIR SDK 3.8 或更高版本)运行此代码:

package  

{
    import flash.display.MovieClip;

    public class MAIN extends MovieClip
    {
        var space:Background; 

        public function MAIN()
        {

            space = new Background();
            stage.addChild(space);
        }
    }

}

背景类中的图像显示得很好。我的“背景”是为 Actionscript 链接的库符号。如果您的“背景”是纯 Actionscript,您是在向 it 添加图形吗?

【讨论】:

  • 我的库中也有我的“背景”作为符号,链接到 Actionscript。我有我想在我的库中使用的图像,我转换为符号。我刚刚复制了你的 main 代码来测试它,它仍然对我不起作用。
  • 你能告诉我你的背景课程有什么吗?
  • 只是一个棕色方块。没什么特别的!确保您的 .x 和 .y 将您的图形放在舞台上可见的位置。您的背景是 AS 类还是具有 AS 链接的库符号?
【解决方案3】:

Rajneesh Gaikwad 给出了答案,我没有将 Main 类作为我的 Document 类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2012-11-22
    • 2012-04-10
    • 2010-12-26
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多