首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游戏界面设计

游戏界面设计
EN

Stack Overflow用户
提问于 2012-03-23 10:16:59
回答 2查看 445关注 0票数 1

所以我正在制作一个类似于帝国时代2的游戏。到目前为止,我一直在做的是使用一个Applet并制作一个瓦片(网格)数组来包含单元和建筑。我相信有一种更好的方法可以做到这一点,也许是使用GUI,但我还不是一个非常有经验的程序员,所以我求助于这种更原始的方法。有没有一种更好、更有效的方法来在地图上显示包含字符和建筑物的图块?

谢谢。

这就是我想要的样子:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-23 10:38:19

一组瓦片应该很好-这是通常用来在2D游戏中表示地图的瓦片。

请注意,您可能需要区分以下各项:

  • 地图地形切片,其中每个方块仅包含一个
  • 单位/建筑物/其他游戏对象,其中每个方块可能包含多个对象

对于地形,单个数组就可以了,每个位置都有一个瓦片。

对于其他对象,您需要一种在每个正方形中存储多个对象的方法。在每个方块中都有一个ArrayList的数组可以工作--尽管您可能希望在所有没有任何内容的方块中保留空值,以避免创建大量的空ArrayLists。

创建游戏对象的全局集合也很有用,这样您就可以迭代所有游戏对象和/或快速找到特定对象,而无需搜索整个地图。为此,我通常使用类似于HashMap的东西,其中整数键是每个游戏对象的唯一ID。

票数 1
EN

Stack Overflow用户

发布于 2012-03-23 12:52:50

这取决于你认为什么是“低效”部分。如果大多数数组元素将包含数据,并且您需要能够快速轻松地查找这些数据,那么数组肯定是最好的方法。它们很容易理解,描述用于存储数据的逻辑mikera是一个非常好的入门方式。

有一些非常大的基于磁贴的游戏用来存储数据的数据结构。其中大多数都是针对类似的“稀疏”图进行优化的。稀疏图是指大多数位置都是空的,但其中一些位置有内容。非常大的世界地图通常都有这样的特点。如果你对这些场景很好奇,那么你应该搜索一下“四叉树平铺”。

但总的来说,如果您仍在学习开发,请坚持使用数组。过早优化是万恶之源。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9833294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档