Corona SDK:场景结构

我已经搜寻了几个小时,但仍然不明白。

这是我的问题:我制作了一个小游戏,它可以运行,但现在我需要一个菜单、高分屏幕等等。这意味着我的游戏完全是不使用 storyboard/scene 函数创建的。

这是我的结构:

介绍

我放置需要首先启动的所有内容,如物理函数。

变量

我把所有的变量放在这里,如:

local object = 0 <or>
local object = display.newObject(param)

函数

我把所有的函数都放在这里,如:

local function functionName (event)
end

事件监听器

我把所有的事件监听器都放在这里,如:

functionName:addEventListener("eventType", functionName)

所以这就是我拥有的所有东西,在我的研究中发现,我需要一些函数来创建我的场景,进入我的场景,退出我的场景和销毁我的场景。问题是我不知道把这些场景放在哪里,把其余的代码放在哪里。基本上我需要以下内容:

  • 一个有玩游戏按钮和查看高分按钮的菜单。
  • 当点击播放按钮时,跳转到我的游戏场景(它始终是相同的游戏,不包含任何级别或其他),如果失败了,则跳转到另一个场景,看起来像重新开始或回到菜单。
  • 当点击高分按钮时,将显示最好的成绩。

如果我在我的函数中创建对象怎么办?它会干扰场景吗?还有得分,当切换场景时我需要它来显示高分等,有没有办法将其不仅作为本地而公开?

我希望我说得足够清楚,你能理解我所需要的!:)例如,有一个名为“涂鸦跳”的游戏,我的游戏结构应该看起来有点相似。

点赞
用户1078537
用户1078537

创建好的代码部分来源于您选择组织和格式化代码的方式。

这是我喜欢做的:

我有一个 main.lua 文件和一个包含所有场景的 scenes 目录。我为每个场景使用一个 lua 文件。

-> ProjectName/
     - main.lua
     -> scenes/
        - mainMenu.lua
        - highScores.lua
        - game.lua
        - pauseMenu.lua
        - 等 ...

main.lua

在 main.lua 中,我设置了游戏和所有设置。设置完成后,我调用 mainMenu 场景。

local composer = require("composer")

-- 在此处设置游戏:
composer.mySettings = "可以在任何场景中访问的一些设置(高分、音量设置等)"
composer.myVolume = 100

-- 使用 composer 去到我们的第一个游戏场景
composer.goToScene("scenes.mainMenu")

scenes/someScene.lua

场景对 corona 中的事件做出响应。这些事件包括:

scene:create()
scene:show()
scene:hide()
scene:destroy()

小贴士

我建议您遵循此教程

并使用此模板为您的所有场景:

2014-04-08 16:39:02
用户9797423
用户9797423

一点建议:

请不要使用大写字母来命名场景的根文件夹,否则会显示错误信息。只需不使用它,一切都会很好 :)

2018-05-16 01:58:38