我正在尝试在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进行编译。
答案 0 :(得分:2)
您的问题是命名空间冲突(模糊的类名)。您发布的课程名为Loader
,但您尝试导入另一个Loader
课程。现在引用Loader
时,AS3不知道您所指的内容。因此,它正在您的自定义load
类(不存在)上寻找Loader
方法。
要解决此问题,请将自定义类重命名为不太模糊(MyImageLoader
或类似的东西) - 或者在引用显示包Loader时使用完全限定的类路径。例如
var my_loader:flash.display.Loader = new flash.display.Loader();