【问题标题】:How do I add the sliding transitions in games such as Mega Man,The Legend of Zelda, and Metroid in my Godot game?如何在我的 Godot 游戏中添加《洛克人》、《塞尔达传说》和《银河战士》等游戏中的滑动过渡?
【发布时间】:2021-10-18 22:12:38
【问题描述】:

抱歉,问题标题过长。我是新来的。

所以我的问题就像上面的标题一样。我几乎尝试了所有方法,并在互联网上到处搜索。我尝试过的一些伪线索是.linear_interpolate("my screen width" , "my screen height),甚至检查了其他人研究它的代码,也许正在寻找一种使用它的方法。

我想要完成的是至少允许玩家在更大的关卡的一部分周围移动,将相机滚动到关卡的边界,然后使用补间将相机滚动到同一场景的另一个边界,依此类推等等。

我什至不需要补间的全部内容,我只需要一种实现 Camera2D 边界的方法,它允许我实现一个补间节点来完成它。

请帮忙!

【问题讨论】:

标签: godot gdscript


【解决方案1】:

我什至不需要补间的全部内容,我只需要一种实现 Camera2D 边界的方法,它允许我实现一个补间节点来完成它。

限制Camera2D 是最简单的部分。要么相机根本不跟随玩家(例如 NES 的 Zelda),在这种情况下你只需要补间。

或者……

我想要完成的是至少允许玩家在更大的关卡的一部分周围移动,将相机滚动到关卡的边界,然后使用补间将相机滚动到同一场景的另一个边界,依此类推等等。

相机跟随玩家,直到达到一些限制……您可以使用Camera2D 的属性limit_leftlimit_toplimit_rightlimit_bottom 来定义。将它们设置为您要将Camera2D 限制为的矩形的边界。


我提醒您,Camera2D 达到限制不是应该触发转换的原因。应该触发转换的是玩家角色达到了极限……您可以使用Area2D 处理它,因为玩家角色 - 通常 - 是一个物理对象。

因此,您将处理Area2D 的信号并在那里形成您更新相机限制、执行任何您需要的补间或任何情况。

【讨论】:

  • 您对限制它的方式有什么建议,同时仍然能够滚动屏幕。我现在知道要使用哪种类型的 Tween 插值,但由于某种原因,我坚持只能将相机限制在一个点
  • @Rusty_Pipes 我试图建立一个通用的解决方案。吐温:容易。限制:容易。两者……没有那么多。使用Area2D 并处理身体进入和身体退出似乎是一个好方法。您根据Area2D 限制Camera2D,并且您知道何时进行补间。一个问题是补间到哪里。我想你可以添加一些Position2D。但请记住,您需要更改限制以允许补间,并且在您更改限制的那一刻,相机将移动。所以,我让目标成为角色以外的东西。感觉很hacky。如果我想出更好的解决方案,我会更新答案。
  • 好的,我有一些好消息。我在 github 上找到了这个名为 RoomBasedCamera 的教程。然而,虽然它可以滚动到我想要的点。我无法实现我的自定义转换。其中使用this
猜你喜欢
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
  • 1970-01-01
相关资源
最近更新 更多