• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マウスの位置でa,bの値が変化し、a,bの値が変化することでpx,pz)

マウスの位置でa,bの値が変化し、車の座標が変わる方法

このQ&Aのポイント
  • マウスの位置に応じてa,bの値を変化させることで、車の座標を動的に変更する方法について解説します。
  • マウスの位置から求めたa,bの値を使用して、車の座標(px,pz)を更新する処理を実装していますが、マウスを動かしても車の座標が変わらない問題が発生しています。
  • マウスの動きに応じてa,bの値を正しく判断するためには、マウスの移動距離と方向を計算し、適切な値をa,bに代入する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8653/18507)
回答No.2

glutMainLoop(); glutPassiveMotionFunc(mouse);//マウスドラッグ時 どうしてglutMainLoopのあとでglutPassiveMotionFuncをコールしてるの?

Zippyy
質問者

補足

指摘の場所を修正した所、クリックすると(mouse)の通り動いてくれました。 これをラジコンのようにマウスが中心から左右に動けは反時計周り・時計周り、前後に動けば前進・後退と動くようにしたいのですが、どのように組めばいいでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • f272
  • ベストアンサー率46% (8653/18507)
回答No.3

> どのように組めばいいでしょうか? static GLdouble px = 0.0, pz = 0.0; /* 車の位置  */ static GLdouble r = 0.0; /* 車の方向  */ としているのだからpx,pz,rを適切に決めれば良いでしょう。現状のように px = a; pz = b; と固定値を代入するのではなく,a,bの値を変化させながら代入するか,そうでなければpx+=aのように累積的にするかどちらかでしょうね。

すると、全ての回答が全文表示されます。
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

>if((s - u) > 0){ >a = 10; >}else if((s - u) < 0){ >a = -10; >} sとuが等しい場合は、どうなればよいのですか?

Zippyy
質問者

補足

その部分は現段階ではなんでもよく、とにかくとりあえずマウスの動きと連動して車が動くようにしたいという状況です。 仮にs = uの時 a = 20 としてもマウスを動かしても反応しないので困っています。

すると、全ての回答が全文表示されます。

関連するQ&A