マウスシューティングを作るにあたって質問

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
てつ

マウスシューティングを作るにあたって質問

#1

投稿記事 by てつ » 15年前

久しぶりに書き込みます。今、DXライブラリでマウスシューティングを作っていて
マウスポインタの位置がそのまま自機の位置になるようにしてるんですが。

マウスカーソルのスピードってコントロールパネルで変えられますよね。
コントロールパネルの設定に依存しないで、こちらの意図したスピードで
カーソルを移動させたいのですが、実現可能でしょうか?

ちなみに作りかけのゲームは
http://www.boreas.dti.ne.jp/~tetsuaki/game/zan.zip
一応遊べる段階にはなってます。

自機は(今のところ)無敵です。出来る限りの敵を倒し、地球を守るのが目的です。
10機以上撃墜し損ねるとゲームオーバーです。これに今後味付けしていく
予定です。

画像

asm

Re:マウスシューティングを作るにあたって質問

#2

投稿記事 by asm » 15年前

分かりづらいですが、2つ方法があります


マウスの座標を(できればウィンドウ内の座標から)取得、設定のできる関数があることが前提
1. 現在のマウス座標を取得
2. 1フレーム後、新たにマウス座標を取得
3. 1.のマウス座標と2.のマウス座標を比較し、角度とベクトルを求める
4. 現在のマウス座標へと、角度分のベクトルを加える
(要するに、どれぐらいの速度でどの角度へマウスが動いたか分かればいい)


マウス座標から自機座標への角度を求めて、規定した速度で移動する


①の方法は、移動速度を限定できる上に、移動速度が一定にならないのでお勧めです
(②の方法だと移動速度は必ず一定になります)

素直にマウスの速度を設定できる関数があれば、それを使うのがもっともベストでしょうね

てつ

Re:マウスシューティングを作るにあたって質問

#3

投稿記事 by てつ » 15年前

ご教示ありがとうございますm(_ _)m

何やら難しそうですが、出来ないレベルではないと思いますので
やってみます。結果が出たら報告します。


職場のパソコン2台で試したところ、片方はカーソルが飛びまくって
快適にプレイできず(マウスが安物でパッドもないからかと)。
もう片方は意図した通りに動きましたが、ホイールマウスもあったので
試したところ、なんか動きが遅くて意図したとおりに動いてるとは言えませんでした。
まあ、いまどきホイールマウスでプレイする人はいないと思うので良しとします。

てつ

Re:マウスシューティングを作るにあたって質問

#4

投稿記事 by てつ » 15年前

出来ました!!!!!

自作数学ライブラリがあったので実装は割と楽でした^^

ありがとうございました!!!!!

上記URLより修正版がダウンロードできます。 画像

閉鎖

“C言語何でも質問掲示板” へ戻る