2011-06-07 50 views
1

请在我分支学习一些ActionScript时随身携带。AS3 - 在用户输入时更新flickr图像

我正在尝试将flickr整合到我创建的天气应用程序(yahoo weather api)中,并决定以flickrGrabber(http://blog.organa.ca/?p=19)作为起点。我有天气应用程序和flickrGrabber工作,但在初始加载之后更新flickrGrabber对我来说非常具有挑战性。

初始图像正在通过名为flickrLocationName的变量设置的搜索项拉动,我能够在输入新的邮政编码时成功更新变量值,但我似乎无法获取flickrGrabber卸载& reload与新的价值。我的flickrGrabber代码位于图层文档AS上。 flickrGrabber类可以在Src文件夹中找到,而var flickrLocationName从WeatherObject类中设置,该类也可以在Src文件夹中找到。

你可以看到我通过访问此链接的意思是: http://truimage.biz/WAS400/WeatherApp/Deploy/weatherApp.html

当然我的源代码可以在这里下载: http://truimage.biz/WAS400/weatherApp.zip

任何帮助将是非常赞赏。下面是一些示例代码:

import flickrGrabber; 
var apiKey:String = "####"; //The working API key is in the zip file 
var apiSecret:String = "####"; //The working API secret is in the zip file 
var flickrLocationName:String; 
var grabber:flickrGrabber; 

function locationImage():void 
{ 
    grabber = new flickrGrabber(1024,600,apiKey,apiSecret,flickrLocationName,false); 

    grabber.addEventListener("imageReady", onLoadedImage); 
    grabber.addEventListener("flickrGrabberError", onErrorImage); 
    grabber.addEventListener("flickrConnectionReady", onFlickrReady); 

    function onFlickrReady(evt:Event):void 
    { 
     grabber.loadNextImage(); 
    } 
    function onLoadedImage(evt:Event):void 
    { 
     addChildAt(grabber.image,0); 
    } 
    function onErrorImage(evt:ErrorEvent):void 
    { 
     trace("Report error: " + evt.text); 
    } 
} 

我敢肯定改变图像我需要删除

addChildAt(grabber.image,0); 

并重新运行该功能

locationImage(); 

但他是我最好的猜测。我已经在这3天了。

+0

尝试隔离问题并构建一个最小的示例,以便您可以发布带有问题的代码。 – Matthias 2011-06-07 18:29:38

+0

看起来像它对我有用。我输入1压缩机去它的作品。我通过按X键5次删除第一个邮编,然后输入一个新的邮编,然后按去和那个工程。所以有什么问题? – 2011-06-07 18:59:39

+0

@The_asMan,天气确实可以正常工作,但是当我回想起函数并传递新变量值时,您会看到背景(海洋景观)不会改变。 – 2011-06-07 19:34:13

回答

0

摸着摸了摸了3天后。