竹林ソフト 2023/06/02 20:00

NPC をコーディングして領地経営するゲーム開発(In-Game エディタの修正)

In-Game エディタの修正

本当は VS Code を利用してほしいのですが、それがなくてもコードを編集できるように In-Game Text Editor アセットを購入してゲームに取り込んでいます。
ただ、日本語文字の表示はできるけど編集が適切に扱えなかったりするので修正する必要があります。

まず、In-Game エディタで使うフォントをプログラミング用フォント Myricaに変更しました。今まで使っていたフォントでは、半角文字と全角文字の横幅の比が 1:2 でなかったためです。

売り物のアセットなのでオリジナルコードの公開は控えますが、下記の判定と処理を Line.cs:1114 あたりに追加しました。これで、カーソル位置が適切になり、文字の削除なんかも適切に行えるようになりました。

var encodedBytes = Encoding.GetEncoding("Shift-JIS").GetByteCount(text.Substring(i, 1));
if (encodedBytes == 2) {
    // 半角文字1文字ぶんの幅を追加する。
}

↓この記事にあったシフト JIS に変換するとマルチバイト文字のバイト数が 2 byte になる、という仕組みを使っています。
https://www.itlab51.com/?p=1446

よいです。
ただ、実行時にエラーになったので、以下の記事に従って dll を追加しました。
https://zenn.dev/ruccho/articles/a2996516338c01

よいです。

ここまでで体験版までの最低限の実装は終わったことにします。
ただ、IME を有効にしても IME の変換途中の日本語文字列が表示されないという問題に気づきました。これについては後で調べてみて無理そうならあきらめます。

まとめと今後の予定

In-Game エディタの修正という重めの対応が終わったので大変よいです。
まだまだ体験版までのタスクがいくつか残っているので引き続き実装していきます。がんばります。

月別アーカイブ

限定特典から探す

記事を検索