1

所以我正在构建一个 Windows 游戏,并且我有一些文本作为图元上的纹理。我正在尝试向上滚动原语,但无法做到这一点。我试过简单地为 Vector3 的 Y 位置添加一个值,但这里有问题。

我用以下方法初始化顶点:

verts = new VertexPositionTexture[4];
verts[0] = new VertexPositionTexture(new Vector3(-xPosition, yPosition, 0), new        Vector2(0,0));
verts[1] = new VertexPositionTexture(new Vector3(xPosition, yPosition, 0), new Vector2(1, 0));
verts[2] = new VertexPositionTexture(new Vector3(-xPosition, negY, 0), new Vector2(0, 1));
verts[3] = new VertexPositionTexture(new Vector3(xPosition, negY, 0), new Vector2(1, 1));

然后,当我尝试通过添加到 Y 坐标来使其向上滚动时,可能会发生几件事。

如果我像这样添加 y 坐标的两个变量:

yPosition += .01f;
negY += .01f;

verts[0].Position.Y = yPosition;
verts[1].Position.Y = yPosition;
verts[2].Position.Y = negY;
verts[3].Position.Y = negY;

纹理,或原语一起甚至不再出现。如果我注释掉 negY += .01f,图元的顶部会向上滚动,但这会开始明显扭曲纹理。为什么这不起作用?!为什么加仓会破坏整个交易?

4

0 回答 0