日記(81)

<前 次>

ふにゃ1とふわふわふにゃ on web browser

ふにゃ1(開発状況)


ColorPicker的なのがWPF標準にはなかったので、自前で色指定ダイアログ作りました。

色指定ダイアログの調整。

明るい背景色でもステージの境界がわかるように調整しました。

毎度毎度メニューからステージメーカー開くの面倒なので、ショートカットキー設定しました。
ついでにヘルプも。

ゲーム的には最も重要なキャラクター配置機能を作り始めました。
ただ、VB版と同様のドラッグアンドドロップによる操作がなんだかうまく作れなかったので、違う方法を考えようと思います。

ふわふわふにゃ on web browser

今は実装進める気はないけど、もっといい感じにやる方法あったのでメモがてらコメント。

JavaScriptで画像をクリップボードにコピーする方法 | Coding Haku
画像添付できるかも!って話です。

アンパンマンDBとドラゴンクエスト10

アンパンマンDB(記事更新)

来週の放送情報。
初登場じゃないけど「アンパンマンと」パターン。
アンパンマンでインスピレーション沸いたらしいけどアンパンマンは食べてくれないぞ?

ドラゴンクエスト10

毎月10日はDQXで遊ぼう! ~ドラキーマのモンスターシール集め隊!2~ (2025/1/3)|目覚めし冒険者の広場
テンの日。
だけどシャレマネは集めてないからとりあえずいつものアイテム回収だけ。

蛇姫イベント報酬
ちょっと遅れたけど、蛇姫イベントの報酬ももらってきました。
ついてクンの動きが自由すぎて写真撮るとき日が暮れるかと思ったけど、まあなんとか夕陽と一緒に写真取れました。

ふにゃ1

ふにゃ1(リリース)

バグ修正したやつ、リリースしました。
実はもう一個バグが見つかっていて、コード上は修正完了しているんですが、そっちは別に危なくないバグなんで、リリースは後日別の修正と一緒に、ということにします。

ふにゃ1(開発状況)


背景色対応中。

の前に、コード上修正が完了したバグのやつ。
バグったというよりは、VB6の仕様の考慮漏れにより未実装だったやつです。
で、そのバグ修正で新たにバグるようなことがあるから、修正後即日リリースみたいなことはあまりしたくないというのが、2個目のコミット。

ふにゃ1のステージファイルはVB6でも読めるShift_JISで書かれているので、ステージメーカーで書けたとしても、絵文字や難しい漢字などShift_JISにない文字は保存しちゃいけないのです。
ということで、使えない文字があった場合にはエラーを出して保存させないようにしました。
バリデーションはWPF公式のマニュアルを参考に。
もっと簡単な書き方ないのかと他の記事も見たんですが、みんなだいたい同じようなやり方でした。

背景色の対応。
単純に背景色を表示すると、黒いマップに黒い背景色を設定した場合などに、マップがどこにあるのか見えなくなるので、白く光らせて闇に浮かぶようにしました。
光の色は白固定なので、白いマップに白い背景だと光が見えなくて結局マップを見失いますが、今のところは対応していません。
なお、ゲーム本体のほうは、マップの境目が見えないのも一つのゲーム性と考え、この光は入れないつもりです。

ふにゃ1(開発状況)

確認したらやっぱりリリース版でもバグってたので、チェリーピックしました。
もうちょっとバグないか確認したらアップする予定。

あと、ダウンロードページで、ファイルサイズ大きめなのに表記してなかったので、表記するようにしました。
これも本体と一緒にアップ予定。

ふにゃ1(開発状況)


地形編集できるようになった!

大きすぎるステージはエラーになり、小さすぎるステージは何もできずミスになるので、範囲に制限を設けました。
エラーを出すほうがいいかなとか思ったりもしましたが、黙って範囲を修正する方向で対応しました。

これは秘密機能関連のバグ修正。
公開中のバージョン2.0.0にも同じバグがあったらチェリーピックしてこの修正だけ先にリリースしたほうがいいかも。

昨日は「WPFらしく」なんて抜かしてましたが、WPFは座標が小数になる都合上、スクロールの具合でマス目に隙間が生まれてしまうので、ゲーム本体と同じ、一度に描画する方式に変えました。

ステージサイズとかを反映する機能。
毎回地形全部を描画しなおすとさすがに重かったので、再描画が最小限になるような調整も入れています。

そしていよいよマウスでぐりぐりやって編集する機能。
ファイルを開くときのマウス操作にも反応してしまったので、ちょっとそのあたりの制御も入れています。

編集する機能に遅れてマップチップ選択機能。
マップ側でスポイトすることもできますし、チップ側で選択することもできます。
これで既存ステージの地形を変えたりはできるようになりました。

他に必要なのは…

  • マップチップ画像選択機能
  • キャラクター配置機能
  • 背景色設定機能
  • マップ追加機能
  • マップ削除機能
  • タイトルに使えない文字(ShiftJIS範囲外)の対応

できればやるやつは、

  • シフト移動
  • 拡大縮小
  • マップ順序入れ替え

こんくらいかな。

ふにゃ1(開発状況)


昨日やりたかったマップ表示!

WidthとHeightが実は幅と高さより1少ない値出たので、正しい名前にしときました。
んで、コミットメッセージの詳細にも書いてありますが、WidthとHeightを正しい意味に再定義しました。

見た目だけだったキーボードショートカットを実装。

ステージメーカーをゲーム側に入れたのでそのことを追記。

ずっと気になってたMapTextの無駄さをどうにかしました。
読み込みの瞬間にしか使ってないのにフィールドとしてずっと保持していたんですよね。

ゲーム本体のほうはマップ表示を原作通りの方法で行いましたが、ステージメーカーは初めから原作と違う方法で実装しているので、マップ表示も素直にWPFらしくやってます。

新規マップの大きさ初期値が1x1のプレイ不可能なサイズだったので、調整しました。

ふにゃ1(開発状況)

マップセレクトができるようになりました。
これもだいたいXAMLのバインディングで実現していて、INotifyPropertyChangedの件は、その準備となります。
本当はマップ表示までやってしまいたかったんですけどね。

<前 次>