category     - WAR02開発 -

スポンサーサイト
top↑
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[--/--/-- --:--] スポンサー広告 | トラックバック(-) | コメント(-) | top↑
メニューをオーナードローで描画するには
top↑
昨日からやってるメニューのオーナードロー。何とか達成できました。
結局、ありがちなデザインです。色が緑なだけ。半透明ってわけでもないし。

menu_test02.jpg


ショートカットの表記がメニュー名とくっついてしまっていて
カッコ悪かったり、灰色表示の時も色が変わらないので有効なのか
無効なのかわからなかったりと、まだ甘いところはあるけど、
それは今回のミッションの範囲外ということで。
とりあえず流れは理解できました。

あとは、実用的になるように設計を考えようと思います。

気が付くと、昨日の時点でメニューバーの部分はオーナードローに対応してて、
今日はサブメニューの部分だけのはずなのに、これに6~7時間くらいかかってます。
プログラム的にも、100行ないでしょう。ほとんどコピペだし。
ホントに、何でこんなに遅いんだろう。

今日は午後1時まで寝てしまったり、祭りに行ったら食べ物が売り切れてたりと、
あんまりいい日ではありませんでした。明日は仕事か~。はぁ~。


とりあえず、今日作ったコレをサンプルプログラムとして公開したいと思います。

Visual C++6.0(VC6.0)のプロジェクトファイル付です。
なくても、特別なことはしてないと思うんでファイルをかき集めてビルドすれば
いけるかもしれません。
od_menu.lzh(61KB)

・・・表向きは、オーナードローのサンプル。とのことですが、同時にこれは
俗に言う「ベタ書き」のサンプルでもあります。プログラムを書いていて、
変数が欲しくなったらループの中だろうがお構いなしにすぐ上に宣言する。
ちょっと挙動の違うサブルーチンが欲しくなったら根こそぎコピーするか
長さなら無視して
if文で分岐する・・・。
いろいろやってます。

Windowsにはリソース周りで、こういう事態を起こす引き金があると思います。
フォント、ペン、ブラシとかは、

1.○○を作成
2.○○をデバイスコンテキストに割り当て。古いオブジェクトを保持
3.任意の処理
4.デバイスコンテキストに古いオブジェクトを割り当て治す
5.○○を削除

1回使うとなると毎回こんなことをします。
これを逐一書くようにすれば、かなりのべた書きになりますが、
今回のプログラムでは、元にしたサンプルにある程度これを緩和するコードが
あったので、それに甘えてしまいました。
スポンサーサイト
[2005/08/01 01:32] WAR02開発 | トラックバック(0) | コメント(2) | top↑
MISSION1:自分流のメニュー描画
top↑
久しぶりに、WAR02関連のプログラムを作ってますよ!
昨日書いたとおり、アニメーションエディタのメニューです。
「アニメーションエディタのメニュー」とかいうと、全体から見たら
ごくごくごくごくごく一部のような感じだけど、マップエディタのメニューにだって
使うし、設計によってはゲーム本体にも使えるかもしれません。
というかそうあるべきだ。

で、今はダウンロードしたサンプルを参考にしながら、余計な装飾のない
最低限のコードで動くように作ってるんですが、今の進捗はこんな感じです。


menu_test_01


まだ、サブメニュー以下は自分では扱ってません。フォントがイカれてたり、
影がちゃちいのは今後少しずつ何とかしていきます。それが終わったら、
設計の見直しをして、良い設計が考え付き次第アニメーションエディターに
実装させる計画です。
とりあえず今日で、MFCとか、VCに対する恐怖心はだいぶなくなりました。
感覚も、何となく戻ってきました。明日もこれやります!
[2005/07/31 04:16] WAR02開発 | トラックバック(0) | コメント(0) | top↑
| HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。