satofumi 2021/06/02 20:00

Bonsai Castles 完成までがんばる!(その32)

ちょっと大きめの不具合が見つかったので、それについての記録を残しておきます。
具体的には、CSV や浮動小数点の国による扱いに起因する不具合です。

やらかしたこと

何が問題だったか、ですが「Windows OS の言語設定によっては、CSV の区切り文字、および小数の点の文字が異なる」というのが理由でした。

https://ja.abadgar-q.com/wiki/Decimal_separator
https://ja.wikipedia.org/wiki/Comma-Separated_Values

ゲームシナリオの画面のフェードアウト秒数を 0.5 とか記述してたんですが、それが記述された行を読み込んで float.Parse() で処理すると例外が発生していました。
あとは、少数データを CSV で保存するときに、少数の点の文字がカンマな国だと
1.2, 3.4 みたいな保存をしたいときに 1,2, 3,4 になってました。良くないですね。

こういう処理をする場合には、ちゃんと CultureInfo を指定すべきでした。
floatValue.ToString("R", CultureInfo.InvariantCulture.NumberFormat)
float.Parse(floatText, CultureInfo.InvariantCulture.NumberFormat);

不安だったら Windows OS にフランス語の言語データをインストールして動作確認すればオッケーです。

今後の予定

ナンプレをベースにしたゲーム開発を(ほぼ)中断する決心がついたので、購入済みのアセットを試したり、次に何を作るかを考えたりします。

やることの候補
・日本のお城が出てくるゲーム案を考える。私はやっぱりお城が好きみたいなので。
・購入済みのアセットで興味があるものを使ってみる。使わないと理解が進まない。
・過去に作ったゲームのプレイ動画を作って配布する。

とかでしょうか。がんばります。

次回の更新: 金曜日の20時

月別アーカイブ

限定特典から探す

記事を検索