2021
こんにちは。
しぇらです。
さて、今回は本題の通り、違和感を持った話について。
前回同様、地道に新しい短編を作っているのですが、なーんかメッセージウィンドウが変だな…と。

左右の隙間に違和感。
右の隙間が大きいんですよね。
なんでなん…。
仕方がないので、コモンの「[63]メッセージウィンドウ」を見てみます。
メッセージウィンドウの大きさは、28, 29 行目に書いてありまして、座標倍率はその上、23, 24行目に書いています。
○ウィンドウサイズ
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
■変数操作:CSelf39[サイズY]=7*CSelf89[座標倍率Y(x10)]
○座標倍率
■DB読込(可変):CSelf88[座標倍率X(x10)]=可変DB[基本システム用変数:97:0](18:座標倍率X[x10]:数値)
■DB読込(可変):CSelf89[座標倍率Y(x10)]=可変DB[基本システム用変数:98:0](18:座標倍率X[x10]:数値)
で、この座標倍率の計算ってどうなってるの?というのは、これまた別のコモン「[48]基本システム自動初期化」の31, 32行目に書いてあります。
■変数操作:CSelf25[一次変数A]=Sys116:[読]画面サイズX/32
■変数操作:CSelf26[一次変数B]=Sys117:[読]画面サイズY/24
こんな感じで書いてあります。
この「画面サイズ/32」がメッセージウィンドウの横サイズに影響しているのだということが分かりました。(あとで可変DBに書き込みをしていることから、計算結果が座標倍率に代入されていることが分かります。)
で、今回のウィンドウサイズは848×480です。
16:9のウディタにいつの間にか搭載されていた新しいサイズです。
848/32=26.5
…あぁ、これ小数点以下切り捨てられてんな、ということがここでわかります。(なんでなん?)
というのも、ウディタでゲーム確認をするときF7キーを押すと、今どんなピクチャがどのサイズで、どの位置に表示されているのか、というのが見ることができます。
このとき、メッセージウィンドウサイズ:X=780 になっています。
[63]メッセージウィンドウより
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
→30*26=780
一致しますね。
なので、小数点以下切り捨てということが分かりました。
おそらくこれが影響してなーーんか微妙な感じのメッセージウィンドウ位置になったのでしょう。
ゲーム画面がX=848 なので、
848/2=424
なので、中心座標X=424 に調整してみます。
現在のメッセージウィンドウの中心座標はX=416 となっているので、ここに移動させたいですね。
まぁ、頭が悪そうなやり方ですが、基本システム自動化をいじっても結局整数となること、メッセージウィンドウのサイズは気に入っていることから、メッセージウィンドウコモンで座標をずらせばええやん、となりました。
[63]メッセージウィンドウの30~34行目を見ると、
■変数操作:CSelf30[基本表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf31[基本表示位置Y]=20*CSelf89[座標倍率Y(x10)]
■変数操作:CSelf32[隠し表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf33[隠し表示位置Y]=28*CSelf89[座標倍率Y(x10)]
と書いてあって、ここで座標を指定しています。
(16*26=416, 16*20=320 となるので、上の画像の座標と一致していますね。)
セルフ変数の意味は簡単に言うと、基本座標は、表示しているときの座標、隠し座標は出現移動・消去移動するときの座標です。
じゃあこの基本表示位置と隠し表示位置を調整すればいいな、と考えました。
加算すればいいか、となって、X座標に+8 します。
なので、こうなります。
■変数操作:CSelf30[基本表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf30[基本表示位置X]+=8
■変数操作:CSelf31[基本表示位置Y]=20*CSelf89[座標倍率Y(x10)]
■変数操作:CSelf32[隠し表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf32[隠し表示位置X]+=8
■変数操作:CSelf33[隠し表示位置Y]=28*CSelf89[座標倍率Y(x10)]
これで中心座標X=424 になるはず。
お!ちゃんと中心座標X=424 になってる!
ということでうまくいった!解決~!
解決しなかったら自分でメッセージウィンドウ作っていちいち表示させているところでした。
それでもいいんだけどね。
ちょっと頭の悪い解決方法だけど、今思いつくのはこれくらいなので、これで行きましょう。
もし、メッセージ位置そのものに違和感があったら、コモン「[63]メッセージウィンドウ」の44, 45 行目を触るとメッセージ位置のX, Y座標をずらすことができます。
それじゃあこの辺で~。
参考URL(コモン「メッセージウィンドウ」の詳しい流れが書いてあります):◆◆◆
しぇらです。
さて、今回は本題の通り、違和感を持った話について。
前回同様、地道に新しい短編を作っているのですが、なーんかメッセージウィンドウが変だな…と。
左右の隙間に違和感。
右の隙間が大きいんですよね。
なんでなん…。
仕方がないので、コモンの「[63]メッセージウィンドウ」を見てみます。
メッセージウィンドウの大きさは、28, 29 行目に書いてありまして、座標倍率はその上、23, 24行目に書いています。
○ウィンドウサイズ
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
■変数操作:CSelf39[サイズY]=7*CSelf89[座標倍率Y(x10)]
○座標倍率
■DB読込(可変):CSelf88[座標倍率X(x10)]=可変DB[基本システム用変数:97:0](18:座標倍率X[x10]:数値)
■DB読込(可変):CSelf89[座標倍率Y(x10)]=可変DB[基本システム用変数:98:0](18:座標倍率X[x10]:数値)
で、この座標倍率の計算ってどうなってるの?というのは、これまた別のコモン「[48]基本システム自動初期化」の31, 32行目に書いてあります。
■変数操作:CSelf25[一次変数A]=Sys116:[読]画面サイズX/32
■変数操作:CSelf26[一次変数B]=Sys117:[読]画面サイズY/24
こんな感じで書いてあります。
この「画面サイズ/32」がメッセージウィンドウの横サイズに影響しているのだということが分かりました。(あとで可変DBに書き込みをしていることから、計算結果が座標倍率に代入されていることが分かります。)
で、今回のウィンドウサイズは848×480です。
16:9のウディタにいつの間にか搭載されていた新しいサイズです。
848/32=26.5
…あぁ、これ小数点以下切り捨てられてんな、ということがここでわかります。(なんでなん?)
というのも、ウディタでゲーム確認をするときF7キーを押すと、今どんなピクチャがどのサイズで、どの位置に表示されているのか、というのが見ることができます。
このとき、メッセージウィンドウサイズ:X=780 になっています。
[63]メッセージウィンドウより
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
→30*26=780
一致しますね。
なので、小数点以下切り捨てということが分かりました。
おそらくこれが影響してなーーんか微妙な感じのメッセージウィンドウ位置になったのでしょう。
ゲーム画面がX=848 なので、
848/2=424
なので、中心座標X=424 に調整してみます。
現在のメッセージウィンドウの中心座標はX=416 となっているので、ここに移動させたいですね。
まぁ、頭が悪そうなやり方ですが、基本システム自動化をいじっても結局整数となること、メッセージウィンドウのサイズは気に入っていることから、メッセージウィンドウコモンで座標をずらせばええやん、となりました。
[63]メッセージウィンドウの30~34行目を見ると、
■変数操作:CSelf30[基本表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf31[基本表示位置Y]=20*CSelf89[座標倍率Y(x10)]
■変数操作:CSelf32[隠し表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf33[隠し表示位置Y]=28*CSelf89[座標倍率Y(x10)]
と書いてあって、ここで座標を指定しています。
(16*26=416, 16*20=320 となるので、上の画像の座標と一致していますね。)
セルフ変数の意味は簡単に言うと、基本座標は、表示しているときの座標、隠し座標は出現移動・消去移動するときの座標です。
じゃあこの基本表示位置と隠し表示位置を調整すればいいな、と考えました。
加算すればいいか、となって、X座標に+8 します。
なので、こうなります。
■変数操作:CSelf30[基本表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf30[基本表示位置X]+=8
■変数操作:CSelf31[基本表示位置Y]=20*CSelf89[座標倍率Y(x10)]
■変数操作:CSelf32[隠し表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf32[隠し表示位置X]+=8
■変数操作:CSelf33[隠し表示位置Y]=28*CSelf89[座標倍率Y(x10)]
これで中心座標X=424 になるはず。
お!ちゃんと中心座標X=424 になってる!
ということでうまくいった!解決~!
解決しなかったら自分でメッセージウィンドウ作っていちいち表示させているところでした。
それでもいいんだけどね。
ちょっと頭の悪い解決方法だけど、今思いつくのはこれくらいなので、これで行きましょう。
もし、メッセージ位置そのものに違和感があったら、コモン「[63]メッセージウィンドウ」の44, 45 行目を触るとメッセージ位置のX, Y座標をずらすことができます。
それじゃあこの辺で~。
参考URL(コモン「メッセージウィンドウ」の詳しい流れが書いてあります):◆◆◆
PR
2021
お久しぶりです。
しぇらです。
ウディタで短編を1年以内に作る!という目標をあげてからちまちま作成を続けていまして、多忙もありましてなんだかんだのんびり作っています。
で、最近になってようやくマップチップとキャラチップもできましたので、システムの方をいじりだしまして、
まぁ覚えてない!
悲しきかな。
で、今後もウディタとはお付き合いしていくと思うので、基本システムの変更箇所を記録する作業をしたりですね、しているわけです。
それで今回は前回に引き続きピクチャ選択肢のタイトル画面にしようと思い立ちまして、せっかくなので左右選択式にしようと思い立ったわけです。
まぁ、ここで引っかかってしまうわけです。
ウディタは左右選択ができません。
上下選択しかできません。
え、めんどい…とか思いましたが、自分の作りたいもののために妥協してては自分の納得するものはできませんからね、考えます。
ここで考え付いたのは、自作コモンを公開している方のプログラム講座を見てなんとか組めないかなと。
一応、プログラムをかじっている人ではあるので、どうやって考えれば動くのか、というのは考え付きます。
カーソルを動かすためにはループさせればいい、カーソルを動かすためには変数を+-していけばいい、端の判定がいる、方向キーによって条件を変更する…
うん、めんどくさい。
先生も言ってました、先人の誰かやってるからそれを真似して自分のものにすればいいと。
うん、そうしよう。
それでたどり着いたのがここです。
◆◆◆(別サイトに飛びます)
ありがたい。
ここでは、2選択のみですが、簡単に応用できます。
要するに何番目の選択肢なのか、動かす方向で+-はどう変わるのか、というのを考えるだけです。
+-は基本的なX座標を思い浮かべてください。
右に進むと+1,+2, ...と数が大きくなります。
なので、右方向に進むときは+でカウントしてきます。
左はその逆なので-1, -2, ...とカウントします。
端の判定は、戻るときは選択肢が何個あるのか、というのを考えて入れます。
だから、選択肢が2つの時は2、選択肢が3つのときは3、といった具合です。
で、作ったものがこちらです。
(作ってたときの本音が駄々洩れだ…)
ほとんど変えてはいませんが、タイトル画面というわけでタイトルの処理をしています。
で、これでどうなったかというと、
うん!思った通りになった!
思ってたことができると楽しいね。
もう少し変える予定ですが、これでほとんどタイトル画面は完成です。
ウディタの講座は色々探すと結構出てきますし、難しいこともたくさん書いていますが理解できるので、プログラムやっててよかったなとこの時ばかりは思います。
いざとなれば、有志が公開しているコモンを頼っていいいですからね、作ってくれる人に感謝。
というわけで、今回はこんなところで~。
しぇらです。
ウディタで短編を1年以内に作る!という目標をあげてからちまちま作成を続けていまして、多忙もありましてなんだかんだのんびり作っています。
で、最近になってようやくマップチップとキャラチップもできましたので、システムの方をいじりだしまして、
まぁ覚えてない!
悲しきかな。
で、今後もウディタとはお付き合いしていくと思うので、基本システムの変更箇所を記録する作業をしたりですね、しているわけです。
それで今回は前回に引き続きピクチャ選択肢のタイトル画面にしようと思い立ちまして、せっかくなので左右選択式にしようと思い立ったわけです。
まぁ、ここで引っかかってしまうわけです。
ウディタは左右選択ができません。
上下選択しかできません。
え、めんどい…とか思いましたが、自分の作りたいもののために妥協してては自分の納得するものはできませんからね、考えます。
ここで考え付いたのは、自作コモンを公開している方のプログラム講座を見てなんとか組めないかなと。
一応、プログラムをかじっている人ではあるので、どうやって考えれば動くのか、というのは考え付きます。
カーソルを動かすためにはループさせればいい、カーソルを動かすためには変数を+-していけばいい、端の判定がいる、方向キーによって条件を変更する…
うん、めんどくさい。
先生も言ってました、先人の誰かやってるからそれを真似して自分のものにすればいいと。
うん、そうしよう。
それでたどり着いたのがここです。
◆◆◆(別サイトに飛びます)
ありがたい。
ここでは、2選択のみですが、簡単に応用できます。
要するに何番目の選択肢なのか、動かす方向で+-はどう変わるのか、というのを考えるだけです。
+-は基本的なX座標を思い浮かべてください。
右に進むと+1,+2, ...と数が大きくなります。
なので、右方向に進むときは+でカウントしてきます。
左はその逆なので-1, -2, ...とカウントします。
端の判定は、戻るときは選択肢が何個あるのか、というのを考えて入れます。
だから、選択肢が2つの時は2、選択肢が3つのときは3、といった具合です。
で、作ったものがこちらです。
(作ってたときの本音が駄々洩れだ…)
ほとんど変えてはいませんが、タイトル画面というわけでタイトルの処理をしています。
で、これでどうなったかというと、
うん!思った通りになった!
思ってたことができると楽しいね。
もう少し変える予定ですが、これでほとんどタイトル画面は完成です。
ウディタの講座は色々探すと結構出てきますし、難しいこともたくさん書いていますが理解できるので、プログラムやっててよかったなとこの時ばかりは思います。
いざとなれば、有志が公開しているコモンを頼っていいいですからね、作ってくれる人に感謝。
というわけで、今回はこんなところで~。
プロフィール
HN:
しぇら
性別:
非公開
自己紹介:
一次創作同人サークル「はねうさぎのこや。」の管理人。
絵をかいたり、ゲーム作りや曲作りなんかを楽しんでいる。
絵をかいたり、ゲーム作りや曲作りなんかを楽しんでいる。
最新記事
(11/27)
(09/14)
(05/19)
(03/28)
(01/06)
P R