ActionScript 3错误1037:无法嵌套包

时间:2009-02-13 08:04:51

标签: actionscript-3

我是AS3的新手。学习AS3时,我从Adobe示例中获取以下代码并尝试运行它会出现类似

的错误
 "1037: Packages cannot be nested."

这是什么意思?

请告诉我如何执行?或者此代码中的任何问题?

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldType;

    public class TextField_alwaysShowSelection extends Sprite {
        public function TextField_alwaysShowSelection() {
            var label1:TextField = createTextField(0, 20, 200, 20);
            label1.text = "This text is selected.";
            label1.setSelection(0, 9);
            label1.alwaysShowSelection = true;

            var label2:TextField = createTextField(0, 50, 200, 20);
            label2.text = "Drag to select some of this text.";
        }

        private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
            var result:TextField = new TextField();
            result.x = x; result.y = y;
            result.width = width; result.height = height;
            addChild(result);
            return result;
        }
    }
}

5 个答案:

答案 0 :(得分:3)

您需要创建一个动作脚本文件,然后将该类添加到fla文件属性中的文档类,然后它不会给您一个错误

答案 1 :(得分:2)

您的代码应该编译,前提是它位于根源文件夹(flex builder中的“src”)中。你确定这是整个文件吗?

错误意味着您已将package {}语句嵌套在另一个package {}语句中。

答案 2 :(得分:1)

如果您想在时间轴中包含AS3,请使用:

import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;


     function TextField_alwaysShowSelection() {
        var label1:TextField = createTextField(0, 20, 200, 20);
        label1.text = "This text is selected.";
        label1.setSelection(0, 9);
        label1.alwaysShowSelection = true;

        var label2:TextField = createTextField(0, 50, 200, 20);
        label2.text = "Drag to select some of this text.";
    }

     function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
        var result:TextField = new TextField();
        result.x = x; result.y = y;
        result.width = width; result.height = height;
        addChild(result);
        return result;
    }

答案 3 :(得分:0)

你是如何运行这个文件的?这不是一个完整的文件。如果您正在使用flex,则需要支持的MXML代码。但是,错误表明您正在使用src文件夹。如果你给出完整的程序,那将是件好事。

答案 4 :(得分:0)

如果您使用Flash,请将该代码放在名为“TextField_alwaysShowSelection.as”的文件中,将其放在FLA旁边,并将该类名设置为FLA“属性”面板中的DocumentClass ...所以其中它说“Class:”写“TextField_alwaysShowSelection”。