Android - 组织游戏中的关卡

时间:2016-06-15 08:30:06

标签: java android

我是Android的开发新手。对于一个学校项目,我目前正在为儿童申请帮助他们学习写作 该应用程序将包含许多使用相同概念的级别,只有背景更改。我已经创建了一个工作正常的级别,现在完成工作,我想使用第一个代码添加级别。

那么这样做的好/通常方法是什么?

我认为我可以创建与关卡一样多的活动。在每个新活动中,我可以启动第一个活动,并将新背景作为参数。但是有50多个级别,我有这么多活动似乎有点奇怪。

感谢您的帮助:)

4 个答案:

答案 0 :(得分:2)

如果更改为新背景将触发所有级别更改,我只需向活动添加级别成员变量(例如)侦听下一级别以更改背景。如果事实证明你将不得不改变背景,那么@Vucko的回答似乎是可行的。

绝对不要在五十个不同的活动中重复相同的代码五十次!

答案 1 :(得分:1)

你可以使用片段,特别是一种名为“var unique={} var kt= {"Teams": [ {"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"Aug-2016","color":"R"}, {"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"R"}, {"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"Aug-2016","color":"R"}, {"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"Jun-2016","color":"G"}, {"id":"1","f1":"Currency","f2":"All","f3":"May-2016","color":"G"}, ]}; kt.Teams.forEach(function(value){unique[value.f3]=0;}); console.log(Object.keys(unique)); ”的片段,它会有一些你可以传递给它的参数,这样每个级别都不同,这些参数应该是参考关卡的内容(背景或其他)。这样你就可以重用相同的布局和相同的逻辑,只需根据你拥有的参数改变它的一些行为。

现在您需要做的就是更换容器中的片段,同时仍然只停留在一个Activity中。由于你的问题有点模糊,我现在不能提供任何实施技巧,而是一个基本的指导方针和需要考虑的方向。

答案 2 :(得分:1)

您可以使用将从所有其他活动扩展的BaseActivity进行代码集中化。否则,您可以始终使用相同的活动,并使用intent中的参数(例如,级别编号)启动它,并根据参数值创建自己的逻辑。最后,您还可以查看片段,将中心逻辑保持在同一个活动中。

答案 3 :(得分:1)

Fragment是您的解决方案,您可以简单地传递后台资产名称(throw intent)。