0

私はmarmaladesdkの新しいビーです、私はこのチュートリアルに従っています、私はこの段落を読みました

*ここでは、「何でも」を描画するときに使用する「現在の」変換を設定するようにIw2Dに指示します。Iw2Dはコンテキストベースであり、この変換が記憶されることを忘れないでください。したがって、変換を再度変更せずに他の何かを描画しようとすると、同じ位置、同じ角度、同じ縮尺で描画されます。Iw2DSetTransformMatrix(CIwMat2D :: g_Identity)を使用して、現在の変換を通常にリセットできることに注意してください。単位行列は、回転、平行移動、スケーリングがないデフォルトの変換行列です。*

この行が何を意味するのか混乱しています>> Iw2Dはコンテキストベースであり、この変換は記憶されます、かわいい考えはありますか?あなたの助けは可能に感謝するでしょう。

4

2 に答える 2

2

マーマレードのことは聞いたことがありませんが(朝食を除いて-そしてその変身も固執します)、一般的には:

変換は、レンダリングされる前にすべての座標に適用される幾何学的変換を表します。したがって、水平線を描画し、変換として45°の回転を指定した場合、線は45°の角度でレンダリングされます。

コンテキストベースとは、リセット(=「IDトランスフォーム」に置き換える)または変更するまで、トランスフォームが「固定」されることを意味します。

于 2012-11-06T10:08:46.030 に答える
1

マーマレードでは、すべてのフレームに現在の変換行列を設定してから、それをIdentityにリセットできます。または、変換行列を1回設定して、それを将来のすべてのレンダリング/描画に適用することもできます。

Iw2DDrawImage()またはIw2DDrawRect()またはその他の関数を呼び出すIw2DDrawと、描画は現在の変換行列に基づいて行われます。したがって、特定の図面で45度の回転を設定した場合、スケーリングやその他の変換の場合と同じように、再度リセットしない限り、次のすべての図面は45度に回転します。したがって、それを避けたい場合Iw2DSetTransformMatrix()は、現在のフレームで使用が終了した後で、関数を呼び出して単位行列に設定します。

于 2012-11-07T07:08:18.490 に答える