【问题标题】:How to make Godot Camera2D not rotate along with the player?如何让 Godot Camera2D 不随播放器旋转?
【发布时间】:2021-07-31 17:57:44
【问题描述】:

我有一个简单的横向滚动平台游戏,其中玩家是一个球,我希望他在移动时旋转,看起来像是在滚动。

但是,我设置了 2D 相机,因此播放器位于屏幕的底部中心。我希望玩家呆在那里,但是当我移动玩家时,相机会随着玩家转圈。

如何阻止相机移动?

【问题讨论】:

    标签: rotation godot


    【解决方案1】:

    想到几个选项:

    • 推测玩家角色是PhysicsBody2D(例如KinematicBody2D)和Sprite或类似的。而Camera2DPhysicsBody2D 的子代。好吧,旋转Sprite。这样旋转不会影响Camera2D当然,如果旋转是由物理驱动的,那么这个选项就没有用了。
    • 好吧,没有理由让Camera2D 成为您的PhysicsBody2D 的子代以使其跟随它。相反,您可以使用RemoteTransform2D 将其位置(使用update_position = true)而不是其旋转(使用update_rotation = false)推到另一个Node2D。然后你让你的Camera2D 成为另一个Node2D 的孩子。
    • 让我们说你根本不想拥有你的角色PhysicsBody2D 的孩子。在这种情况下,您可以尝试PinJoint2D。将node_a 设置为字符PhysicsBody2D,将node_b 设置为某个RigidBody2D,然后Camera2D 可以是RigidBody2D 的子代。
    • 或者您可以使用脚本来解决它。您可以添加一个Node2D 并在其_physics_process 上将您角色的global_position 复制到它自己的global_position,以便它跟随它。然后将Camera2D 设为Node2D 的子级。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 1970-01-01
      • 2020-10-12
      • 2019-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多