在我的代码中,我定义了以下内容:
<s:Image id="test" x="50" y="50" width="30" height="30" click="onClick_clickHandler(event)" smooth="true" smoothingQuality="high" source="@Embed('icons/myImage_60_off.png')"/>
我想要的是每次用户点击图像时都能够改变图像的来源 - 类似于收藏夹在浏览器上的工作方式。
我不知道如何从我的代码中更改图像的来源。
谢谢
答案 0 :(得分:0)
我的解决方案中有一个隐藏的数据网格,因为它以可见的方式开始。
图片看起来像这样:
<mx:Image top="153" left="10" right="10" bottom="5" source="{dgpick.selectedItem.ImageFile}" />
每次有人点击图片时,我都会增加数据网格的选定索引,标签会显示相应的数据,因为它们也绑定到数据。
图像还可以包含指向XML文件的链接,您可以像这样加载:
<s:HTTPService id="Config"
url="config.xml"
result="resultHandler(event)"/>
private function resultHandler(event:ResultEvent):void
{
ImagesURL = event.result.images.ImagesURL[iCounter];
}
每次有人点击图片时,您都可以增加计数器,等等。
希望这会给你一些想法。
有20种方法可以做到这一点。
如果您需要更多代码,请根据需要添加评论。
答案 1 :(得分:0)
我终于做到了!
public var image_loader:Loader;
//定义一个新的装载机
image_loader = new Loader();
//在所需位置创建新的加载器(在我的情况下,在页面的初始化方法中)
image_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
//添加一个监听器和一个函数来分配给监听器
取决于命令必须执行的位置
image_loader.load(new URLRequest('location of the image'));
//这将动态加载图像
function imageLoaded(event:Event):void {image_Id.source = image_loader;}
//其中image_Id是s的id:要修改的图像标签
另外,我不得不从先前发布的s:Image标签中删除源代码
其余的只是应用程序实现功能所需方式的逻辑,所以它几乎留给了开发人员的愿望