ウインドウを表示したぞ
本日の進捗
Windowsのフォームを表示することに成功した。
こんな感じ。やはり、目に見える進捗というのはいいものだ。
あっ、そこ! 殺風景で地味だとか言わない!
確かに今は ただの灰色の板 だが、これは重要な第一歩なのだ。
それに、見た目では伝わらないものの、内部的にはすでに 60FPSで駆動するゲームループ が実装済みなのだ。
今後、描画やメイン処理を追加していけばもっとゲームらしくなるぞ。
ハマりポイントとか
その1:64bit版バイナリ
D言語で64bit版バイナリを吐くときに、user32.lib
などのライブラリとのリンクでエラーが出たあたりで少々てこずった。例の LNK1104
ってやつだ。
分かっちゃいたが、D言語は情報少ないからなあ。日本語の情報ともなるとなおさら…
自分の場合、最終的には dub.json
に libs
要素を追加して必要なライブラリ名を書くだけで解決した。
こういうのである。
... ほかの設定色々 ... "libs": [ "ole32", "kernel32", "user32", "comctl32", "comdlg32" ] ... ほかの設定色々 ...
わりと試行錯誤したぞ。LIB
環境変数を作って Windows Kit
のライブラリ群のパス追加するのかなあとか、sc.ini
の設定のせいかなあとか、正直いろいろ悩んだ。
どの環境変数使ってるんだこれ? また詳しく検証しておこう。
その2:dub.selections.json
???
D言語のパッケージマネージャとして、筆者はもちろん dub
を使っている。
ただ、dub build
とかでコンパイルすると dub.selections.json
とかいうファイルが dub.json
と同階層に出力されるのだ。なにこれ?
消してもコンパイルするたびに出るので、設定ファイルかなんかだろうと思い、.gitignore
にぶち込んじゃったけど、ええんかいな…?
その3:「これは!」というIDEがない
まあ、これはあらかじめ知ってた。ノーダメージ。
潔くあきらめて、シンタックスハイライトだけをする VSCode の拡張機能を自作して適用。
キーワードに色がつくだけで、わたしは満足です。
そもそも、IDE やデバッガの複雑な機能がないと、何やってるか追えないコード書いちゃうのもどうなのって話ですし(暴論)
ちなみに、キーワードの組み合わせに応じて色がちゃんと変わるのが個人的お気に入りポインツ。
疲れたので以上
まだ書きたいことはあるけど、今日はこんなところか。