投稿

7月, 2018の投稿を表示しています

FPS制御有り無し

FPSの制御はサンプルもあるしとりあえず付けとこみたいな感じであまり実感無い感じでしたが、 フルスクリーンの時に分かりました(笑) 高速に動きすぎてびっくりΣ(・ω・ノ)ノ! 負荷かかりまくりΣ(・ω・ノ)ノ!

マップをつなぐにはどうしようか。

一気に描画・・・いや、描画範囲だけサーチするべきだよなぁ。 いままでそのまま大きいマップをそのまま作って、 スクロールした\( 'ω')/わーい、だったからなぁ。 暑さのせいで頭が働かない。

塗りつぶし機能追加

イメージ
諦めかけてたけど、 不具合の原因がキューの扱いという(´・ω・`) べつにキュー使わなくても良かったんだろうけど、 スタック使ってもPopで同じ目に合ってただろう。 塗りつぶす座標、色を取得して、 左右に境界線まで塗る。 塗るときに上下1ピクセル先の色を取得し、塗りつぶせる色ならキューで座標を記録。 そしてキューのカウントが0になるまで塗る作業を繰り返す。 という総当たりな処理(;^ω^) とりあえず動くので良し。

癒し

イメージ
イルシール攻略でギスギスしてたけど、ジークバルトさんで癒される。 さて、エディタの塗りつぶし機能実装にもどるかぁ・・・。 アルゴリズム調べてもイマイチ理解できず(;^ω^)

カーソルが黒い

ピクチャーボックスの上で描画モードなら鉛筆、 消すモードなら消しゴムといった感じにしようとおもい実行してみたところ真っ黒。 画像形式とかの話かとおもって色々調べたところ、C#のカーソルクラスは色対応してなくて白黒限定みたい。

コンボボックスをいじる

イメージ
オーナードローとかの響きだけで、大変そうだなぁーと思いながらも、 C#は基本便利なのでそこまでじゃなかった。 情報が豊富なのがほんと助かります。 DrawModeをOwnerDrawFixedに変更。 DrawItemイベントを パレットと同じ色のカラーリストから色情報をを引っ張ってきて、 あとはBoundプロパティを使って塗りつぶす というかんじに書いただけ(;^ω^) 選んだあとのアイテム名出てきてが邪魔だなぁと思ったんですが、 DropDownStyleをDropDownList(入力を受け付けない)にしたら表示されなくなった。 大したことじゃないけど、成功して嬉しい。

作るついでに動かす機能

イメージ
タイマー更新使っているのでカクカク(;^ω^) レトロ風だからまぁいっか。 これからはキャラメイキング機能とイベントや動作などのパーツづくりですかね。 イベント作りが大変だろうなぁ。

バグ取り

認識している範囲のバグはなんとか解決。 アンドゥの最新の状態が割り込んでくるというのは、 参照先の描画リストのカウントを0にしないために残していたせいだった。 しかしビットマップデータを引っ張り出す仕様に変更し、 リスト内に残さないようにしたので解決。 透過リセットの挙動のおかしさも同様、 ↑と同様、描画先であったバックアップのリストの最後のビットマップ書き換えてたという・・・。 すべて自分で作った仕様を忘れてるせい。(/ω\)ヤダー

不具合だらけ

イメージ
理想に近づいているが、アンドゥリドゥがダメダメ。 バックアップを取っているのがピクチャーボックス内でマウスボタンを離した時だけなのに、ちょくちょく最新の状態ものが入り込んでいたり・・・どっかで参照しちゃってるのかなーと思ったんだけどいまだ分からず。 透過リセットもされたりされなかったり・・・。ウーム。

透過の扱いが難しい。

マップのタイルのせるの重ね描画だと駄目そう。 自分の設計のせいでややこしくしているのか・・・。 とりあえずSetPixelで透過色に変更して消してから描画という形に落ち着いた。