我制作的像“小行星”副本,效果非常好!我用不同的模块(敌人,控件和背景)制作它。现在我也做了一个起始屏幕,玩家可以选择玩游戏,查看高分等等。
问题在于我不知道如何将其实现到故事板中。我可能误解了模块的使用。
我在Scene1中开始,这是开始游戏的前奏+按钮。接下来,我想移动到scene2(当玩家按下开始按钮时),这似乎没有问题,并且场景1被清除。但是当我死的时候,我想再次转向scene1。问题是有些听众没有被删除,游戏在场景切换后不久就崩溃了。 我想主要的问题是在我的场景2中,我已经输入了需要(“背景”),我的entercene中的敌人和控件,我不知道如何清除它应该被清除。
我已经输入了所有模块并将它们放在同一组中,这些模块在exitscene上被清除,但并非一切都被删除。
您认为我会如何以最简单的方式解决这个问题?我是Corona的新手,还处于早期学习阶段。
答案 0 :(得分:1)
在清除场景时,将自动删除在createScene()函数中创建并添加到“组”显示组的显示对象,如display.newImageRect()和display.newText()。
必须手动删除具有onComplete处理程序的任何计时器,转换或audio.plays,以及连接到Runtime的网络请求和任何事件处理程序。如果您正在创建的各种对象正在执行上述任何操作,则其删除功能应撤消这些操作,以便删除它们将清除它们。
如果我在enterScene()中添加运行时处理程序,计时器等,并且确保在exitScene()中撤消它们,我发现它是最好的。然后如果它在createScene()中完成它应该在destoryScene()中清理它。
答案 1 :(得分:-1)
模块。
其次,将东西放在其他文件中并用“require”调用它们应该用于调用库,而不是用于运行的代码。 “require”不是dofile或eval,它将运行一次,并且只运行一次(当第一次“需要”文件时)。
如果您仍想将内容放入其他文件中,例如加载背景,则需要执行“background.lua”文件,该文件具有“background.load()”函数和“background.unload()”功能,并在适当的地方调用它们。