【问题标题】:Puzzle game with multiple levels. What should I use ? Layers or Scenes ? And why?具有多个级别的益智游戏。我应该使用什么?图层或场景?为什么?
【发布时间】:2011-12-02 13:28:39
【问题描述】:

我创建了一个简单的益智游戏,在第一关完成后我必须加载一层新的拼图。我该如何管理?我是否必须为每个场景创建一个类,或者我可以直接在存在 1 级场景的类中实现它?如果是,我该怎么做?还是为关卡制作不同的图层更方便?如果你能给我一个如何切换到另一层的小例子,我将非常感激。目前,我有一个菜单类和一个游戏类。当您点击菜单中的“开始游戏”按钮时,它会带您进入游戏场景,该场景位于 Game 类中。我在哪里放置下一层/场景?我希望我的观点很清楚,如果没有,请告诉我。提前致谢。

【问题讨论】:

    标签: cocos2d-iphone layer scene


    【解决方案1】:

    所以你设法创建了你的益智游戏的第一个关卡,现在你不确定“进入下一个关卡”?

    您不需要为每个阶段创建一个新课程。一节课就够了。

    您的 Game 类应该能够读取一些数据并对其进行解释以构建舞台。一个有趣的方法是在您的项目中创建一个 .plist 文件,其中包含游戏每个级别的必要数据。 .plist 文件是一个字典。您可以制作一个代表第一级 (1) 的键和另一个代表第二级 (2) 的键,依此类推。每个键的值将是另一个包含更多数据的字典:关卡中怪物数量的键:(怪物),关卡中时间限制的键,等等.......

    关键是,为你获得的每个级别创建一个全新的类是浪费的。只要一个主类能够解释某个信息源并构建它,就足够了。

    无论如何,如果您想在 CCScenes 之间转移,这里有一个有用的链接:http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:lesson_3._menus_and_scenes

    【讨论】:

    • 是的,我确实设法构建了这个游戏。我对 obj-c 还很陌生(而且我对其他主要的面向对象编程语言一无所知),但我正在努力学习,我很自豪地说我已经掌握了大量的语言它。无论如何,感谢您的回复。我确实知道如何在场景之间转移,但我觉得有点奇怪,每个级别都必须有一个单独的类。我不知道如何处理这个问题。我也不知道如何使用 plist 文件,听起来很简单,但至少我已经听说过它
    • 那么你现在需要知道什么?
    • 我想知道什么是构建关卡游戏最有效/最方便的方法。我听说过用 plist 文件来做这件事,而且我还看到过一个游戏,他们使用了多个类,这似乎有点不方便解决这个问题。 《割绳子》之类的游戏是怎么做到的?
    • 如果您以 Cut the Rope 为例或几乎任何其他游戏(如愤怒的小鸟等),我敢打赌他们只是使用我告诉您的 .plist 文件(或类似的信息源)。您真正需要知道的是如何读取 .plist 文件,以便您的一个班级可以构建关卡。制作 100 多个代表游戏阶段的类并不是一个好的选择。
    • 例如在 Angry Birds 中,我打赌其中一个 .plist 文件具有如下键:“Array of Birds”、“Array of pigs and position”、“Array of barrier and position”等。也许每个阶段一个 .plist (或者只有一个包含所有阶段的 .plist。不管工作如何)。
    猜你喜欢
    • 2011-07-16
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多