Qiitaとドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト
Qiita
予定通り、記事公開しました。
もう一個のほうは、まあ、またいずれ。
ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト
ログイン関係も充実させたいけど、もっと根本的な、プレイベチェックの仕組みをもっと安定させたいところ。
歴史的な事情もあるのですが、結構回りくどい処理やってるんですよね。
一番ややこしいところを一本化しようと考えています。
予定通り、記事公開しました。
もう一個のほうは、まあ、またいずれ。
ログイン関係も充実させたいけど、もっと根本的な、プレイベチェックの仕組みをもっと安定させたいところ。
歴史的な事情もあるのですが、結構回りくどい処理やってるんですよね。
一番ややこしいところを一本化しようと考えています。
動画投稿しました。
内容は同一です。
ゲーム音声と実況音声の音量バランスは調整したけど全体の音量調整してなかったなァ。
前回は出力設定で無茶して紙芝居になったし、動画作成手順をまとめておかないと。
アンパンマンDBから爆速で商品情報入れる方法思いついたので試してみた…けど、半分しか保存されてなかった!
どうやらこまめに確定させていく必要があるみたいだ。
昔書いた記事の続編、今更書きました。
今アンパンマンDBで使っているコードほぼそのままです。
CSS、今も発展を続けているはずだけど、このCSSももっといい書き方が生まれてるのかなぁ。
あと、もう一つ別の記事も執筆中。
.NETです。
FrameworkElement.UseLayoutRounding プロパティ (System.Windows) | Microsoft Learn
WPFでUI要素をピクセル境界に合わせるSnapsToDevicePixelsプロパティがうまく効いてない場所があるなーと思って調べていたら、似た役割のUseLayoutRoundingを見つけました。
SnapsToDevicePixelsは指定した要素自身をピクセル境界に合わせ、UseLayoutRoundingは子要素のレイアウトをピクセル境界に合わせるということかな。
ただ、子要素の相対位置をピクセル単位に合わせるという動作らしく、指定した要素自身がピクセル境界からずれていると意味がないようです。
だから、Windowとかの一番外側の要素に指定して、あとは余計な指定をせず継承するに任せておくという運用がいいのかな。
WPF版ふにゃでもぼやける部分があったんで、これで対策できないか試してみたいところです。
とりあえず、課題立てときました。
mifumi323/ReadAllLinesTest: .NETのFile.ReadAllLinesの最終行の扱いを確認するプログラム
普段何気なく使っているFile.ReadAllLines、最終行の改行コードの扱いが気になって、ちょっと確認してみました。
結論、最後の改行コードはあってもなくても同じ結果になる、つまり、最後に空行が発生したりはしないようです。
Avalonia UIでタイトルバーなしウィンドウ
無事記事公開しました。

最後のステージ手前でずっとでなおしリセマラ粘ってたらついにオール↑出た!!
これでロードトリップのクリアチェッカー完了!!
そのあとはまあ、すっきりと3周目もラスボスやっつけてクリア。

そしてエアライドもクリアチェッカーいくつか開けました。
ケイビオンの横穴探しも兼ねてフリーランをいろんなマシンで頑張ってみたり。
後はコックカワサキで順位を捨ててカレー投げるのに全力を注いだり…もしたけど、違うチェックばかり空きまくったなあ。
他の写真は以下から。
カービィのエアライダー(2025/12/13)の写真
来週の放送情報。
きしめんさん再登場早いな。
本当は今日記事書いてしまう予定だったんですけど、できないと思っていた最大化最小化禁止が、つい最近の更新で簡単にできるようになったことがわかりました。
ということで、記事書き直し中です。
さすがに明日には書き終わるかな。
第24回アストルティア★ハッピーくじ『年末大勝負くじ☆2025』 (2025/12/5)|目覚めし冒険者の広場
くじ買った!
はい無事クリア!
またしても30分かかってしまいました。
mifumi323/AvaloniaHideTitleBarSample
こんなの作ってました。
Qiitaとかにまとめなおしてもいいかもとか言ってたやつ、書くために。
まあ、このリポジトリがシンプルに結論なんですが、Qiitaのほうはちょっと文章書きます。
Avaloniaタグ追加しました。
これまでの日記をまとめるのもそうだし、今後も書いていきたいので。
今日はゲーム記のカービィディスカバリーのページにスターリーワールドの情報でも追記しようかなーなんて思ってたけど…
来た! pic.twitter.com/JtDEQ5XmRB
— 📛松田美文 (@matsuda323) November 12, 2025
Avalonia Accelerate
順序的にはこっち先にやったんですが、Avalonia UIの追加ツールです。
無料版をひとまず入れてみました。
メールアドレス関連でちょっと躓くところがありましたが、それ以外はおおむね順調でした。
ソリューション構成調整 by mifumi323 · Pull Request #11 · mifumi323/FLaunch2
さっき画面写真出したけど、.NET10&C#14に移行して、ソリューションもVS2026向けに切り替えました。
あと、書き忘れてたライセンス表記も。
アンパンマンの録画をアンパンマンDBと連携させる系のツールのリリースビルド、復活しました。
最適化を有効にしていると、使われていないクラスとコンパイラによって判断されたものが削除されるのですが、System.Text.Json.JsonSerializerが復元するクラスは静的解析ではすべてを把握しきれないので、最適化があるリリースビルドではJsonSerializerでの復元は禁止されてしまいます。
これを解決するのが、SourceGenerationContext。
まあ…詳しくは以下のリンクで。
System.Text.Json でソース生成を使用する方法 - .NET | Microsoft Learn
隠者のクエスト進めました!
今回は純粋に見回りだけだったのでボスバトルなし。
ただ、ボスと思われる存在がちょっと登場。
クリア報酬で隠者装備一式手に入れたのですが、錬金のためいったんミフミンに預けているのでまだ着ていません。
他の写真は以下から。
写真置き場「2025/10/04」
Slider.ThumbToolTipValueConverter プロパティ (Windows.UI.Xaml.Controls) - Windows UWP applications | Microsoft Learn
MediaPlayerElementが標準で持っている再生UIに不満があったので、自前で実装してました。
再生位置を示すシークバーにはSliderを使ったのですが、Sliderに指定できるのは単一のdouble値のみ。
当然、再生位置はTimeSpanで表されるので、doubleに変換して入れてやることになります。
そうすると当然、Sliderをつまんだときに表示されるツールチップも、デフォルトのままでは小数値が表示されます。
ということで、そのツールチップの表示変換を行うのが、ThumbToolTipValueConverterです。
IValueConverterを実装したクラスのインスタンスを渡してやると、変換されます。
表示に使うだけなので、必要なのはConvertだけで、ConvertBackは未実装のままでもなんとかなります。
これも後でまとめてQiitaあたりに書いとくか。
来週の放送情報。

とりあえずプロジェクト作ってみたけど、UWPをベースにしてマルチプラットフォーム化した感じなのね。
私にとってUWPは今一つだったし、それがベースになってる時点で熱くないな、という印象。
最初のウィザードが充実して、最初の工程を手取り足取りやってくれるけど、その分、ウィザードが終わった瞬間複雑なプロジェクトが目の前に現れます。
Avalonia UIは「UIの他はMVVMだけ用意したから後は好きにやれ」みたいな初期状態だったので、この点は対照的ですね。
UWPをしっかり学んだあとのマルチプラットフォームを目指すステップだったらこの複雑さがむしろ嬉しくなるのかも。
あと、MVUXっていう聞いたことないアーキテクチャが。
がっつり使い倒す前提ならいいかもしれないけど、今の私には重いかな。
Uno Platform: Build Cross-Platform .NET Apps Faster
.NETでデスクトップアプリ開発と言えばこれもあったなと。
なんか微妙なまま立ち消えになってなかったっけ?って思ってたけどまだまだ元気でした。
今度また試してみようと思います。
自分以外が救世主になっちゃうと困っちゃう町長さんの依頼。
どうやらウィンドウも普通に表示できる模様。
ビューモデルから親ウィンドウを直接たどる方法が見つからなかったので、メインウィンドウのインスタンスを静的プロパティに入れる必要があったけど、もっといい方法あるのかな。
突然、かつ今更、しかも季節外れのクリスマス衣装ですが、偽グランゼドーラのクエスト進めました。

ボスのひとくいドール。
ニードルマンみたいなやつですね。
襲われてた人、めちゃくちゃモブ兵士顔で「誰?」って感じだったけど、たぶん塔に潜入してた時に何かされてた兵士かな。
ダイム老の孫という設定のようで、絶望に沈んでいた偽グランゼドーラにちょっとだけ希望が戻りました。
他の写真は以下から。
写真置き場「2025/02/25」
.NET Frameworkのバージョンを上げるだけの単純な修正。
CI関連の機能が古すぎて動かなくなっていたので、そっちも更新しました。
さて、特に新機能も本体のバグ修正もないわけだけど、いつリリースしようか…。
Avalonia UI
.NET向けのクロスプラットフォームUIフレームワーク。
Microsoftではなく、サードパーティ製です。
WPFみたいな感覚で使える模様。
しろいコキンも人食い火竜やっつけました!
ミフミンのときの経験から、ハンマー盗賊が相性よさそうだったので、それ中心の編成で。

ミフミンがやられたのはこの技、獄炎テンペスト。
さすがにこれが来るとわかっていれば、近寄ればいいだけなので難なくやり過ごせたのでした。
…と思いきや、効果範囲が正反対のスーパーノヴァをその後使われて、同じ感覚で近寄ったら、密着状態で見事に燃やされてしまったのでした。
まあ、最終的に炎耐性100%の優秀なサポたちがどうにかしてくれたわけですが。
来週の放送情報。
歴史の長いキャラで固めてきた感じですな。
食パンとジャムって一番合うのにキャラの組み合わせとしてはこれが初なんだ。
先日悩んでた動画スクショの件、解決しました。
CopyFrameToVideoSurface メソッドを使えばよかったのでした。
実はあの時もそのことまでは突き止めていたものの、コピー先となるIDirect3DSurfaceをどう用意すればいいのかがわからなくて詰まっていたのでした。
MediaPlayer を使ったオーディオとビデオの再生 - UWP applications | Microsoft Learn #フレーム サーバー モードでの MediaPlayer の使用
答えは結局サンプルコードの中にあったのです。
使うのはCanvasDeviceとCanvasBitmapです。
WinUI3本体には入っていないので、NuGetでMicrosoft.Graphics.Win2Dを入れます。
VS2022に任せているとWinUI2用のWin2D.uwpを入れさせようとしてくるので注意です。
来週の放送情報。
再放送ですな。
MediaPlayerElementで今表示されている映像を静止画として使いたいけどやり方がわからぬ…。
MediaPlayer.IsVideoFrameServerEnabled プロパティあたりを使えば何かできそうな気はするけど、これを使うと画面に表示されないし…。
スレッド機能の移行 - Windows apps | Microsoft Learn
WinFormsでも厄介だった非同期処理でのUI処理。
WinFormsで使ってた方法そのままは無理なので、ちょっと違う方法になります。
とはいえ、使うメソッドが変わっただけで、メソッドを一枚噛ませてやるという構造自体は変わらない模様。
ListViewBase.ScrollIntoView メソッド (Windows.UI.Xaml.Controls) - Windows UWP applications | Microsoft Learn
そんでもってこっち。
ListViewはプログラムで選択を変えても自動でそこまでスクロールしないので、同じくプログラムでスクロールさせてやる必要がありました。
とはいえ、どこまでスクロールするかを指定する必要はなく、メソッド一つでよしなにしてくれます。
コラムから転記。
転記元の時点で文章がおかしな部分があったので、コラムともども修正しています。
データ バインディングの詳細 - UWP applications | Microsoft Learn
これまで「Binding」によるバインディングしか使ってなかったけど、「x:Bind」によるバインディングも調べてみました。
「Binding」が動的に解決するのに対して、「x:Bind」は静的に解決するということ。
つまりまあ、コーディング中にもう既にどこからデータが来るのかわかっているということですな。
で、コーディング中に既に分かっているので、インテリセンスがどんどん自動的に候補とかを出してくれるし、実行中にデータを探しに行ったりしないので、動作も高速と。
「Binding」でしんどい部分があったから「x:Bind」を調べ始めたんですが、思ったよりだいぶいいですね。
もちろん、やりたいことを全部簡単に完全にできるというわけではないですが。
来週の放送情報。
Visual Studio本体のバージョンを上げたら.NET9が使えるようになっていました。
WinUI3試してるプロジェクトでもさっそく適用。
今のところ、ビルドが問題なくできたのを確認できただけで、新機能とかはまだ見ていません。
C#13も使えるはずなんで、コードがもっといい感じになるはずなんですよね。
いつもの流れなら、普通にプログラムを組んでいたら、コード解析が新機能を提案してくるという形で触れることになると思いますが。
コラムから転記。
ピッカーでファイルやフォルダーを開く - UWP applications | Microsoft Learn
Windows App SDK, WinUI3, Desktopでファイル選択ダイアログを表示する #C# - Qiita
ファイルダイアログを開く方法。
やっぱりWinUI3でもファイルの読み書きはしたいですからね。
エラーなく動かすためには気持ち悪いおまじない書かないといけないというのが残念なところ。
将来的に開発が進んで不要になったらいいけど、マイクロソフトのこれまでから考えると、普及しないまま開発が止まって立ち消えるというのもありうる…。