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/100です0(そして101/100正確に です1)。それが整数演算です。浮動小数点演算が必要な場合は、 を使用します99F/100

于 2012-06-26T08:30:45.600 に答える