昔、自分のPCスペックの問題でまともな開発環境がExcelVBAしかなかったのですが、
それでもDXライブラリで作るようなゲームをプログラムしてみたいと思った事がありました。
その時に、VBAから「DxLib.dll」を扱えるように標準モジュールを作って
ゲームプログラミングしてたわけですが、最近は開発環境も整ってVisual C++での開発がほとんどです。
ですが、最近になって、データを整理していたら作ったモジュールデータが出てきたので、
自分への覚え書きも兼ねて使い方をメモしてみようと思います。
作業環境など:
windows7(64bit)
Excel2010
DXライブラリ(VisualC#用(Ver3.11b))
使用方法:
1.マクロ有効ブックで新規作成したブックと同じ場所に「DxLib.dll」を配置
2.ブックを開いてVisual Basic Editor(Ctrl + F11)を起動する
3.ファイルのインポート(Ctrl + M)で「DX.bas」を指定
4.標準モジュールかThisWorkbookにプログラムコードを書いていく
ただし、相対パスを有効にしないと「DxLib.dll」を参照できないため
ChDrive ActiveWorkbook.Path
ChDir ActiveWorkbook.Path
をソースコードの初めに書き入れておく
使用上注意:
・ClearDrawScreenを呼ぶとフリーズして止まるため、旧関数ClsDrawScreenを使う事
・DxLib_Endを呼ぶとExcelごと終了するがウィンドウを最小化してからであればウィンドウのみを終了できる
・3D関係関数はVECTOR構造体に値を渡す方法がわからないため未実装
・引数省略の知識が無いため(というかできるの?)一部の関数の引数が以上に多い
引数は、省略するとエラーが出るかフリーズする
・自分が使ったことがない関数は、定義されていても仮定義状態なので正常に動く保証がない
そういった関数は引数の問題上フリーズする事があるため見つけ次第、定義を修正する必要がある
(以上)
なんというか・・・
調べても同じ事をやってる人がいなかったのですが、
よく考えたら、特別理由がない限りVBAでやる必要ありませんねw
個人的には、シートの値が使えるとかインプットボックス等の機能がC言語より扱いやすいなど
利点もあると思うのですがね;
ExcelVBAでDXライブラリを使ってみた
ExcelVBAでDXライブラリを使ってみた
- 添付ファイル
-
[拡張子 zip は無効化されているため、表示できません]
最後に編集したユーザー imamikay on 2013年12月14日(土) 19:41 [ 編集 2 回目 ]
RE: ExcelVBAでDXライブラリを使ってみた
ありゃ(汗
ほとんど同じことやってますね・・・
既出だったとは;;知りませんでしたorz
(Google検索で、ヒットしなかったのでつい;)
ところで、コードを拝見させてもらいましたが、
ClearDrawScreenって引数(0)で動作するんですね!
今までフリーズしてたのが、普通に動きました^^
ほとんど同じことやってますね・・・
既出だったとは;;知りませんでしたorz
(Google検索で、ヒットしなかったのでつい;)
ところで、コードを拝見させてもらいましたが、
ClearDrawScreenって引数(0)で動作するんですね!
今までフリーズしてたのが、普通に動きました^^
最後に編集したユーザー imamikay on 2013年12月14日(土) 14:50 [ 編集 1 回目 ]
Re: ExcelVBAでDXライブラリを使ってみた
仕事場のPCに入ってるのしか見たことないですが、Excelってスペックの高いPCじゃないとまともに使えないイメージなんですよね。
わたしはExpressが出る前からWindows SDK(当時はPlatform SDK)付属のコンパイラを使ってたこともあってVisual C++はIDEを使わずに済ませることが多いです。
わたしはExpressが出る前からWindows SDK(当時はPlatform SDK)付属のコンパイラを使ってたこともあってVisual C++はIDEを使わずに済ませることが多いです。
Re: ExcelVBAでDXライブラリを使ってみた
はじめまして、ISLe さん
一般イメージとして、動作の軽いものだとおもってました;
実際、旧スペックはintel PentiumでExcel2007でしたがエクセルはサクサクだったので;
でも、IDEを使わないとなるとコマンドライン上の操作でコンパイルとかしてるってことですか?
もし、そうとなると私の能力でできるか怪しいですが、確かに軽い動作で作業が行えそうですね。
え!そうなんですか。ISLe さんが書きました:仕事場のPCに入ってるのしか見たことないですが、Excelってスペックの高いPCじゃないとまともに使えないイメージなんですよね。
一般イメージとして、動作の軽いものだとおもってました;
実際、旧スペックはintel PentiumでExcel2007でしたがエクセルはサクサクだったので;
そういう事もできるんですね!ISLe さんが書きました:わたしはExpressが出る前からWindows SDK(当時はPlatform SDK)付属のコンパイラを使ってたこともあってVisual C++はIDEを使わずに済ませることが多いです。
でも、IDEを使わないとなるとコマンドライン上の操作でコンパイルとかしてるってことですか?
もし、そうとなると私の能力でできるか怪しいですが、確かに軽い動作で作業が行えそうですね。
最後に編集したユーザー imamikay on 2013年12月14日(土) 19:12 [ 編集 1 回目 ]