ハイハイスクールアドベンチャー_.net_maui版
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| ハイハイスクールアドベンチャー_.net_maui版 [2025/10/28 06:30] – [Windows版の発行は自己内包型で] araki | ハイハイスクールアドベンチャー_.net_maui版 [2025/11/04 00:33] (現在) – [リソースファイル] araki | ||
|---|---|---|---|
| 行 36: | 行 36: | ||
| MacOSやiOSではどうなるのか興味はありますが、テストする環境もないので特には確かめていません。 | MacOSやiOSではどうなるのか興味はありますが、テストする環境もないので特には確かめていません。 | ||
| + | |||
| + | ==== 選択ダイアログ ==== | ||
| + | |||
| + | ハイハイスクールアドベンチャーでは選択肢が必要な場合、オリジナル版ではコマンドラインから入力させていましたが、Palm版を作ったときからダイアログで選択する方式に改変しています。 | ||
| + | |||
| + | なので、選択ダイアログは必須なのですが、システムがいい塩梅のを提供してくれてなければ自分でダイアログを作っています。 | ||
| + | |||
| + | .NET MAUIにはDisplayActionSheet()という選択肢から選ぶダイアログが用意されているのでこれを丸っと使うだけで済みました。 | ||
| + | |||
| + | <code csharp> | ||
| + | string gender = await DisplayActionSheet(" | ||
| + | </ | ||
| + | |||
| + | のようにすれば、下のようなダイアログが表示されて、genderには選ばれた方の選択肢の文字列がそのまま返ってきます。 | ||
| + | ダイアログは当然非同期なので、適宜awaitします。 | ||
| + | |||
| + | {{:: | ||
| + | |||
| + | |||
| + | ==== マルチプラットフォーム対応 ==== | ||
| + | |||
| + | .NET MAUIは、Windows/ | ||
| + | なので単一のソースから複数のプラットフォームに対応したパッケージを得ることができます。 | ||
| + | もちろん、完全にすべてが同一というわけではなく、一部は、その機種のための設定やコードなどを書く必要がありますが、最小限度です。 | ||
| + | |||
| + | フレームワークとしてマルチプラットフォームをカバーするように作られいてるので、基本的に、ほとんどの処理の機種依存を隠ぺいしてくれています。 | ||
| + | |||
| + | このあたりは AvaloniaUIのマルチプラットフォーム対応とは大きく違っている部分だと思います。 | ||
| + | AvaloniaUIも Windows/ | ||
| + | |||
| + | なので、ちょっと、ファイル操作を統一的にやろうとしたら、それはUIではないので、自分でインターフェイス書いて、クラスを機種ごとに実装して、それをDI注入しろとかいう話になって案外面倒くさいです。 | ||
| + | |||
| + | .NET MAUIはこのあたりも基本的にきれいに隠ぺいしているので、リソースファイルがプラットフォームによってはSeekできないなどの制約があったとしても、比較的楽にマルチプラットフォーム対応ができるようになっています。 | ||
| + | これは秀逸でした。 | ||
| + | |||
| 行 278: | 行 313: | ||
| 全部メモリ展開するっていうのもありかな、とちょっと思ったんですが、このゲームの基本的な構造は 500KB程度の M5 Stackや Raspberru Pi Picoなどでも動くように、けちけち使う分だけを展開するスタイル。 | 全部メモリ展開するっていうのもありかな、とちょっと思ったんですが、このゲームの基本的な構造は 500KB程度の M5 Stackや Raspberru Pi Picoなどでも動くように、けちけち使う分だけを展開するスタイル。 | ||
| - | Android版は当初、全部メモリに展開してたんですが、ソースを整理するときに全面的にけちけち戦略に書き直した経緯もあって、今更全部展開っていうのもな、と思い、ファイルをユーザデータ領域にコピーして使う方針に。 | + | [[ハイハイスクールアドベンチャー |
| <code csharp> | <code csharp> | ||
ハイハイスクールアドベンチャー_.net_maui版.1761633020.txt.gz · 最終更新: by araki
