Java 如何在基于2d的游戏中获得瓷砖?

Java 如何在基于2d的游戏中获得瓷砖?,java,arrays,object,2d,Java,Arrays,Object,2d,我目前正在用java制作一个2d平铺游戏。 我的游戏目前的工作方式是:找出屏幕区域内的瓷砖,然后渲染这些瓷砖。分片存储在int数组中,其中每个分片由一个数字表示。 例如,1是草砖,2是土砖。 它使用getTile方法确定特定坐标处的数字,然后根据该坐标处的数字返回tiletype,例如: int[] tiles=new int[width*height]; if(tiles[x+y*width]==1) return grassTile; else if(tiles[x+y*width==2]

我目前正在用java制作一个2d平铺游戏。 我的游戏目前的工作方式是:找出屏幕区域内的瓷砖,然后渲染这些瓷砖。分片存储在int数组中,其中每个分片由一个数字表示。 例如,1是草砖,2是土砖。 它使用getTile方法确定特定坐标处的数字,然后根据该坐标处的数字返回tiletype,例如:

int[] tiles=new int[width*height];

if(tiles[x+y*width]==1) return grassTile;
else if(tiles[x+y*width==2]) return dirtTile;
else if..... and so on
但是我想知道制作一个瓷砖对象数组是否更有效

Tile[] tiles=new Tile[mapWidth*mapHeight];

return tiles[x+y*width];
我想知道什么是最佳性能? 如果这是一个糟糕的问题,很抱歉。我是编程新手,似乎在其他地方都找不到。
谢谢你

与进行图形化渲染的成本相比,这两种方法的性能成本都非常小,您真的不应该在意。与其担心性能,不如专注于编写清晰、健壮、可扩展的代码。考虑到这一点,我建议:

1) 使用
平铺
类。它将允许您以后向它们添加更多的
tile\u类型


2) 使用
新磁贴[mapWidth][mapHeight]
,并将磁贴地址设置为
磁贴[x][y]
。这种方法需要更多的内存,您必须自己创建所有子数组,但它可以防止许多容易被一个错误忽略的错误,以及其他数学错误。

与进行图形绘制的成本相比,这两种方法的性能成本都非常小,您真的不应该在意。与其担心性能,不如专注于编写清晰、健壮、可扩展的代码。考虑到这一点,我建议:

1) 使用
平铺
类。它将允许您以后向它们添加更多的
tile\u类型


2) 使用
新磁贴[mapWidth][mapHeight]
,并将磁贴地址设置为
磁贴[x][y]
。这种方法需要更多的内存,您必须自己创建所有子数组,但它可以防止许多容易被一个错误忽略的错误,以及其他数学错误。

与进行图形绘制的成本相比,这两种方法的性能成本都非常小,您真的不应该在意。与其担心性能,不如专注于编写清晰、健壮、可扩展的代码。考虑到这一点,我建议:

1) 使用
平铺
类。它将允许您以后向它们添加更多的
tile\u类型


2) 使用
新磁贴[mapWidth][mapHeight]
,并将磁贴地址设置为
磁贴[x][y]
。这种方法需要更多的内存,您必须自己创建所有子数组,但它可以防止许多容易被一个错误忽略的错误,以及其他数学错误。

与进行图形绘制的成本相比,这两种方法的性能成本都非常小,您真的不应该在意。与其担心性能,不如专注于编写清晰、健壮、可扩展的代码。考虑到这一点,我建议:

1) 使用
平铺
类。它将允许您以后向它们添加更多的
tile\u类型

2) 使用
新磁贴[mapWidth][mapHeight]
,并将磁贴地址设置为
磁贴[x][y]
。这种方法需要更多的内存,并且您必须自己创建所有子数组,但它可以防止您因一个错误和其他数学错误而容易出错