gpt4 book ai didi

c++ - C++ 中的横向滚动条

转载 作者:行者123 更新时间:2023-11-28 08:16:09 25 4
gpt4 key购买 nike

我正在考虑使用 OpenGL 和 C++ 创建一个基本的横向卷轴器,但是我无法解决一些基本的概念性问题,即:

  1. 将窗口分成简单的“ block ”(某种网格系统)。我想在什么水平上这样做? (OpenGL 视口(viewport)大小,还是通过某种抽象来确保使用 x 的倍数?)

  2. 存储所有这些“ block ”的数据以允许碰撞检测和一些特殊效果。解决这个问题的明智方法是什么 - 我一直在考虑对象的多维数组(其中包含图 block 类型等信息),但这似乎不是一个非常优雅或有效的解决方案。

最佳答案

通常,划分为网格的不是窗口(即视口(viewport)),而是“游戏区域”。根据您的艺术风格选择一个合适的尺寸(例如 64px - 由于技术原因,您可能希望选择一个 2 的幂的尺寸)并为您的游戏创建该尺寸的图 block (作为一维数组存储和加载) )

然后,这些瓦片在瓦片 map 中被引用(通过偏移量),瓦片 map 实际上描述了关卡的外观。每个图 block 还可以有额外的元数据来处理碰撞和游戏事件。您可能希望使用现有的 map 格式和工具集来节省时间,例如 Mappy。

关于c++ - C++ 中的横向滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731546/

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