2014-03-01 93 views
0

我正試圖將隱藏在屏幕右側的顯示對象移到場景中。它對圖像(即背景)有很好的效果,但與文本無關(通過print()調試它們似乎是正確的,但它們從不顯示,我已經嘗試過obj:toFront)。 我認爲他們可能在顯示對象內工作,所以我把所有東西都放在顯示對象中:沒有。只是文字?都不是。任何人都知道爲什麼/如何覆蓋這個?Lua - Corona SDK - 文本沒有出現在顯示內部對象

function tscreen:init() 
    local textGroup = display.newGroup() 

    local menuBackground = self:getBtn("src/bgMenu.png") 
    menuBackground.isVisible = false 
    menuBackground.anchorX = 0.5 
    menuBackground.anchorY = 0.5 
    self.menuBackground = menuBackground 

    local optionsText = { 
     parent = textGroup, 
     text = "Hello World",  
     x = centerX, 
     y = centerY, 
     width = 128,  
     font = native.systemFontBold, 
     fontSize = 14, 
     align = "center" 
    } 
    local workText = display.newText(optionsText) 
    workText:setFillColor(1, 0, 0) 
    setPos(textGroup, W, 0) 
      --setPos() is a custom function that assigns x and y coords 
    textGroup.isVisible = false 

    self.textGroup = textGroup 
    end 

function tscreen:show() 
    local menuBackground = self.menuBackground 
    local textGroup  = self.textGroup 

    local inTime  = 1200 

    setPos(menuBackground, 2*W + centerX, centerY) 
    menuBackground.isVisible = true 

    setPos(textGroup, W, 0) 
    textGroup.isVisible = true 

    self:cancelTween(menuBackground) 
    self:cancelTween(textGroup) 

    menuBackground.tween = transition.to(menuBackground, {time = inTime, transition = easing.outExpo, x = centerX, 
     onComplete = function() 
     tscreen:cancelTween(menuBackground) 
    end 
    }) 

    textGroup.tween = transition.to(textGroup, {time = inTime, transition = easing.outExpo, x = 0, 
     onComplete = function() 
     tscreen:cancelTween(textGroup) 
     print(getPos(textGroup), textGroup.width, textGroup.height) 
    end 
    }) 

end 

我有Corona的新手版,所以我沒有最近實現的Composer API。 也許這不是發佈此查詢的最合適的網站,因爲已經有一個Corona SDK論壇,但我仍在嘗試。

回答

1

我沒有看到任何錯誤,但一個組不應該是必要的。驗證文本可以來見過:在init(),做

local optionsText = { 
    text = "Hello World",  
    x = 0, 
    y = 100, 
} 
local workText = display.newText(optionsText) 
workText:setFillColor(1, 1, 1) 

如果你不能看到然後還有其他事情是怎麼回事上的文字,也許你的init()不會被調用或這樣。一旦你看到它,將參數更改爲你想要的(填充顏色等),然後測試。如果仍然有效,添加轉場,之後,在init():

local easeXto100 = { 
    time = 2000, 
    transition = easing.outExpo, 
    x = 100, 
    onComplete = function() print('did you see text move from x=0 to 100?') end 
} 
transition.to(workText, easeXto100) 

如果你看到它移動,然後代碼的相關部分移動到你的節目(),如果現在它消失這會給你的線索。

+0

我經過測試和測試,最後我想出了一個解決方法!我正在使用函數「getBtn」來生成背景圖像,所以我爲文本創建了另一個\t函數,該函數只是簡單地將文本作爲按鈕使用。謝謝..告訴我不要放棄(這聽起來很俗氣)! – Zoske

+0

非常高興你破解了這個問題。那麼這個新功能是如何修復它的? – Schollii

+0

這是我用於btn http://pastebin.com/r4xaEg7R的功能,新功能是http://pastebin.com/rczXtXGJ – Zoske

相關問題