【问题标题】:Corona SDK Screen Transition Not Working on one ButtonCorona SDK 屏幕转换在一个按钮上不起作用
【发布时间】:2013-11-01 23:40:48
【问题描述】:

我有 3 个按钮,情节提要只会转换其中的 2 个。这是我的代码:

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

--Forward References
local mbg
local title
local pbtn
local ibtn
local cbtn

local centerX = display.contentCenterX
local centerY = display.contentCenterY
display.setStatusBar(display.HiddenStatusBar)

function anim_pbtn(event)
    transition.to(pbtn, {time = 1000, alpha = 0, xScale = 2, yScale = .6})
    storyboard.gotoScene("game", "fade", 1000)
end

function anim_ibtn(event)
    transition.to(ibtn, {time = 1000, alpha = 0, xScale = 2, yScale = .6})
    storyboard.gotoScene("leaderboard", "fade", 1000)
end

function anim_cbtn(event)
    transition.to(cbtn, {time = 1000, alpha = 0, xScale = 2, yScale = .6})
    storyboard.gotoScene("credits", "fade", 1000)
end

function scene:createScene(event)
local screenGroup = self.view

mbg = display.newImage("mbg.png")
    screenGroup:insert(mbg)
    mbg.x = centerX
    mbg.y = centerY
    mbg.width = display.width
    mbg.height = display.height

title = display.newImage("title.png")
    screenGroup:insert(title)
    title.xScale = .7
    title.yScale = .7
    title.x = centerX

pbtn = display.newImage("play_btn.png")
    screenGroup:insert(pbtn)
    pbtn.xScale = .7
    pbtn.yScale = .7
    pbtn.x = centerX
    pbtn.y = display.contentHeight - 210

ibtn = display.newImage("ins_btn.png")
    screenGroup:insert(ibtn)
    ibtn.xScale = .7
    ibtn.yScale = .7
    ibtn.x = centerX
    ibtn.y = display.contentHeight - 130

cbtn = display.newImage("cre_btn.png")
    screenGroup:insert(cbtn)
    cbtn.xScale = .7
    cbtn.yScale = .7
    cbtn.x = centerX
    cbtn.y = display.contentHeight - 50
end

function scene:enterScene(event)
pbtn:addEventListener("tap", anim_pbtn)
ibtn:addEventListener("tap", anim_ibtn)
cbtn:addEventListener("tap", anim_cbtn)
end

function scene:exitScene(event)
pbtn:removeEventListener("tap", anim_pbtn)
ibtn:removeEventListener("tap", anim_ibtn)
end

function scene:destroyScene(event)

end



scene:addEventListener("createScene", scene)
scene:addEventListener("enterScene", scene)
scene:addEventListener("exitScene", scene)
scene:addEventListener("destroyScene", scene)

return scene

cbtn 按钮和 anim_cbtn 函数导致画面没有过渡是什么问题?我确实有一个 game.lua、leaderboard.lua 和一个 credits.lua 文件。我在 java 方面很棒,但在 lua 方面我很糟糕。我永远找不到我的错误。这是我的错误:

Runtime error
?:0: attempt to call method 'dispatchEvent' (a nil value)
stack traceback:
[C]: in function 'dispatchEvent'
?: in function 'gotoScene'
...ibrary/Application Support/Outlaw/Sandbox/6/menu.lua:27: in function                                                                                                                  <...ibrary/Application Support/Outlaw/Sandbox/6/menu.lua:25>
?: in function <?:218>

我该怎么办?

【问题讨论】:

  • 检查你的credits.lua,以及该类内部使用的资源是否存在。还要检查图像名称的大小写敏感性... :)

标签: android ios mobile storyboard coronasdk


【解决方案1】:

错误信息表明,错误是由于动作引起的:

storyboard.gotoScene("credits", "fade", 1000)

所以:

  • 确保您的班级credits.lua 在您的main.lua 所在的文件夹中。
  • 确保类中的所有方法和变量都正确:credits.lua
  • LUA 对资源区分大小写

    即,myImage.png 不同于 myimage.pngMyImage.pngmyImage.jpg

所以,请确保这些事情是正确的......

继续编码...........?

【讨论】:

    【解决方案2】:

    您可能不应该使用“credits”(和 credits.lua)作为名称。尝试将其重命名为 gamecredits。有一个名为 credits 的核心模块(它已被弃用,但显然仍会导致问题)。

    如果您在将其重命名为 gamecredits 后仍有问题,那么您可能在该模块中遇到了错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      • 2020-02-05
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 2020-11-01
      相关资源
      最近更新 更多