なうろーでいんぐ
キーボード↑↓
でもいいぞ
旧サイト形式へ帰りたい人
データ読み込み成功
2011年04月12日18時00分
パッキングデータからの読み込み成功。
ファイル 368-1.png
後は暗号化さえしっかりしてればデータ漏洩防止可能。
次はデータ読み込み関連の順位付けとデータ出力かな。
ダイアログから現在のデータでパックを出力、という形に
できればカスタマイズブロック崩しツールは、ほぼ完成。
やっとここまで来たか・・・。


同日 22:23
パッキングによる設定保持出力&読込起動まで完成。
ファイル 368-2.png
残るはファイルの優先順位、そして今更気が付いたが、
ウィンドウの解像度変更の可否を処理せなアカン。
次から次へと・・・
記事カテゴリ:プログラム関連
ファイルパッキング
2011年04月11日18時15分
STLの理解はまだ若干曖昧に感じるが、パッキングの
入出力は理解できたと思う。ワイルドカードといい、
かなり厄介な部分があるが、ぬるりと進めるとしよう。
うむ、テンプレートの理解が追いついてきた。
やはりイテレータはポインタと同じ考え方でいいな。


4月12日 1:36
パッキングは上手く行った。
変数値とファイル情報の個数を先頭ヘッダーに取り、
各自のヘッダーをそこから準備、情報を書き込んで
一つのファイルにし、更にそこから情報を取り出す
まではできたんだが、バイナリのポインタから
ファイルのポインタへの橋渡しをどうすればいいのかを
悩んでる。多分そのまま渡せば動くとは思うんだが。


同日 3:58
動いた。結局fopenで開いてclose前に内容を送り、
fcloseすると同時にremoveするという荒い形になった。
何か他に方法無いのかね・・・。
記事カテゴリ:プログラム関連
ダイアログ進行
2011年04月10日15時00分
ダイアログ表示位置設定と項目&機能追加。
ファイル 366-1.png
画像入れ替えの前に、端ブロックの判定と走査方法を
ちょっと考える必要があると考えている。
面倒だが、どの方向の端ブロックなのかを保持して
それによって処理を分けるしかないか・・・。
そろそろ別動のクリア表示処理も真面目に考えないと
あかんなぁ。それに配布用パッキングもせんとアカン。

先日の描画関数内で描画元から持ってくるsizeの
指定を端フラグでif分岐すれば、まんま動くヨカン。
ブロック数が極端に増加した場合どうなるか不安になり、
1pxブロック動かしてみたら、案外普通に動いてワロタ。
流石に動きはちょっと鈍くなったが;

因みに、その時のブロックの総数簡易判定で78084個。
1秒1個壊す換算でも21時間半以上かかる。
そんなブロック崩ししたくないデス。


同日 17:00
端判定ちゃんと動いたで。
画面サイズがブロックサイズで割り切れる場合も
上層で考慮済み。ブロック生成側でフラグも立てたし。
画像はdib自身と引数の相手のdibでのビット内容比較。
ファイル 366-2.png
これでようやく画像入れ替えとかブロック追加を
まともに考える事ができるわ。


同日 21:11
透明ブロック追加。
画像は見やすい様に可視化した状態。
ファイル 366-3.png
ブロックサイズ可変、透過色(黒)を指定して色以外が
含まれるならブロックと化す感じにした。
2重壁と違うのは、判定は通常ブロックと同時に
行われるので、かぶった部分が消えてしまう点。
とりあえずは上手く動いて一安心。
2重壁を上手く部分指定するには、おそらく
第一段階のブロックとして上乗せする画像の更に
差分を取ってそこを判定し、2重壁の判定を先に行い、
ぶつかっていれば通常ブロックの判定は飛ばす、
というやり方で出来そうな気がするが如何に。


4月10日 0:04
思った通り、2重壁作成完了。
ブロック衝突時のSEも通常と別物に変更完了。
ダイアログの設定を詰めたらそろそろファイルを
パッケージングするコードを考えるとしよう。


同日 1:27
ダイアログに二重壁実装完了。
その間、3重以上の壁の作り方考えたんだが、
3重とかにするんだったら、参照するdibを引数に
個数分取って逐一検査していかないとあかんのよなぁ。
・・・追々としてそろそろコード整理しよう。
記事カテゴリ:プログラム関連
DIBへの落とし込み
2011年04月09日17時18分
相変わらずDIBSectionの件は解決してないけど、
とりあえずDIBSectionからDIBに落とし込んで
普通に動いてたのでソースage。
アルファ値考慮 部分画像 合成関数
上の方のコメントアウトは無視で。
ファイル 365-1.png
画像の出力先と入力元の位置計算まで含んでたから
計算超面倒だったわ・・・。
ほれこのとーり、今度は解放不可エラー起きないわ。
ファイル 365-2.png
まさかこんな時間までかかるとは思わなかった;
次、休憩入れてから音のダブルバッファな。
因みに、関数の引数は

LPDWORD DIB :ビットマップ画像自身、転送先
const CDibSection &dib :DIBSection、転送元
CPoint to :転送先のx,y座標位置
CSize size :転送するx,yの各サイズ
CPoint from :転送元のx,y座標位置
float a :アルファ値

である。


同日 21:08
結構手間取ったわ。
マルチではないけどシングルで再帰的にWAV
を読み込んで連続再生。ブツ切りにはなるが
継続してBGMを流す事はできた。
ファイル 365-3.png
これからマルチバッファして、次はタイマやな。


4月9日 0:57
マルチバッファ&タイマ実装。
ファイル 365-4.png
漸くボール制御側もタイマで一定速度になりました。
それまではブロックサイズが変わるだけで顕著に
スピードが変化してたので面白かったけど。
次はコード整理とダイアログの機能追加かね。

同日 2:23
ソース改善中、動作が徐々に良くなると気持ちいい。


同日 3:24
衝突音の変更とかボールサイズ変更とか実装。
ファイル 365-5.png
フルパスからもCreateFileできるので、簡単。
カレントディレクトリにさえ注意してればよい。
機能拡充は範囲が幅広いなぁ・・・;
記事カテゴリ:プログラム関連