1

我正在使用 DirectX 在屏幕上绘图。

我想在保持尺寸的同时制作图像,所以我为顶点分配了一些算术:

float boxPosFactorX = (869-3)+(100/100 * (1063 - 869));
float boxPosFactorY = (940-3)+(100/100 * (1038 - 940));



vertexes[0].Position = new Vector4((50 * boxScale) + boxPosFactorX, (50 * boxScale) +     boxPosFactorY, 0, 1.0f);

// other vertexes with same structure just different constants (e.g. 50 above is the constant values of that vertex.

现在这是真正奇怪的部分,上面的代码按预期工作,但是一旦将比率“100/100”更改为低于“99/100”或更低的任何值,它的行为就好像代码是:

float boxPosFactorX = (869-3)
float boxPosFactorY = (940-3)
4

1 回答 1

4

99/1000(并且101/100正是1)。那就是整数算术。如果要浮点运算,请使用99F/100.

于 2012-06-26T08:30:45.600 回答