【问题标题】:Corona SDK: black screen on Composer transitionCorona SDK:Composer 过渡时出现黑屏
【发布时间】:2014-05-03 01:48:42
【问题描述】:
    -- hide device status bar
display.setStatusBar( display.HiddenStatusBar )

-- require controller module
local composer = require( "composer" )

-- load first scene
local scrOptions =
{
effect = "fromRight",
time = 2000
}

composer.gotoScene( "game", scrOptions )

--
-- Display objects added below will not respond to storyboard transitions

local MemUsageDisplay = display.newText( "0", 400, 25, native.systemFont, 20 )
MemUsageDisplay:setFillColor( gray )
local monitorMem = function()
local textMem = system.getInfo( "textureMemoryUsed" ) / 1000000
collectgarbage()
local date = os.date( "*t" )
MemUsageDisplay.text = date.hour .. ":" .. date.min .. ":" .. date.sec .. " / Lua: " .. math.round(collectgarbage("count")) .. "K " .. "Tex: " .. math.round(textMem*10) * 0.1 .. "MB"
end
timer.performWithDelay( 500, monitorMem, 0 )

在模拟器中一切正常。

但在设备上,启动画面闪烁不到一秒钟,然后屏幕变黑约 5 秒钟,然后游戏开始。

没有过渡。

我必须补充一点,我的 game.lua 包含很多代码,但如果我正确理解了文档,那么所有这些都应该在启动画面可见时进行处理吗?我还在调试模式下运行应用程序(catlog ...)并在其中放置一些标记以查看代码执行的速度。整个 game.lua 的处理时间不到一秒。

这是正常行为吗?

【问题讨论】:

    标签: android lua coronasdk corona-storyboard


    【解决方案1】:

    composer.gotoScene("game", scrOptions)需要什么参数?

    你需要在作曲家库中弄清楚。

    您是否减少了时间并更改了 scrOptions 数组中的效果?

    试试这个,让我知道你得到了什么。

    所以我可以做进一步的调查。

    【讨论】:

    • gotoScene 唯一需要的参数是场景的名称,省略参数不会改变设备上的任何内容,它仍然会变黑几秒钟。
    • 在你的game.lua中你有没有使用定时器来显示你的背景?你能提供给我作曲库吗?
    • composer 是 Corona SDK 的集成库
    • 哦……我很抱歉。这是电晕的新功能,我在过去的 4-5 个月内没有工作......
    • 不是全新的,是Storyboard的替代品
    【解决方案2】:

    在我看来,您不是在 scene:create() 事件函数中创建场景,而是在 scene:show() 事件函数中创建场景。您的过渡设置为 2 秒,如果您没有在 scene:create() 中创建任何内容,则不会有任何过渡,但过渡仍会发生,因此会变黑几秒钟。

    罗伯

    【讨论】:

    • scene:create() 包含我的大部分代码,包括所有显示对象。此外,如果我没有,它也会显示在模拟器中,但它不会,它只会发生在设备上。此外,黑屏的持续时间远远超过 2 秒(事实上,如果我完全移除过渡,它甚至会存在)。
    • 这是否与this thread 有关,即使大多数条目都是关于 iOS 问题的?症状听起来非常相似,长时间的延迟可能是因为它是一个缓慢的设备。
    【解决方案3】:

    添加此代码 本地场景 = composer.newScene()

    如果模拟器中一切正常,这意味着请检查您的代码是否使用了正确的文件名(即图像名称和场景名称是否正确),因为模拟器会将 Image.png 和 image.png 视为相同,但是在设备中它会显示错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-25
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      相关资源
      最近更新 更多