刚刚切换到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)还是应该重命名包?或者是什么。
非常感谢
答案 0 :(得分:0)
我建议重命名包。 Naming conventions for packages如下:com.publisher-website.app然后跨越更具体的包,如graphics.icons或类似的东西。源代码适用于Java,但基本相同,适用于AS3。