【问题标题】:black screen while running corona sdk(i am using composer)运行 corona sdk 时出现黑屏(我正在使用作曲家)
【发布时间】:2014-07-18 18:15:17
【问题描述】:

所以一旦我保存并点击启动屏幕是黑色的,没有场景显示

有人可以找出问题所在并知道如何正确解决它。 如果有人可以,我会很高兴。

谢谢。

这是我的 Main.lua-

display.setStatusBar(display.HiddenStatusBar)

local composer = require( "composer" )
local scene = composer.newScene()

-- your code goes here...

composer.gotoScene("menu")

这是我的 Menu.lua-

display.setStatusBar(display.HiddenStatusBar)

local composer = require( "composer" )

local scene = composer.newScene()

-- -----------------------------------------------------------------------------------------------------------------
-- All code outside of the listener functions will only be executed ONCE unless "composer.removeScene()" is called.
-- -----------------------------------------------------------------------------------------------------------------

-- local forward references should go here

-- -------------------------------------------------------------------------------


-- "scene:create()"
function scene:create( event )
   local sceneGroup = self.view

   local background = display.newImageRect( "background.png", 730, 400 )
   sceneGroup:insert( background )

end


-- "scene:show()"
function scene:show( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then
        -- Called when the scene is still off screen (but is about to come on screen).
    elseif ( phase == "did" ) then
        -- Called when the scene is now on screen.
        -- Insert code here to make the scene come alive.
        -- Example: start timers, begin animation, play audio, etc.
        print("menu")
    end
end


-- "scene:hide()"
function scene:hide( event )

    local sceneGroup = self.view
    local phase = event.phase

    if ( phase == "will" ) then
        -- Called when the scene is on screen (but is about to go off screen).
        -- Insert code here to "pause" the scene.
        -- Example: stop timers, stop animation, stop audio, etc.
    elseif ( phase == "did" ) then
        -- Called immediately after scene goes off screen.
    end
end


-- "scene:destroy()"
function scene:destroy( event )

    local sceneGroup = self.view

    -- Called prior to the removal of scene's view ("sceneGroup").
    -- Insert code here to clean up the scene.
    -- Example: remove display objects, save state, etc.
end


-- -------------------------------------------------------------------------------

-- Listener setup
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )

-- -------------------------------------------------------------------------------

return scene

【问题讨论】:

  • 请出示您的 config.lua 和 build.settings。

标签: android lua coronasdk


【解决方案1】:

我认为可能的问题可能是图像和场景的路径。

如果你使用上面的代码,那么你所有的背景图片和 menu.lua 都应该在主文件夹中,而不是在任何子文件夹中,首先检查这两件事。

那么我认为你没有给出图像的 x 和 y 值,

背景 .x = display.contentWidth/2 背景 .y = display.contentHeight/2

这些都是可能的问题。

【讨论】:

    【解决方案2】:

    在 menu.lua 的开头试试这个

    display.setStatusBar(display.HiddenStatusBar)
    
    local composer = require( "composer" )
    
    local scene = composer.newScene()
    local background
    -- -----------------------------------------------------------------------------------------------------------------
    -- All code outside of the listener functions will only be executed ONCE unless "composer.removeScene()" is called.
    -- -----------------------------------------------------------------------------------------------------------------
    
    -- local forward references should go here
    
    -- -------------------------------------------------------------------------------
    
    
    -- "scene:create()"
    function scene:create( event )
       local sceneGroup = self.view
    
       background = display.newImageRect( "background.png", 730, 400 )
       background.x = display.contentCenterX
       background.y = display.contentCenterY
       sceneGroup:insert( background )
    
    end 
    

    您需要在场景文件 (menu.lua) 中将背景图像声明为本地,而不是在创建函数中声明为本地

    【讨论】:

    • 好的,所以我重新编辑了 menu.lua,现在一旦我启动它,仍然显示黑屏。基本上什么都不会出现。唯一生效的是状态栏显示或不显示。
    • 好的,我添加了代码以使图像在屏幕中居中。您也可以说控制台中是否有任何错误。我用自己的背景图片尝试了代码,它正在工作。
    • 我在控制台中没有错误。我可以看看你的“config.lua”和“bulid.settings”是如何设置的,因为我想也许就是这样。
    • 说背景不应该是本地是错误的。只要插入到场景中,可以是局部的,也可以是全局的,没关系。
    猜你喜欢
    • 1970-01-01
    • 2014-05-03
    • 2015-11-16
    • 2018-04-21
    • 1970-01-01
    • 2019-06-23
    • 2016-08-07
    • 2011-03-14
    • 2016-04-29
    相关资源
    最近更新 更多