as3变量和具有相同名称的包导致Flash构建器抛出3599错误

时间:2012-07-14 11:22:48

标签: actionscript-3 actionscript flash-builder

刚刚切换到Flash构建器并从flash中运行as3代码会导致大量3599错误:

3599定义名称与导入的包名称相同。对该名称的非限定引用将解析为包而不是定义。

我知道这是因为我的包与包含在包内的类属性变量具有相同的名称,但我不知道解决这些名称冲突的最佳做法是什么。问题是我喜欢在课后命名包和变量。例如:

package icon {
import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;

public class IconMaker extends Sprite{

    private var icon:Icon;

    public function IconMaker(icon:Icon):void{
        this.icon = icon;
    }
    public function make():void {
        icon.iconButton = new IconButton();
        icon.addChild(icon.iconButton);
    }
}
}

所以我的问题是什么是最佳做法:下划线前缀(_icon)或“我的”前缀(myicon)还是应该重命名包?或者是什么。

非常感谢

1 个答案:

答案 0 :(得分:0)

我建议重命名包。 Naming conventions for packages如下:com.publisher-website.app然后跨越更具体的包,如graphics.icons或类似的东西。源代码适用于Java,但基本相同,适用于AS3。