我搜索了几个小时但仍然不理解 这是我的问题,我做了一个小小的游戏它正在工作,但现在我需要一个菜单,高分屏幕等等。这意味着我的游戏完全不使用故事板/场景功能。
这是我的结构:
的简介
在那里我把最需要开始的东西放在物理功能上。
变量
在那里,我有我所有的变量,如:
local object = 0 <or>
local object = display.newObject(param)
功能 我在那里放了我所有的功能,如:
local function functionName (event)
end
事件监听器
在那里,我有每个事件监听器,如:
functionName:addEventListener("eventType", functionName)
所以这就是我所拥有的,我在研究中发现的是我需要一些功能来创建我的场景,进入我的场景,退出我的场景并摧毁我的场景。问题是我不知道在哪里放这些场景以及在哪里放置我的其余代码。基本上我需要的是:
如果在我的函数中创建对象会怎么样?它会打扰现场吗?那么得分,我在切换高分等场景时需要它,有没有办法不让得分不仅是本地的而且是公开的?
我希望我足够清楚,你会明白我的需要! :)作为结构示例,有一个名为“涂鸦跳转”的游戏,我的游戏结构应该看起来有点相同。
答案 0 :(得分:2)
创建优秀代码的部分原因在于您选择如何组织和格式化代码。
这就是我喜欢做的事情:
我有一个main.lua
文件+一个scenes
目录,里面有我的所有场景。我为每个场景使用lua文件。
-> ProjectName/
- main.lua
-> scenes/
- mainMenu.lua
- highScores.lua
- game.lua
- pauseMenu.lua
- etc ...
在main.lua里面我设置了游戏和所有设置。设置完成后,我调用mainMenu场景。
local composer = require("composer")
-- Setup game here:
composer.mySettings = "Some settings that can be accessed in any scene (highscores, volume settings, etc)"
composer.myVolume = 100
-- Use composer to go to our first game scene
composer.goToScene("scenes.mainMenu")
场景响应日冕事件。这些事件是:
scene:create()
scene:show()
scene:hide()
scene:destroy()
我建议您按照此tutorial
进行操作并为所有场景使用this template:
答案 1 :(得分:0)
一点建议:
请在命名场景的根文件夹时不要使用大写字母,否则它会显示错误消息。只是不要使用它,一切都会没问题。)