【问题标题】:Adventure game in QML only?仅限 QML 的冒险游戏?
【发布时间】:2014-06-09 15:16:49
【问题描述】:

我想使用 QML(Qt 建模语言)为桌面和安卓实现一个简单的 2D 冒险游戏。

游戏会有不同的地方,例如厨房和地窖。一个地方通常有一个背景图像,然后是那个地方的一些对象。这些可能是您需要查找和收集的一些东西,也可能是简单的精灵,例如飞过房间的鸟。

我写了一个只有一个地方的小型第一个版本,效果很好。现在我想扩展游戏。

我想单独实现这些地方,这样我就可以轻松地在这些地方之间切换,例如你从厨房走到地窖,这些地方很容易添加。

我一直在寻找一种仅在 QML 中执行此操作的适当方法,但似乎没有。

有没有人有一个好主意,如何做到这一点?到目前为止,Google 还没有帮助过我。

【问题讨论】:

    标签: 2d qml game-engine adventure


    【解决方案1】:

    我有点同意卡卡杜的观点,这并不是一个具体的问题。不过我想回复一下,因为你的问题听起来与我正在做的一个小型项目非常相似,我使用 Flickable 作为关卡的视图,每个关卡都可以是项目、图像等。玩家到达关卡的任一边缘,当前关卡将其不透明度设置为 0,并将其父属性设置为 null。然后,新关卡将其父级设置为 Flickable(视图)。

    所以,肯定有办法做到这一点,我建议使用 Flickable 与您想用来表示您的关卡的任何类型。

    【讨论】:

    • 所以你基本上建议使用最适合的容器类型(强烈建议flickable),而只是切换可见性?
    • 或多或少,但我使用不透明度而不是可见性,以便我可以在级别更改之间淡入/淡出。如果你想要某种可滚动的视图,那么 Flickable 是一个不错的选择。
    • 有效。感谢flickable 的提示。
    【解决方案2】:

    我首先想到的是:

    • 根 QML 具有表示区域(厨房、起居室等)的 QML 项的数量
    • 每一时刻只能看到一个区域。
    • 每个区域都有一些玩家可以离开的区域。
    • 有一个描述世界的全局状态。该州在所有地区都可用。
    • 当玩家执行某些动作时,区域会影响玩家。它可以做到这一点,因为玩家对象可以在区域内访问。
    • 当玩家离开区域时,它会执行一些根项目代码来切换区域。 Root 知道所有区域,因此它可以通过其 id 或其他一些独特的描述来获取一个。

    无论如何,我认为这个问题可以有很多答案。它们将取决于复杂的玩家对象与区域外部世界的通信方式。我认为展示一些你的代码是个好主意,也许你已经有了一些绝妙的想法。

    我不能说这个问题的答案总是基于意见的,这很糟糕,但是这个问题对于 SO,恕我直言,似乎不是很具体。

    【讨论】:

    • 我做对了吗:使用item 作为地点,并在地点之间移动时切换项目的可见性?
    • 不只切换它。当您从 house 移动到 yard 时,您使 house 不可见,yard 可见
    猜你喜欢
    • 2016-08-25
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多