所以我正在构建一个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,则原语的顶部向上滚动,但这开始明显地扭曲纹理。为什么这不起作用?!为什么要在整个交易中添加到negY bork?