2012-10-21 47 views
1

我遇到問題,因此當我調用storyboard.purgeScene()時,我的全局顯示對象似乎被刪除。當我說「全球性」,它們其實我把它們存儲在用戶定義的故事板表,避免使用實際的全局變量:清除場景會導致全局顯示對象從內存中刪除

我的圖像數據庫存儲在外部文件toy_database.lua:

local storyboard = require "storyboard"; 

    storyboard.globalVars.toys = { 
      ball1 = { 
        src = 'img/stock-vector-soccer-ball-trimmed.png', 
      } 
    } 


main.lua:

​​3210


我在main.lua加載某些圖像:

storyboard.globalVars.toys["ball1"].imgPtr = display.newImageRect(storyboard.globalVars.toys["ball1"].src, w, h); 


然後我去另一個場景:

storyboard.gotoScene("mainFloorScene"); 


這裏一切都很好,顯示對象是accessable。我清除那個場景並轉到另一個場景:

storyboard.gotoScene("openBoxScene") 
[in didExitScene()]: storyboard.purgeScene("mainFloorScene") 


這裏的一切都很好。最後,我再回到第一現場,清除途中當前場景:

storyboard.gotoScene("mainFloorScene", "fade", 400); 
[in didExitScene()]: storyboard.purgeScene("openBoxScene") 


早在第一個場景中的圖像對象已被刪除。如果我註釋掉行:

storyboard.purgeScene("openBoxScene") 


它工作得很好,所以我有一個解決方法,但我想這種行爲解釋。我期望場景清除只能刪除那個場景的局部顯示對象。

發生了什麼事?

+0

iamge被刪除,或者只是不顯示? – speeder

回答

0

我正在使用完全相同的方法來存儲我的數據。我也使用purgeScene,但我的數據沒有被刪除。我現在不想測試這個。我建議你在舊版本上試試這個。