我正在寻找建议而不是直接帮助。
我正在 XNA 中开发一个 8 位平台游戏。我可能已经投入了 160 个小时,而且我开始遇到我所拥有的引擎的问题。它基本上是 XNA 平台游戏演示的改编/修改版本。我的所有或大部分瓷砖都是 32x32,但有些是 64 宽和 32 像素高,就像一张桌子。有些像植物一样宽32,高64。
我一次只将它们发送到 gpu 一个 .png,类似于 XNA 教程的作者进行平铺映射的方式。对于动画精灵,我确实使用角色不同帧的平铺贴图。对于瓦片地图数据,我读取了一个文本文件,就像 XNA 教程一样。
我应该如何适应又宽又高的瓷砖?我应该制作一个两层的瓷砖系统(我想我应该遵守保持简单愚蠢的规则)吗?
现在我正在使用透明瓷砖来扩展宽瓷砖。
桌椅:
椅子 http://dl.dropbox.com/u/8446900/game_screen_desk.png
.....
...h.
..d".
#####
植物和椅子:
办公桌 http://dl.dropbox.com/u/8446900/game_screen_plant.png
..p...h.
..,...,.
########
椅子是“h”,“d”是桌子,“p”是植物,“,”是透明背景图块(不与用户交互)。'"' 用于用户可以站立的透明瓷砖(延伸桌子)。问题是,如您所见,背景似乎有一个洞。
我应该制作一张实际的平铺地图并将所有内容组合成一个大 png 吗?我可以采取的另一个选择是将每个宽或高的瓷砖实际切割成两个不同的瓷砖。专业人士将如何做到这一点?我不是在寻找一个快速而肮脏的修复,而是现代平台游戏的运行方式。
更新:查看答案后,我发现了一个非常有用的工具,可以将精灵打包到一张表中。
http://spritesheetpacker.codeplex.com/
更新:我新升级的磁贴引擎速度更快,几乎同样简单。下面的建议很棒。强力推荐。