对于一个大学学期项目,我正在研究一个使用等距显示器的图形roguelike(我知道术语中的矛盾:P)。我想弄清楚的是,因为绘制所有的瓷砖是非常昂贵和不必要的,我想要找出一个相对快速的算法来确定应该绘制哪些瓷砖以适合NxMpx窗口,假设瓷砖图形是XxYpx。
我没有为此顺利滚动,所以这不是问题。我也不担心完美 - 有点不必要的抽奖很好,我只是不想画出大量不必要的牌,这些牌不会出现在游戏中。
答案 0 :(得分:3)
您需要考虑两个概念:屏幕空间和世界空间。这些在3d引擎中非常重要,但它们适用于除最简单的游戏之外的所有游戏。在等轴测引擎中,你的世界空间是一个二维的瓷砖阵列。
所以你首先想要在这两个坐标空间之间进行转换。一旦你完成了这一点,很明显屏幕空间作为一个转向45度的矩形映射到世界。你可以确定一个公式,但是只有当你试图确定世界空间的哪个部分是可见的时才重要,这样你才能模拟该区域内的怪物(8位控制台上的效率,可能不是现代PC上的!)! )。当涉及到实际渲染时,您并不需要确定世界的这个可见区域,因为它隐含在您将图块渲染到屏幕上的方式: -
其他提示: -
无论如何,这已经足够了,希望它有用,你的项目也很顺利。