从库中加载动态图像
Loading Dynamic Image from Library
在我正在处理的 Flash (Actionscript 3.0) 项目中,我试图从库中加载一个 PNG 文件,但是直到 运行 时间才确定应加载哪个图标。
该项目是一个天气栏,它加载与作为 JSON 对象返回的数据源关联的图标。我尝试了以下方法:
var iconData:Class = getDefinitionByName("i"+image);
var i:* = new iconData(130, 130);
var bitmap:Bitmap = new Bitmap(i);
if(p==0){
today_mc.today_icon.addChild(bitmap);
}
有一堆评价恰好决定了"image"。
所有导入的文件都作为 类 包含在 Actionscript 中,如下所示:
我得到的错误是:
Implicit coercion of a value with static type Object to a possibly
unrelated type Class.
因此,如果 JSON 响应显示天气代码为“33”,并且我在脚本中确定代码 33 = icon 4 (i4),我需要将 i4.png 加载到阶段。
在我在 Adobe 网站上阅读的函数 getDefinitionByName
示例中,位于 here, they use the as
运算符以在将值赋给变量之前评估表达式。
所以我建议先试试这个:
var iconData:Class = getDefinitionByName("i"+image); as Class;
还要确保指定了正确的导入语句。在链接示例中,他们列出了以下内容;但是,根据您的应用程序的需要,我不确定您是否需要前两个:
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
我建议将图像保存在 Flash 文件之外。否则,每次都会下载所有 30 个 png,即使用户只需要看一个。然后使用 AS3 Loader class 只加载运行时需要的 png。
在我正在处理的 Flash (Actionscript 3.0) 项目中,我试图从库中加载一个 PNG 文件,但是直到 运行 时间才确定应加载哪个图标。
该项目是一个天气栏,它加载与作为 JSON 对象返回的数据源关联的图标。我尝试了以下方法:
var iconData:Class = getDefinitionByName("i"+image);
var i:* = new iconData(130, 130);
var bitmap:Bitmap = new Bitmap(i);
if(p==0){
today_mc.today_icon.addChild(bitmap);
}
有一堆评价恰好决定了"image"。
所有导入的文件都作为 类 包含在 Actionscript 中,如下所示:
我得到的错误是:
Implicit coercion of a value with static type Object to a possibly unrelated type Class.
因此,如果 JSON 响应显示天气代码为“33”,并且我在脚本中确定代码 33 = icon 4 (i4),我需要将 i4.png 加载到阶段。
在我在 Adobe 网站上阅读的函数 getDefinitionByName
示例中,位于 here, they use the as
运算符以在将值赋给变量之前评估表达式。
所以我建议先试试这个:
var iconData:Class = getDefinitionByName("i"+image); as Class;
还要确保指定了正确的导入语句。在链接示例中,他们列出了以下内容;但是,根据您的应用程序的需要,我不确定您是否需要前两个:
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
我建议将图像保存在 Flash 文件之外。否则,每次都会下载所有 30 个 png,即使用户只需要看一个。然后使用 AS3 Loader class 只加载运行时需要的 png。