gpt4 book ai didi

Java 2D 游戏相机无需滚动世界

转载 作者:行者123 更新时间:2023-12-01 15:53:21 25 4
gpt4 key购买 nike

我刚刚完成了为期一个月的项目,为 2D 方 block 角色扮演游戏构建一个非常复杂的 map /世界编辑器。现在我想要实际玩游戏,并且正在使用 map 、角色和通过 map 编辑器生成的其他内容创建游戏的运行时实现。除了相机之外,我几乎清楚地知道自己在做什么。我想不出一种方法可以让相机以类似于 zelda(gameboy) 等游戏(相机固定在角色上)的方式工作,而无需每次都滚动游戏中每个 Sprite 和图 block 的 (x,y) 值玩家移动。我研究过一些游戏引擎,但我不相信这就是我所需要的,尽管我很愿意在这个假设上犯错误。整个游戏都是用图像完成的,没有渲染的形状,这让我相信我不需要乱用 openGL 来让相机按预期工作。谁能建议一种不使用 openGL 来实现相机的方法?我并不反对使用 openGL,但如果不需要,我宁愿不学习它,因为我已经因为其他项目而时间紧迫。谢谢您的建议。

最佳答案

我只会绘制角色相机区域中可见的内容,因此当角色移动时,您不需要移动所有 Sprite 等。然而,屏幕上的任何内容都必须重新绘制。这不会太占用内存,您可以使用某种数据库系统甚至多维数组来设置它,它只会绘制相机内的内容。

例如,如果您的角色位于图 block 100(x) 和 50(y) 上,并且摄像机是图 block 的 7 x 7 网格,则您需要绘制的就是周围 48 个图 block 中发生的任何内容玩家;选手。这就是几乎所有平铺游戏的滚动方式,并且对内存的占用并不大。您应该能够以最小的延迟而不需要太多编程来完成此操作...具体取决于您如何设置图 block 及其分层。

关于Java 2D 游戏相机无需滚动世界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561433/

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