3

我在 XNA 上编写简单游戏的经验很少,但现在我不知道如何解决我的问题。

所以,我想写一个简单的赛车二维街机,我不知道如何为这个游戏做地图。

我决定这样做:

  1. 我在 mspaint 中绘制了一张图片地图。黑色 - 它的草,白色 - 它的道路,红色 - 道路标记,蓝色 - 水,绿色 - 森林等;

  2. 加载图像后,我在 XNA 中覆盖纹理 - 在白色上放置道路纹理,在黑色上放置草纹理等。

所以我有2个问题。

  1. 我认为在正确的方向?
  2. 我如何知道所需像素中的颜色以及如何倒入所有白色,而不是单独倒入每个像素?第二个问题不需要,因为我可以用普通纹理做第二张图像,然后把它放在第二层,对吧?

抱歉英语真的很差。并感谢您提前回答。

地图图像样本

4

1 回答 1

0

在 MSDN 论坛中,昵称 Mad Martin 的建议这样做

使用您想要的纹理混合在屏幕上绘制最终图片。直接绘制这个纹理。现在您的游戏逻辑需要知道道路在该纹理中的位置。我能想到的方法有两种:

  • 使道路成为样条曲线并计算游戏的确切布局。对于初学者来说可能有点陡峭,但最强大。
  • 只用两种颜色(黑色没有道路,白色道路)制作一个像你一样的单独纹理。然后,您可以通过汽车的坐标检查您是否在路上。您可以在 CPU 上执行此操作,通过使用 Texture2D.GetData 将纹理重新排列到数组中,或者您可以在 GPU 上执行此操作。无论哪种方式都需要一点点摆弄,所以你的车不会挂在路边。

我认为这是非常有用的答案,所以我关闭了问题。

于 2012-09-22T10:06:33.703 回答