DXライブラリを使ったマウスによるゲームメニュー操作

このQ&Aのポイント
  • DXライブラリとC言語を用いてゲームメニューの操作について検討中です。
  • 現在、マウスが指定した画像の範囲内でクリックされた場合に次の画面に移る方法を考えています。
  • C言語やDXライブラリを使って、画像をクリックして別のページに遷移させることは可能なのか、また他のメニュー作成方法についても教えてください。
回答を見る
  • ベストアンサー

DXライブラリの、マウスを使ったゲームメニュー操作

現在、ゲームでも作ってみようかな。という軽い気持ちでプログラミングをはじめました。 Cの入門サイトに一通り目を通したような状態です。 DXライブラリとC言語(C++ではない)を用いてちょこちょこやってるのですが、 スタート画面のNEW GAME! やら CONTINUE、とかの選択についてお聞きしたいのです。 私が今考えている方法は、マウスが【NEWGAME】という画像のある範囲に来たとき、 左クリックをすれば次の画面に移る。という物です。 その場合、画像のサイズを確認して30x30の画像なら、仮に120,150をスタート地点にした時、 150,180までの範囲内で左クリックされた時、という条件になります。 それでやろうかな。と思ったのですが、ふとHTMLを思い出しまして、 画像をクリックしたら別のページに飛ぶような動作があったような気がするのですが。 C言語、もしくはDXライブラリでこういったメニュー選択をする場合、この画像をクリックしたら、という指定はできるんでしょうか? また、メニュー画面を作るならそんなのより、こういう考えのがいいんじゃない? とか、 そういった事があったら聞かせてください。 よろしくお願いします。

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

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

全部自分でコードを書かないと出来ないですね。 ・マウスの画面上の座標は得られます。 ・クリックしたかも得られます。 この情報から、画像の上にマウスが有るか判断してクリックされたら画像をクリックしたものとして処理すればよい訳です。 ただ、マウスで遊ぶゲームを作らない場合はキーボードだけで操作できたほうが良いと思います。

mitara42k
質問者

お礼

ああ、無理なんですね。 できたら楽だなーと逃げの方向に行ってしまいました。 キーボードで出来るように考えてはいたのですが、 一部動作がどうしてもキーボードのみ、で考えるとゲーム中に不便な所が多々あったので、マウスオンリーで行こうと思ってます。 回答ありがとうございました。

関連するQ&A

  • 同人ゲームのスタート画面作成について

    閲覧ありがとうございます。_ 私は、今、DXライブラリとMicrosoft Visual C++ でゲームをつくっているんですが、スタート画面の アイコンや選択の作成方法がわかりません。 あれです。ゲーム起動したら出てくるNEWGAMEとかLOADGAMEみたいな。 背景は,intDrawGraphで出せばいいんですが、アイコンとか、それを選択する スクリプトはどうすればいいかわかりません....。(-_-;) だれか、スタート画面のスクリプトを貼っていただけないでしょうか? お願いします。

  • じゃんけんゲーム(DXライブラリ使用)

    今大学の授業で簡単なゲームのプログラミングを習っているのですが、『じゃんけんゲーム』で詰まってしまったのでお力を借りたいです。 使用しているソフトは『Microsoft Visual C++ 6.0』と『DXライブラリ』です。 授業を聞く限り、多分C++で書いた物をDXライブラリで起こしているような感じなんですができないです。 じゃんけんゲームで最低の条件として 1:画像を画面に表示し、キーで操作できる。 2:ループの処理。 3:勝ち負けの判定。 4:CPUの処理。 となっています。 できれば、『DXライブラリ』で動く方式でプログラム自体を教えてほしいです。 それに、要所要所での解説などをお願いします。

  • DXライブラリとは?入門サイトを教えてください

    これから、C言語を学びそれからDXライブラリを学び、そうすることによって3Dゲームを作ることができるとうかがいました。 しかし、いろいろと調べてみるとこの2つだけで3Dゲームを作ることを不可能で、Blender等の3D、を開発するソフトで、それこそ3D、CGのフィールド・主人公・敵・・・・・・とまあつくっていって、C言語を使い、そしてDXライブラリで拡張し、様々な関数などを取り入れ、使い、作った3Dグラフィックスを表示したり操作したりできるみたいです。これは、本に書いてあったわけでもなく自分でネットで調べ、こういうことだろうと理解した内容です。 なので、これが正しいの内容か判断していただきたいです。 一部正解、一部誤解ということであれば部分を書いて頂き、「本当はこう」と教えていただけると幸いです。どうかお願いします。 2つもお願いして申し訳ないのですが、DXライブラリによる、3Dゲームのお勧め勉強サイト等がありましたら、教えていただけると嬉しいです! どうかお願いいたします!!!

  • DXライブラリでのゲーム作成について

    カテゴリー違いだったら申し訳ありません。 現在、私はゲームプログラマになりたいため、C言語や ゲーム作成をするのにDirectXの勉強をしているのですが、 DirectXは、少し難解なため、DXライブラリを使用して勉強しています。  果たして、それは将来的にDirectXを勉強するためにはプラスになるのでしょうか? それとも、難しくてもDirectXの勉強をした方が宜しいのでしょうか? また、皆様方の勉強法を教えていただけたら、お願いします。

  • 『 [スタート]メニュー 』 の範囲などについて

    ・「スタート」ボタンのクリックで画面を開くと、 縦2列に並んだ項目やいくつかのボタンがあって、 ・左の列は、更に上下の区域に分かれていて、 ・その下の区域にある項目を右クリックすると、  『 [スタート]メニューにアイコンを追加 』 というのがあって、 ・それを選択すると、項目が上の区域に移動し登録されて、 という風になっていると思います。 ---- 1.左上、左下区域の各項目は、 Windows のどこに記録・保存されるようになっているんでしょうか? 2.左下区域の項目の右クリックに『 [スタート]メニューにアイコンを追加 』 というのがあるということは、 [スタート]メニューは、左上の区域だけを指すようにも読み取れますが、 この辺りについては、どのように理解しておけばいいんでしょうか? 因みに、    スタート>全てのプログラム で表示される項目については、 「C:\Documents and Settings」から辿った「スタートメニュー」という フォルダにそれらのショートカットが置かれているようですし、 どうも「スタートメニュー」というのがどの範囲を指すのかが良く分からなくなってしまいまして。 --

  • エクセル2010のマウス操作について

    ウィンドウズ7でエクセル2010を使用しています。 エクセルのマウスなのですが セルを選択した時にすぐ入力モード?になってしまい、セルの選択がうまくいきません。 例えば、左クリックした状態でA1~C5までを選択しようとすると ・C5にカーソルが移動し、範囲選択ができなかったりします。 ・A1に文字を入力する状態になったりもします。 ←これが1番多いです。 ・なぜかコピーしてセルの内容をおきかえますか?と聞かれたりもします。 ・シフトキーやコントロールキーでセルを選択させれば、範囲設定ができます。 マウスで上手に範囲設定をするにはどう設定すればよいのでしょうか。

  • DXライブラリで作ったソフトが表示されない

    visualstudio2012でDXライブラリを使ってアクションゲームを作りました。 しかしvisualstudioでデバッグをして起動するとゲームができるんですが、ビルトをしてexeファイルを作りそれをダブルクリックして実行してもウィンドウの中に黒い画面が表示されるだけでそのまま何も動かない状態になってしまいます なぜでしょうか? 急いでいます。わかる方がいたら回答お願いします!!

  • DXライブラリによるパズルゲーム制作について

     今、私はDXライブラリによるパズルゲーム制作に取り掛かっています。 そこで、画像をランダムに表示する際のプログラムの書き方に詰まってしまったので、教えていただければと思い投稿しました。 LoadDivGraph( "BLOCK.png" , 16 , 4 , 4 , 32 , 32 , Block ); for(int i=0;i<15;i++) {     for(int j=0;j<20;j++)     {         int n =GetRand(14);   if(i==0||i==14||j==0||j==19)   { DrawGraph( j*32, i*32 , Block[7], TRUE );   }   else   { DrawGraph( j*32, i*32 , Block[n], TRUE );   }     } } ※インデントに関してはご容赦ください。 かなり端折っていますが、上記のような感じで打ってしまうと、(ここには書いていませんが)while文があるおかげで、一秒間に60回のペースでBlock[n]の中身が変化してしまいます。 これを解消したいのですが、かといって、いちいち変数を用意してコピーするのでは効率が悪いですよね。あと、パズルゲームですので、この先、表示した画像を入れ替えたり消したりといった処理があることを念頭に入れたうえでのベストな書き方を教えていただければと思います。 ちなみに、C言語・C++の書き方でお願いします。

  • DXライブラリでの画像表示

    ゲームプログラミング初心者です。 DXライブラリを用いて画像を表示させようと以下のプログラムを組んで実行してみたのですが、ウィンドウは表示されるのに画像が表示されません。 使用しているのはBorland C++ 5.5.,BCC Developer,DXライブラリです。 ちゃんと画像もプロジェクトファイルの中に入っていると思います。 OSはwindows8です。 考えられる原因を教えてもらえないでしょうか。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); if( DxLib_Init() == -1 ) { return -1; } LoadGraphScreen(0,0,"image.png",TRUE); WaitKey(); DxLib_End(); return 0; }

  • Vistaのスタートメニューを左クリックしても、全然メニューが出てこな

    Vistaのスタートメニューを左クリックしても、全然メニューが出てこなくなってしまいました。 仕方ないので、右クリック->「プロパティ」->「スタートメニューのプロパティ」で「クラシックスタートメニュー」を選択すると xpのスタートメニューが表示されてくるのですがとても不便です。 最近、余分なファイルを消そうと思って、なんかWindows.oldなんかを消していたのですが、そのせいでしょうか。