Excel VBAでジョイスティック入力(6軸)


エクセルでジョイスティックを使うに当たって、改めていろいろ検索してみたものの、「Excel VBA ジョイスティック」で検索すると、以前紹介させていただいた眠り猫さんのサイトしか情報がありません。
新しいジョイスティック(記事)に対応させるには、どうしてもXYZの3軸だけでなく、RVUの回転軸も読み込まなければなりません。
おそらく眠り猫さんのサンプルはJOYINFOを参照しているのでしょうが、6軸読み込むためにはJOYINFOEXが必要なので、今までのコードをあきらめ、自分でAPIを勉強し直すことにしました。
Amazonで買ってみたExcel VBAのゲーム製作本を買ってみてベースとなるJOYINFOの使い方はだいたい把握できました。1冊買って参考になったのは1ページだけでしたがw
またJOYINFOEXに関しては、DJEBEL375氏の「サイドワインダーからの値を取得」にあるコードで、だいたい把握できました。
ちなみに上記のJOYINFOEXのサンプルはVB4,6用のコードなのですが、幸い若干の修正だけでExcel2010に移植できました!
joy.png
というわけで、Excelで6軸のジョイスティックを用いてゲームを作りたい方、ロボットの制御をやりたい方向けに、一応、自分の作ったエクセルファイルも公開します。

ダウンロードはこちらから
(joystick_test_excel2010.zip)

注1:Excel2010で製作しています。(xlsm形式)
注2:お約束ですが、マクロとActiveXのセキュリティは適宜変更してください。
補足1:JOYINFO、JOYINFOEXどっちも使えます

今まで、ジョイスティック関連はHSPやVC++ではDirectXを使っていたので困ったことがなかったのですが、意外とAPIで呼び出すVBA用のコードが少なくてびっくりしました。
今回得た教訓、”Excel VBAはVBのリソースが使えるので、困ったときはVBで探しなさい”
参考にさせていただいた書籍・URL

Excel VBA アクションゲーム作成入門 Excel 2007/2003/2002 対応 Excel VBA アクションゲーム作成入門 Excel 2007/2003/2002 対応
近田 伸矢 谷 孝一 武藤 玄 USA【うさ】 影斬

インプレスジャパン 2009-03-06
売り上げランキング : 15659

Amazonで詳しく見る by G-Tools

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

アーカイブ

広告

Top