AS3无法在Loader上找到加载方法

时间:2015-06-16 00:53:39

标签: actionscript-3 flash flex

我正在尝试在this tutorial之后使用AS3从互联网加载图像。当我尝试编译应用程序时,我收到以下错误:

  

通过带有静态类型Loader的引用调用可能未定义的方法加载。

"use strict";

var ua = navigator.userAgent.toLowerCase();
var ie_version = (ua.indexOf('msie') != -1) ? parseInt(ua.split('msie')[1]) : false;
if (!ie_version && ua.indexOf("trident") !== -1 && ua.indexOf("rv:11") !== -1)
{
    ie_version = 11;
}

if (ie_version == 9 || ie_version == 10 || ie_version == 11)
{
    (function(){
        window.onresize = calculateTableCellHeights;
        calculateTableCellHeights();

        function calculateTableCellHeights() {
            // Fixes IE9/10/11 bug where table-cell doesn't inherit table height
            var tables = document.querySelectorAll(".table");
            for (var t = 0; t < tables.length; ++t)
            {
                var table = tables[t];
                var table_cells = table.querySelectorAll(".table-cell");
                for (var c = 0; c < table_cells.length; ++c)
                {
                    var table_cell = table_cells[c];
                    var display = window.getComputedStyle(table_cell, null).getPropertyValue("display");
                    if (display == "table-cell")
                    {
                        // Set fixed height
                        table_cell.style.height = table.offsetHeight+"px";
                    }
                    else
                    {
                        // If item is no longer a table-cell due to responsive stacking
                        // remove the height.
                        table_cell.style.height = "";
                    }
                }
            }
        }
    })();
}

以下是我正在使用的代码:

      my_loader.load(where, loaderContext);
                  ^

在此页面中compilerErrors(ErrorCode = 1061)表示当我尝试调用不存在的方法时会发生这种情况。

我正在使用Ubuntu 14.10并使用使用flex编译器的ProjectSprout进行编译。

1 个答案:

答案 0 :(得分:2)

您的问题是命名空间冲突(模糊的类名)。您发布的课程名为Loader,但您尝试导入另一个Loader课程。现在引用Loader时,AS3不知道您所指的内容。因此,它正在您的自定义load类(不存在)上寻找Loader方法。

要解决此问题,请将自定义类重命名为不太模糊(MyImageLoader或类似的东西) - 或者在引用显示包Loader时使用完全限定的类路径。例如

var my_loader:flash.display.Loader = new flash.display.Loader();