2014-09-03 28 views
2

我有以下代碼:科羅娜SDK widget.newButton()沒有出現在模擬器裏面的時候的場景:創建

function scene:create(event) 

    local sceneGroup = self.view 

    -- Initialize the scene here. 
    -- Example: add display objects to "sceneGroup", add touch listeners, etc. 

    local options1 = { 
    x = display.contentWidth/2, 
    y = 200, 
    onRelease = button, 
    lableAlign = "center", 
    emboss = true, 
    id = "1", 
    label = "Button1" 
    } 

    local options2 = { 
    y = 300, 
    x = display.contentWidth/2, 
    onRelease = button, 
    lableAlign = "center", 
    emboss = true, 
    id = "2", 
    label = "Button2" 
    } 

    local button1 = widget.newButton(options1) 
    local button2 = widget.newButton(options2) 
    sceneGroup:insert(button1) 
    sceneGroup:insert(button2) 
end 

當我把這個代碼放在一個獨立的文件(而不是場景)的按鈕顯示如所假設的。但是現在我將這個獨立文件變成了一個場景,由於某種原因,上面的代碼在模擬器中沒有任何結果。有任何想法嗎?

+0

我們將需要更多代碼 - 向我們展示如何轉換到場景中,並且您是否在新場景中包含小部件? – 2014-09-03 11:47:18

+0

這是我的main.lua文件。也許這是問題? – user1790813 2014-09-03 11:55:27

+0

是的,這是問題所在。 – 2014-09-03 11:56:59

回答

3

你有兩個選擇:(按照您的意願命名)

  1. 移動場景中的一個yourScene.lua文件,在其中你調用storyboard.newScene()(無參數),並在您main.lua您使用storyboard.goto('yourScene')
  2. 您可以創建通過storyboard.newScene('yourScene')main.lua現場,並通過storyboard.goto('yourScene')

從main.lua內後藤它基本上你的場景可以在一個單獨的模塊,共rona會根據模塊名稱自動命名,main.lua會自動命名,或者您的場景可以位於同一個模塊中,但是您必須自己給它一個名稱,並且main.lua可以「轉到」它(在同一個模塊中)。你甚至可以在同一模塊中有多個場景。

我建議你在單獨的模塊中有你的場景,它只是爲了更好的模塊化。猜想:也許方法2是原始方法,當開發人員發現他們的場景變大並需要將它們移動到單獨的模塊時,方法1被添加。

2

上面貼出的代碼在main.lua文件中。因此,這個場景永遠不會被調用。解決方法是將上面的文件重命名爲menu.lua,然後從main.lua調用此場景。