【发布时间】:2013-02-14 01:14:15
【问题描述】:
我一直在尝试结合几个riemers 教程来制作一个有纹理和光照的地形。我快到了,但我无法正确应用纹理。我相信问题出在 SetUpVertices() 与纹理坐标的设置中。我知道目前代码读取它们都设置为 (0, 0) 并且我需要将它们设置为纹理的角落,但我似乎无法正确获取代码。有人可以帮忙吗?
private void SetUpVertices()
{
vertices = new VertexPositionNormalTexture[terrainWidth * terrainHeight];
for (int x = 0; x < terrainWidth; x++)
{
for (int y = 0; y < terrainHeight; y++)
{
vertices[x + y * terrainWidth].Position = new Vector3(x, -y, heightData[x, y]);
vertices[x + y * terrainWidth].TextureCoordinate.X = 0;
vertices[x + y * terrainWidth].TextureCoordinate.Y = 0;
}
}
}
我已将 Game1.cs 的完整代码添加到这个馅饼http://pastebin.com/REd8QDZA
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
考虑到标签与帖子的内容相关,如果标题本身也要相关,标题是否不可避免地会包含它们?
-
不,不是。请阅读该链接。如果标签与问题相关,则将它们放在标签区域中。如果它们与问题无关,请不要使用它们。
-
我阅读了这篇文章,如果它能让事情变得更有效率,我肯定会在未来尝试按照你的建议去做,但我仍然不明白其中的原因。以这个实例为例,我应该将其表述为一个实际问题,但问题是“如何使用 c# 在 xna 中设置纹理坐标?”仍然包含所有标签。我如何在不使用它们的情况下问它。我不想开玩笑,只是好奇。
-
与其说是不复制一些文本。更多的是不取一个好的标题,然后加上一些标签。如果你使用“C#”作为一个好的标题的一部分,那就继续吧。问题是当你有一个像“xna 纹理坐标”这样的标题,并在开头或结尾添加“C#”或“(C#)”时,我们就知道问题是关于 C# 的。 这就是标签的用途。
标签: c# xna coordinates textures