7/21(月)


清水さんからメール帰ってきた。
清水さんってのは例のDirect3ZCの作者の人です。
リンクしてもいいよ。って言ってくれました。
それどころか、そのうち相互にしていたただけるみたいなことまで・・・
いやー、感激ですねぇ。
で、リンクは以下です。

情報技術研究会(InformationalTechnologyLaboratory)

ほんとに、参考になると思うのでぜひ定期的に見ることをオススメします。


今日、DirectXの本買ってきた。
「Direct3Dプログラミングガイドブック」って本。
著者はITLの清水さん。
ITLのHPで紹介していたこともあるけど、DirextX関係の本はこれとDirectXリファレンス(だったかな?)しか、売ってなかった。
DirectXリファレンスは入門本じゃないし、\12,000もするので買えるわけないのだ。

しかし、どういうことだろう?
えむっちは旭屋書店の梅田本店を愛用してるんだけど、半年ぐらい前にはDirectX関係の本が腐るほどあったのに・・・
大人気で売り切れたんだろうか?それはかなり考えにくいなぁ。

ホントはもう少しヌルイ本を買おうと思ってたんだけどねぇ。
この本はまだよく読んでないけど、Direct3Dが中心でDirectDrawにはあまりふれていないです。
この本で、とりあえずやってみて、わからんかったらもう少しヌルイ本を買いに行こうと思うよ。
あと、DirectSoundやDirectInputの本も必要になるだろうなぁ・・・

あ、それから、こっちのゲームのプログラム関係は、Newマシンが来るまで具体的な作業しない予定です。(今のPC98では遅すぎてやる気にならん。)


連休中はゲームの関係の方のプログラム全然考えなかった。
かわりに、「へっぽこプログラマーへの道」の連載4回用に考えてたネタをちょっと試してみた。
しかし、その結果、えむっちがまだまだ伝説のBuilder使いへの道は遠いことを思い知らされたのだった。

というのは、そのネタってのは、ImageとImageListとTimerで、簡単なアニメーションをさせるってものなんだけど、Imageの表示内容が変わらない!なぜだ?
でも、えむっちはすぐにある考えに行き着きました。

「あ、きっとImageの表示内容を一回開放しないとダメなんだ。」

でも、これが大きな間違いの始まりでした。
で、開放するメソッドを探しはじめたんですけど、ぜーんぜん発見できん。なぜだ?
なんか、それっぽいの発見したけど、えらいAPIよりでなんか違うような気が・・・まあ、試してみるか。

やっぱりだめだ。なんてメソッド使ったらええのん?
しょうがない、サンプルを見るか・・・(ここまででえらい時間かかりました)

Imagviewか?・・・なんか、イマイチ求めてるのじゃないなぁ。(ここでも、時間かなりかかりました。)
じゃ、Canvasかな?
お、Timer使ってるよ。Timerのイベントハンドラは・・・

ん?Invalidate?なんじゃこれは・・・
なに、再描画するだって!?
そんなんでいいのか?
いや、試してみれば解ることだ。

のわっ!うごくよぉ。そんなんでいいのか?
じゃ、Refreshでもいいのか?これも再描画するメソッドだぞ。

げっ、うごく。
なんだよぉ、そんなんでOKなのかよぉ。
おれさま、まるっきりアホじゃん。
必死こいて、開放するメソッドなんか探してさぁ・・・

まあ、今回は一つ賢くなったってことにしておくか。
今回の教訓は「Builderは深く考えたらダメ」ってことかな。
今回は変に考えてはまっちゃたしねぇ。

ところで、InvalidateとRefreshの違いはなんだ?
とりあえず、ヘルプ見てみるか。

・・・よくわからん。
しかし、ヘルプを見る限りではInvalidateの方が今回には適しているような気が・・・

と言うのは、Invalidateの方はコントロール全体の描画を一括して行うと言うようなことが書いてある。
じゃ、逆に考えるとRefreshの方はコントロール一つずつ描画していく事になるのか?
実際にこうなら、今回はForm->Invalidate()がよさそうだ。


戻る