gpt4 book ai didi

java - LibGDX - 正交相机不会停在 map 边缘

转载 作者:行者123 更新时间:2023-11-30 09:12:48 25 4
gpt4 key购买 nike

我是 libgdx 和 java 的新手,但我正在尽我所能学习!我正在开发一款正交二维平铺游戏。基本上,我让我的角色四处走动,摄像机跟着他。我正在尝试对其进行设置,以便当角色靠近 map 边缘时相机停止,因此看不到黑色空间。相机应该停在边缘,玩家应该继续移动。

这是我移动相机的代码。现在有点乱,因为我一直在尝试一切。 map 为 30x30。

if (mainPlayer.getPosition().x >= 15 && mainPlayer.getPosition().x <= 30) {
camera.position.x = mainPlayer.getPosition().x;
}

camera.position.y = mainPlayer.getPosition().y;

camera.update();
camera.apply(gl);

这是在我的渲染方法中。我只弄乱了 x 部分,所以暂时忽略 y。

编辑 我想我需要重新措辞。我知道如何让它停止......它使用我的代码工作,但我无法弄清楚如何确定在哪里停止它。我在上面的代码中使用了 15,它是 map 的一半……这当然是行不通的。

最佳答案

EDIT I think I need to reword that. I know how to make it stop..It works using my code, but I can't figure out how to determine where to stop it. I'm using 15 in my code above which is half the map..which of course doesn't work.

最小 x 需要:

map.position.x + camera.viewportWidth/2;

最大的 x 需要是:

map.position.x+mapwidth-camera.viewportWidth/2;

假设 map 位置在 (0,0) 中,您可以忽略 map.position.x 部分。

关于java - LibGDX - 正交相机不会停在 map 边缘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com