这是因为按钮是在 Flash IDE 中创建的(因为本教程是使用 Flash IDE 编译的)。由于按钮在代码方面不存在,因此您会收到该错误。
您可以通过代码自己创建元素,或者使用 Flash IDE 并导出必要 UI 元素的 swc/swf 并将其包含在您的 flashDevelop 项目中。我假设你会想做后者 -
在 Flash IDE 中,打开 .fla,打开库面板,找到进度资源,右键单击它并调出属性。选中“Export For ActionScript”选项,然后在“Class”字段中为其指定一个唯一名称,例如“SelectBtn”。对“progress”资产做同样的事情(只有一个不同的类名,比如“ProgressBar”)。转到 Flash 发布设置,然后在 Flash 选项卡上选择“导出 swc”。发布文件并将发布的 swc 放在您的 flash Develop 项目文件夹中(通常是项目的 lib 文件夹)。
在 Flash Develop 中,右键单击您的 swc 并选择“添加到库”。(您可能需要再次右键单击并转到选项并选择完全包含选项)。现在您可以访问您在 Flash 中设置的那些类。然后在您的代码中,声明并初始化显示资产:
public var select_btn:SelectBtn = new SelectBtn();
public var progress_mc:ProgressBar = new ProgressBar();
您还需要执行该 textField 。不过,在您的代码中执行此操作将是最简单的。
public var label_txt:TextField = new TextField();
请记住,您需要以这种方式在所有三个元素上手动定位和使用 addChild。如果您想保持在 Flash 中的定位,只需选择舞台上的所有元素并按 F8 将它们转换为 MovieClip。然后在库设置链接中与其他链接相同,并给它一个类似“DisplayAssets”的类名并导出一个新的 swc。然后您的代码将如下所示:
public var select_btn:Sprite;
public var progress_mc:Sprite;
public function Uploader(){
var displayAssets:DisplayAssets = new DisplayAssets();
addChild(displayAssets);
select_btn = displayAssets.select_btn;
progress_mc = displayAssets.progress_mc;
//the rest of the code
}