0

で困っていopenglます。前進/後退中に車両を回転させたい。ここに私の問題を正確に示す写真があります。現在のコードの効果は青色で表示されています - 車を動かした後、現在の場所ではなく、開始場所の上を回転します。赤で表示したいのは、車両が現在の位置を超えて回転し、後で正しく前後に移動する状況です。

私の現在のコード:

lxr=sin(angle);
lzr=cos(angle);

xr+=speed*lxr;
zr+=speed*lzr;

totalangle+=angle

glRotatef(totalangle,0.0,1.0,0.0);
glTranslatef(0.0,0.0,xr);
drawVehicle();
4

3 に答える 3

2

回転する前に翻訳を呼び出すことができます。glRotatef はビュー マトリックスを回転させ、現在のビューとマトリックス glTranslatef に影響を与えます。

于 2013-06-18T04:32:03.043 に答える