电晕加载远程图像加载在另一个场景中

时间:2014-02-23 07:30:22

标签: corona

我正在使用display.loadRemoteImage从远程位置获取许多图像。

一切正常,但是如果我点击一个按钮转换到另一个场景,而1个(中)图像仍在加载,则图像会显示在另一个场景上。

我不希望这种情况发生。

我怎么能:

  1. 在gotoScene
  2. 之前取消loadRemoteImage
  3. 全部删除 新场景中不属于该场景的元素。我不 因为loadRemoteImage被添加到一个中,所以有一个ID display.newGroup()
  4. 干杯

3 个答案:

答案 0 :(得分:0)

display.loadRemoteImage()不返回可用于取消下载的ID,如网络。*函数。这个API调用只是围绕network.request的一种方便的方法。 Corona Labs最近将display.loadRemoteImage()的代码发布到此处的文档中:

http://docs.coronalabs.com/api/library/display/loadRemoteImage.html

您可以接受该代码并进行修改,以便取消通话。

答案 1 :(得分:0)

我认为你从loadRemoteImage加载的图像分组问题。

此api将直接在场景中加载图像并位于视图前方。一旦你从内存中切换或删除场景,它仍然会保持在视野中。

你应该使用network.download。它可以选择将下载的图像插入场景组,您可以编辑,删除或操作下载的图像。

在networkListener中,您可以在场景组中插入myImage:  这是代码块:

local function networkListener( event )
        if ( event.isError ) then
                print( "Network error - download failed" )
        elseif ( event.phase == "began" ) then
                print( "Progress Phase: began" )
        elseif ( event.phase == "ended" ) then
                print( "displaying response image file" )
                myImage = display.newImage( event.response.filename, event.response.baseDirectory, 60, 40 )
                myImage.alpha = 0
                transition.to( myImage, { alpha = 1.0 } )
        end
end

local params = {}
        params.progress = true

network.download(
        "http://www.coronalabs.com/demo/hello.png",
        "GET",
        networkListener,
        params,
        "helloCopy.png",
        system.TemporaryDirectory
        )

答案 2 :(得分:0)

您可以禁用从网络加载图像的下一个场景按钮,也可以取消下载网络。