2025
こんにちは、しぇらです
最近はずっと動画制作とゲーム制作を反復横跳びしています
ゲーム制作については、ようやくデモ版の最後の方にあるイベントのシステムを思いつきましたので、ようやくウディタへの実装が始まったところです
まぁまだマップチップとチャラチップ以外の素材を全く作っていないので、公開はまだまだ先かと思われます
さて、今回は基本システムにあるコモンイベント[063:X[共]メッセージウィンドウ]を自分好みに改造してしまおう、という回です
基本的に僕自身のための備忘録となっています
正直、基本システムに頼らない作り方も考えたのですが、使えるもんは使った方がいいし、そこから好みに改造した方が楽だと思っているので…
使わないコモンイベントとか結構あるから、何とも言えん
戦闘とお金関連、ステータス系は今回本当に使わないし、使うとしても個人で実装すると思われ
では本題
メッセージウィンドウは「お手軽ウィンドウ」から縦横サイズを決めて生成されるものなのですが、これが昔から気に入らなかったんですよね
たとえば、ウィンドウ用に[3の倍数]*[3の倍数]のウィンドウを作って、実際にメッセージウィンドウを表示します
これが想定通りの絵柄にならないんですよね
システム的に縦横が3分割され引き伸ばされるので、四角以外は引き伸ばされてしまうのです
だから派手なウィンドウにしたい場合、絶対使えないんです
だからと言って、メッセージの表示をするたびにピクチャ表示をわざわざイベントごとに挿入する…のは面倒
ということをしたいために、メッセージウィンドウを改造するに至るのです
今回の改造は、基本システムにこちらのコモンを参考に改造しました
■使用バージョン:Ver.3.633
※Ver.3.0 以上なら問題ないと思います
ウィンドウの画像読み込みは
[25] ■ DB読込(ユーザ): Cself9[ウィンドウ画像サイズ]=ユーザDB[ "画像/音声設定":0:"ウィンドウ画像ファイル" ] ( 16:画像/音声基本設定: 2)
に設定されています
このウィンドウ画像ファイルはユーザDB[16:画像/音声設定[ 2:メッセージウィンドウベース画像]]に設定されています
これを任意の画像に変えればいいのですが、これだとまだ画像表示の際に引き伸ばされて表示されてしまいます
[92] ■ ピクチャ表示:CSelf20[基本ピクチャ番号] [中心]ウィンドウ(CSelf9[ウィンドウ画像ファイル]) サイズ [CSelf38[サイズX],CSelf39[サイズY]] X:CSelf30[基本表示位置X] Y:CSelf31[基本表示Y] / 5(3)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
ここにあるセルフ変数の値をそれぞれ変更していきます
[28], [29]
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
→変数操作:CSelf38[サイズX]=[素材のウィンドウサイズX]*1
■ 変数操作:CSelf39[サイズY]=7*CSelf89[座標倍率Y(x10)]
→変数操作:CSelf39[サイズY]=[素材のウィンドウサイズY]*1
CSelf88[座標倍率X(x10)], CSelf89[座標倍率Y(x10)] は可変DB [18:基本システム用変数]に登録されている数値です
なお、基本システムを使用している場合、コモンイベント[048:X[共]基本システム自動初期化]によって変数が決まります
[44]~[47]
■ 変数操作: CSelf25[一時変数A ] = Sys116:[読]画面サイズX / 32
■ 変数操作: CSelf26[一時変数B ] = Sys117:[読]画面サイズY / 24
■ DB書込(可変) : 可変DB[ "基本システム用変数" :97:0 ] ( 18:座標倍率X[x10]:数値) = CSelf25[一時変数 A]
■ DB書込(可変) : 可変DB[ "基本システム用変数" :98:0 ] ( 18:座標倍率Y[x10]:数値) = CSelf26[一時変数 B]
任意の画像を作った場合、サイズがばらばらだと思うので縦横のサイズ*1で定めてしまった方が簡単かもしれません
CSelf88[座標倍率X(x10)], CSelf89[座標倍率Y(x10)] を使用する場合は
左辺の値=素材の横サイズ or 縦サイズ / CSelf88[座標倍率X(x10)] or CSelf89[座標倍率Y(x10)]
でできるかと思いますが、ウディタは小数点切り捨てなので想定通りにならない可能性があります
メッセージウィンドウ画像表示は以上です
ついでに名前表示とかしちゃいましょう
名前、いちいち入力するのも手間なので、システムDB[24:顔グラフィック名]の2番以降に追加して表示できるようにします
これに関してはこちらのコモンを参考に、必要な箇所を追加していきます
なお、セルフ変数をいくつか追加する必要があります
それで出来上がったものがこちらになります



結果としてはこんな感じ▼
※カーソルはまだ作っていないのでデフォルトのやつですが、そのうちきちんと素材を作ります
こんな感じで「???」になっているところが名前表示になっています
しれっと表示位置変えていたり、下からメッセージウィンドウを出すのではなく、その場でフェードイン・アウトしながら表示・非表示されるように改造しています
あとは自動改行できるようになれば、いちいち改行する負担が減るのでそれもやってしまおう
作ったらまた更新します
それでは~
参考URL
"コモン[063:X[共]メッセージウィンドウ]の解説", YADOT-WOLF, 2024(Retrived on August 1, 2025)
http://yado.tk/wolf/05_kihon/0063_msg/
最近はずっと動画制作とゲーム制作を反復横跳びしています
ゲーム制作については、ようやくデモ版の最後の方にあるイベントのシステムを思いつきましたので、ようやくウディタへの実装が始まったところです
まぁまだマップチップとチャラチップ以外の素材を全く作っていないので、公開はまだまだ先かと思われます
さて、今回は基本システムにあるコモンイベント[063:X[共]メッセージウィンドウ]を自分好みに改造してしまおう、という回です
基本的に僕自身のための備忘録となっています
正直、基本システムに頼らない作り方も考えたのですが、使えるもんは使った方がいいし、そこから好みに改造した方が楽だと思っているので…
使わないコモンイベントとか結構あるから、何とも言えん
戦闘とお金関連、ステータス系は今回本当に使わないし、使うとしても個人で実装すると思われ
では本題
メッセージウィンドウは「お手軽ウィンドウ」から縦横サイズを決めて生成されるものなのですが、これが昔から気に入らなかったんですよね
たとえば、ウィンドウ用に[3の倍数]*[3の倍数]のウィンドウを作って、実際にメッセージウィンドウを表示します
これが想定通りの絵柄にならないんですよね
システム的に縦横が3分割され引き伸ばされるので、四角以外は引き伸ばされてしまうのです
だから派手なウィンドウにしたい場合、絶対使えないんです
だからと言って、メッセージの表示をするたびにピクチャ表示をわざわざイベントごとに挿入する…のは面倒
ということをしたいために、メッセージウィンドウを改造するに至るのです
今回の改造は、基本システムにこちらのコモンを参考に改造しました
■使用バージョン:Ver.3.633
※Ver.3.0 以上なら問題ないと思います
ウィンドウの画像読み込みは
[25] ■ DB読込(ユーザ): Cself9[ウィンドウ画像サイズ]=ユーザDB[ "画像/音声設定":0:"ウィンドウ画像ファイル" ] ( 16:画像/音声基本設定: 2)
に設定されています
このウィンドウ画像ファイルはユーザDB[16:画像/音声設定[ 2:メッセージウィンドウベース画像]]に設定されています
これを任意の画像に変えればいいのですが、これだとまだ画像表示の際に引き伸ばされて表示されてしまいます
[92] ■ ピクチャ表示:CSelf20[基本ピクチャ番号] [中心]ウィンドウ(CSelf9[ウィンドウ画像ファイル]) サイズ [CSelf38[サイズX],CSelf39[サイズY]] X:CSelf30[基本表示位置X] Y:CSelf31[基本表示Y] / 5(3)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
ここにあるセルフ変数の値をそれぞれ変更していきます
- CSelf20[基本ピクチャ番号]=メッセージウィンドウを表示するピクチャ番号
- CSelf9[ウィンドウ画像ファイル]=メッセージウィンドウの画像ファイル
- CSelf38[サイズX]=メッセージウィンドウの横サイズ
- CSelf39[サイズY]=メッセージウィンドウの縦サイズ
- CSelf30[基本表示位置X]=メッセージウィンドウの表示X座標
- CSelf31[基本表示Y]=メッセージウィンドウの表示Y座標
[28], [29]
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
→変数操作:CSelf38[サイズX]=[素材のウィンドウサイズX]*1
■ 変数操作:CSelf39[サイズY]=7*CSelf89[座標倍率Y(x10)]
→変数操作:CSelf39[サイズY]=[素材のウィンドウサイズY]*1
CSelf88[座標倍率X(x10)], CSelf89[座標倍率Y(x10)] は可変DB [18:基本システム用変数]に登録されている数値です
なお、基本システムを使用している場合、コモンイベント[048:X[共]基本システム自動初期化]によって変数が決まります
[44]~[47]
■ 変数操作: CSelf25[一時変数A ] = Sys116:[読]画面サイズX / 32
■ 変数操作: CSelf26[一時変数B ] = Sys117:[読]画面サイズY / 24
■ DB書込(可変) : 可変DB[ "基本システム用変数" :97:0 ] ( 18:座標倍率X[x10]:数値) = CSelf25[一時変数 A]
■ DB書込(可変) : 可変DB[ "基本システム用変数" :98:0 ] ( 18:座標倍率Y[x10]:数値) = CSelf26[一時変数 B]
任意の画像を作った場合、サイズがばらばらだと思うので縦横のサイズ*1で定めてしまった方が簡単かもしれません
CSelf88[座標倍率X(x10)], CSelf89[座標倍率Y(x10)] を使用する場合は
左辺の値=素材の横サイズ or 縦サイズ / CSelf88[座標倍率X(x10)] or CSelf89[座標倍率Y(x10)]
でできるかと思いますが、ウディタは小数点切り捨てなので想定通りにならない可能性があります
メッセージウィンドウ画像表示は以上です
ついでに名前表示とかしちゃいましょう
名前、いちいち入力するのも手間なので、システムDB[24:顔グラフィック名]の2番以降に追加して表示できるようにします
これに関してはこちらのコモンを参考に、必要な箇所を追加していきます
なお、セルフ変数をいくつか追加する必要があります
- 名前を画像として表示する(文字列変数)
- 名前の表示座標[X, Y]
- 補正用の表示座標[X, Y]
- 隠し表示座標[X, Y]
- フォントサイズ
それで出来上がったものがこちらになります
結果としてはこんな感じ▼
※カーソルはまだ作っていないのでデフォルトのやつですが、そのうちきちんと素材を作ります
こんな感じで「???」になっているところが名前表示になっています
しれっと表示位置変えていたり、下からメッセージウィンドウを出すのではなく、その場でフェードイン・アウトしながら表示・非表示されるように改造しています
あとは自動改行できるようになれば、いちいち改行する負担が減るのでそれもやってしまおう
作ったらまた更新します
それでは~
参考URL
"コモン[063:X[共]メッセージウィンドウ]の解説", YADOT-WOLF, 2024(Retrived on August 1, 2025)
http://yado.tk/wolf/05_kihon/0063_msg/
PR
Post your Comment
プロフィール
HN:
しぇら
性別:
非公開
自己紹介:
一次創作同人サークル「はねうさぎのこや。」の管理人。
絵をかいたり、ゲーム作りや曲作りなんかを楽しんでいる。
絵をかいたり、ゲーム作りや曲作りなんかを楽しんでいる。
最新記事
(08/07)
(07/21)
(11/27)
(09/14)
(05/19)
P R