如何解决如何在受 Camera2d 影响时准确定位 Light2D,并启用平滑
首先,我是 Godot 和游戏开发的初学者。
在 Godot 中,我使用 Light2D 跟随玩家作为一种主光。场景“播放器”的根是 KinematicBody2d,Light2D 和 Camera2d 是子节点。
启用相机平滑。正如 Godot 文档中所解释的,我可以使用 get_camera_screen_center() 来获取相机的真实位置。
我想的很简单
light.position = $"Camera".get_camera_position()
会将光纹理正确定位,但现在它位于右下角。
我想念什么?如何计算要使用的偏移量?我尝试了一半的视口大小,但这仍然不正确。
每次真实(平滑)位置发生变化时,我最希望从 Light2D(带有真实位置)发出一个信号。但这似乎没有实现。
解决方法
方法 get_camera_position
会给你一个全局位置,而不是相对于父节点的位置。
因此,您需要设置灯光全局位置,而不是灯光位置。即:
$Light2D.global_position = $Camera2D.get_camera_screen_center()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。