「EnDlEss DREamER」ブログ

最近はunity5メインで活動中。以前はツクールRGSSネタなど。

§ Win32API クラス化プロジェクト

RGSS・・・というよりもRUBYの方が良いような気もしますが
Win32APIをもっと簡単に使えないかな~~ってことでクラス化していちいちコールしなくても
メソッド使用するだけで使えるようにやり始めました。
個別武器コマンドの改造はどこへやら。

で、ようやく理解できたWin32APIの引数とか戻り値の指定についての忘れ防止メモ。

Win32APIの「MSDNリファレンス」をMSのページを参照して使いたい関数の説明が載っている。
引数のところに「int」とか「UINT」とか「HANDLE」などの後に半角スペース後に引数の名前が書かれている。
前述「」の部分が各関数の引数の型を示している。
関数の引数が5個あれば呼び出す時の引数の型設定も5個必要。
だから「'xxxxx'」などとスクリプト中に記載されていたりする。
以下は「騒音の研究所」様のRGSS・RUBYで使用する際の型について解説。

・引数の型
 基本は以下のように指定する。
 ・文字列は常に参照渡し。p を指定する。
 ・リファレンスとかで頭に LP と付くものも p を指定。ただし渡し方に癖があるので注意。
 ・ハンドル類( HWND や HINTERNET など)も p を指定。
 ・型 INT, UINT は i を指定。
 ・その他の数値系はきっと l で大丈夫
・返り値の型
 ・基本的に引数と同じだが、ハンドルを受け取るときは l を指定すること。
 ・BOOL は l を指定しておく。true なら 1 を返すはず。


ということで、作成時の型設定について気を付けること。
戻り値はリファレンス内に型が説明してあるので省略。

描画やサウンド・音楽関係から先に作ってとりあえずUPする予定。
でも、関数が膨大すぎるので多分今年一番の大型プロジェクトになるかも。
使い方としては「xxxx.rb」というクラスごとに*.rbファイルを作って、requireで読み込み
メインスクリプトにて動作するようにやる予定。
前述したように膨大になるので、いちいちコピペして張り付ける作業がめんどい。絶対に。俺なら嫌だな。
本当のRUBYなら「Win32API」をrequireしてから作成予定のクラスのファイルを読まないとダメなんだろうねぇ。
でも、使う側からすれば普通にメソッドを実行するだけでwin32apiを使えるようになる・・・ハズ。


追記
実はVC++の参考書買ってDL・インスコまでしました(^_^)
KGC様に習って今年はDLLを作れるようになりたい♪
贅沢言えばなんかフリーソフト作れるぐらいには将来的になりたい。
そして介護からプログラマーへ脱出・・・・
というのはジョーダンだけど、なんかソフト作れるようにはなりたいね。
せっかくRGSSからRUBYの知識やプログラムの初歩を掴んだんだから。


2011/01/27/Thu 16:50:35  VX RGSS2/CM:0/TB:0/
new ちょっと放置気味・・・ / MAIN / またまたかなり修正してます。 old

COMMENT

COMMENT POST

/
/
/
/



 
 内緒です♪

TRACK BACK

  この記事のURL:
   http://edlogtkool.blog36.fc2.com/tb.php/706-30b2c008


MAIN
copyright © 2006 「EnDlEss DREamER」ブログ. All Rights Reserved.
Template by TAE-3rd☆テンプレート工房