【问题标题】:How could I compile the code for this Flash tutorial?我如何编译这个 Flash 教程的代码?
【发布时间】:2012-08-21 17:29:57
【问题描述】:

我开始阅读本教程:http://active.tutsplus.com/tutorials/actionscript/creating-a-reusable-flash-uploader-with-actionscript-3-0-and-php/

我正在使用 FlashDevelop,并将完整代码粘贴到 ActionScript 文件中。我收到的错误是这样的:

C:\Users\tempus\Documents\uploaderas\Uploader.as(30): col: 4 Error: Access of undefined property select_btn.
select_btn.addEventListener( MouseEvent.CLICK, browse );
^
C:\Users\tempus\Documents\uploaderas\Uploader.as(31): col: 4 Error: Access of undefined property progress_mc.
progress_mc.bar.scaleX = 0;

...

我知道出现错误是因为尚未声明对象(并且它们似乎是从某处实例化的),但我不明白我应该如何/包含什么来声明它们。你能给我指出一个解决方案吗?

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    这是因为按钮是在 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();
    

    您还需要执行该文本字段。不过,在您的代码中这样做是最简单的。

    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
    }
    

    【讨论】:

    • Downvote 不是来自我 :) 。下载代码提供了一个 swf 文件,但我不确定如何处理它。我应该以某种方式从代码中加载它吗?我在 FlashDevelop 中有一个“添加到库”选项,并且在构建项目时收到相同的错误。
    • 我刚刚查看了 .fla,他们没有链接设置,这就是为什么您仍然会收到错误。进度条和选择按钮需要有自己的链接类名称,然后您必须再次导出它。之后,您将能够通过 Flash 开发访问它,我将使用更具体的说明更新我的答案
    • 感谢您抽出宝贵时间进行如此详细的解释。如果您有时间,可以看看stackoverflow.com/questions/12060555/… 吗?谷歌搜索“在没有类的情况下编译 flash 文件”并没有给我相关的结果。
    猜你喜欢
    • 2016-04-18
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多