現在OpenGLでプログラミングをおこなっているのですが、分からないことがあるので教えていただければと思います。
ウィンドウ内に物体を置いて、それをマウスでドラッグ&ドロップのように移動させるプログラムをgltranslateで作ってみたのですが、うまくいきません。
ドラックして移動させるという動作をどの様に実現すればよいのでしょうか?プログラミング初心者なので、わかりやすく教えていただければと思います。
また、参考になるプログラム等あるサイトなどあれば教えてください。宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
OpenGLのユーティリティの中には、マウスに関してこんな定義があります。
/* Mouse buttons. */
#define GLUT_LEFT_BUTTON0
#define GLUT_MIDDLE_BUTTON1
#define GLUT_RIGHT_BUTTON2
/* Mouse button state. */
#define GLUT_DOWN0
#define GLUT_UP1
なんで、これを適当に追加してやります
glTranslatef(shiftX,shiftY,0);//void displayとかの中に
次、mouse関数を定義
void mouse(int btn, int state, int x, int y){
if(state == GLUT_DOWN){
mouseX = x;
mouseY = y;
}
else if(btn==GLUT_MIDDLE_BUTTON){
shiftX += 0.01f*(x - mouseX);
shiftY -= 0.01f*(y - mouseY);
display();
}
}
glutMouseFunc(mouse); //main関数の中に
こんなんで動くと思いますが、あなたのソースが無いのでなんとも言えません笑
No.1
- 回答日時:
どのようにうまくいかないのか分からないので、答えになるかどうかわからないですが、
一般的には下記のような流れで書けば良いと思います。
1.マウスダウンのイベントを受け取る
2.マウスダウンフラグを真にする
3.ドラッグのイベント
4.マウスダウンフラグが真なら物体の座標を変更
5.描画処理
6.マウスアップのイベントを受け取るまで、3~5を繰り返し
7.マウスダウンフラグを偽にする
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- Excel(エクセル) エクセルのワークシートを簡単に別ファイルにする方法は? 5 2023/01/11 14:50
- マウス・キーボード マウスのクリックボタンの調子が良くないです。 ドラッグ&ドロップしようとするとよく開いてしまいます。 4 2022/03/23 18:20
- その他(プログラミング・Web制作) Scratch プログラミングについての質問です 1 2022/06/14 19:42
- その他(プログラミング・Web制作) PythonのプログラムのDirに関する質問です 3 2022/12/04 17:01
- PowerPoint(パワーポイント) PowerPointでプログラミングの資料を綺麗に作る方法 2 2022/12/03 05:45
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- Photoshop(フォトショップ) 【Photoshop】画像拡大時に急激に画面外まで拡大してしまうのを制御したい 1 2023/08/25 03:04
- Excel(エクセル) Excel ヘルプの[ロック解除]、<c0>、</c0> の意味は何ですか? 1 2023/02/20 16:58
- 物理学 時間を語るなら、(複数の時間の正体)を知る必要が有る。 1 2023/02/16 22:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2の補数を計算するプログラム
-
迷路を脱出する経路探索プログ...
-
再起呼び出しの回数をカウント...
-
C言語で%を使わない余りの出し方
-
乱数で交互に偶数、奇数が、、、。
-
コマンドプロンプトのウィンド...
-
関数とビット列
-
【C#】SQL文の中に変数を埋め込...
-
OpenGLの惑星プログラム
-
当たり判定の処理がわかりません。
-
画像の拡大・縮小
-
乱数生成について
-
ModifyWorldTransformの引数XFO...
-
intとlongは同じ?
-
階乗のプログラム
-
C言語
-
C++で表を作成したいのです ...
-
returnの使い方
-
エラー C言語 プログラミング...
-
C言語で簡単なパックマンゲーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報