0

我在使用 Corona SDK 方面有点新手,我的主菜单按钮有点问题。每当我按下按钮时,它都不会移动或改变视图;按钮只是在标题屏幕中消失。

module(..., package.seeall)

local ui = require ("ui")
local ui = require ("director")

local assetPath = "assets/"

local mainGroup = display.newGroup()

function new(params)
    local titleScreen = display.newImageRect(assetPath .. "Law of Magic.jpg", 
        display.contentWidth, display.contentHeight)
    titleScreen.x = display.contentWidth / 2
    titleScreen.y = 265
    mainGroup:insert(titleScreen)
    director:changeScene("titleScreen")

    local newgame = ui.newButton{ default = assetPath .. "new game.png", 
        onRelease = function(event)  director:changeScene("New game") end,}
    newgame.x = display.contentWidth / 2
    newgame.y = 445
    mainGroup:insert(newgame)

    local continue = ui.newButton{ default = assetPath .. "continue.png", 
        onRelease = function(event)  director:changeScene("Continue") end,}
    continue.x = display.contentWidth / 2
    continue.y = 447
    mainGroup:insert(continue)

    local option = ui.newButton{ default = assetPath .. "option.png", 
        onRelease = function(event)  director:changeScene("Option") end,}
    option.x = display.contentWidth / 2
    option.y = 449
    mainGroup:insert(option)

    local help = ui.newButton{ default = assetPath .. "help.png", 
        onRelease = function(event)  director:changeScene("Help") end,}
    help.x = display.contentWidth / 2
    help.y = 451
    mainGroup:insert(help)

    local exitgame = ui.newButton{ default = assetPath .. "exit game.png", 
        onRelease = function(event)  director:changeScene("Exit game") end,}
    exitgame.x = display.contentWidth / 2
    exitgame.y = 453
    mainGroup:insert(exitgame)

    return mainGroup
end
4

3 回答 3

2

首先,我看到您两次声明本地 ui。

其次,您应该使用故事板,因为它受 corona 支持,并且您是 coronaSDk 的新手

于 2012-12-30T06:36:16.563 回答
0

也为此:director:changeScene("New game")

它会尝试去一个场景,你正在输入场景文件的名称。在这种情况下,它正在寻找一个名为:

新游戏.lua

在与您的 main.lua 文件相同的文件夹中。我个人会避免使用带有空格的文件名,虽然模拟器不区分大小写,但设备是,您必须确保文件名大小写与您编码的内容相匹配。

我也关心这一行:director:changeScene("titleScreen")

它会在您设置按钮之前尝试更改场景。

于 2013-01-06T03:14:13.627 回答
0

更改此行

local ui = require ("director")

local director = require ("director")

是的,请确保文件名正确。

于 2016-03-08T23:18:05.843 回答