0

我正在寻找一些关于如何创建游戏的 2d 布局(步行路径)的想法。瓷砖将是 32x32 像素以及在瓷砖上移动的角色。

目前想到了两种方法,还没有尝试过。

游戏将显示在大约 400x300 或 512x356 大小的窗口中。不会比游戏地图本身可能大于 1000x1000 的窗口大多少。所以大多数时候只有一部分地图是可见的。

因此,就我所想到的而言,这是我的 2 个选项。

[1]:在开始时创建整个地图(这可能会增加加载时间,但会更容易移动地图),包括每个对象、玩家、敌人等。

[2]:仅创建看到的地图及其周围的 1 个图块(不可见),因此我可以使用故事板使该图可见,并删除超出范围的行/列并再次创建列。

这意味着,如果我有一个 5x5 瓷砖的房间,我加载 7x7 瓷砖。如果我向右移动,我会将所有瓷砖向左移动,并将玩家保持在屏幕中间。然后我删除最左边的一组瓷砖并在右侧创建一组新的瓷砖,希望在故事板完成移动之前完成。

在第二种方法中,我必须考虑的是大于 32x32 的对象。我怎样才能对这些做出最好的反应.. 但是,这是我以后想解决的问题.. 现在我更喜欢了解人们的意见和可能的更好方法。

如果这个问题不适合stackoverflow,我会道歉。

4

1 回答 1

0

Just be careful with the "load" word. Loading, means taking the data from the disk/drive and putting it memory. For that, you should load all the current world/map at once, before the game start. Trust me, you don't want to get yourself in dynamic loading stuff while the map is running.

But you only need to load the definition of your map, you don't need to create the instance of the object at that point. So you can create the instance from the map definition as the player walks... but are you really that constraint in memory? I can understand that for a game like Minecraft or Terraria where the map contains virtually millions of tiles... But for 32x32, you can consider making them all when you load the definition.

Of course, whatever the solution, you should only draw/compute/collide/update the tiles that are visible on screen.

于 2012-10-21T17:20:21.550 回答