【问题标题】:AS3 Importing a class to main timelineAS3 将类导入主时间线
【发布时间】:2011-11-20 05:08:38
【问题描述】:

你好,我有一个 android 项目正在运行,我想导入一个 actionscript 类以在主时间轴中使用。我编写了该类并导入了它,但出现以下错误:

第 1 行 5001:包 'com' 的名称不反映此文件的位置。请更改此文件中的包定义名称,或移动该文件。

这是时间线

            import com.networkScores;

            var network:networkScores = new networkScores();
            addChild(network);
            trace(network.arr[0]); 

这是来自类文件

            package com 
            {
                import flash.net.URLLoader;
                import flash.net.URLRequest;
                import flash.events.Event;
                import flash.display.MovieClip;

                public class networkScores extends MovieClip
                {

                         public function networkScores() 
                         {
                         }
                }
             }

有人知道我在这里做错了什么吗?

【问题讨论】:

  • 我也确实将 networkScores.as 文件添加到了类路径中,但仍然没有

标签: flash actionscript-3 class classpath


【解决方案1】:

确保将 .as 类文件保存在 com 文件夹中,因为名称空间本质上是文件夹结构。然后确保类路径指向正确的位置。 例如“c:/as3dev/projectname/com/networkScores.as”,可以添加“c:/as3dev/projectname/”的类路径。然后当然在您的项目属性中将类设置为 com.networkScores,如果您还没有这样做的话。

【讨论】:

    【解决方案2】:

    我猜你的班级是在错误的目录,文件夹中。包名称,本质上定义了类在源目录之间的分布方式。这样做是为了确保各种同名类的兼容性。我猜,您将 networkScores 类放在您的主应用程序所在的同一目录中。在这种情况下,您应该将包定义重命名为空,如下所示:

    package
    {
        public class networkScores extends MovieClip
        {
            public function networkScores() 
            {
            }
        }
    }
    

    或者,您应该将networkScores 类放入项目主目录中名为“com”的目录/文件夹中。

    您可以阅读更多关于包的信息here。

    【讨论】:

    • 我猜你的意思是删除示例中的 com 包名称,但你没有。
    【解决方案3】:

    可能有不需要的项目路径,我遇到了同样的问题。
    我只是将我粘贴的框架复制到一个新文件中,它就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      相关资源
      最近更新 更多