【途中成果:14ページデス異界】薬瓶系画描(アイテム画像制作中)+簡易MVスクリプト講座②

どもども、こんにちは、ヨ空です!こんにちは!
短編の「14ページデス異界」の制作内容です
こっちはアイテム画像を制作していました!
という内容です

それと話題の尺が余りそうなので
Javaスクリプトの初心者の方向けの解説講座など …という話題の記事です
制作者向けの記事内容という感じに多少はなってしまいますが…

うーむ、まー…、ヨ空の制作記事をご覧になっているという方は
制作者の方か、ヨ空に興味がある方という事で話を進めさせていただきます…!

前回に続いてアイテムの画像を描いてました

主人公が道中で拾った宝箱から出てくる枠
入手するという感じのアイテムなんですが
ポーションばかり瓶系のアイテムばかり描いていまして
某アイテムクリエイションと某悪魔城とか某フィリアさんボム…
が脳裏に浮かびましたが
基本は牛乳瓶とかジャム瓶…と思いながら
薬瓶を描いてました

ポーション系と魔法の毒消し、魔法の毒薬と金のリンゴ
(仮名)という感じです

ポーション/毒消し=ハート回復
毒薬=戦闘で役立つ
金のリンゴ=ハート大回復/一定時間強化
という感じです

世界観的に他の制作中のゲームと繋がっている
ラノベみたいな世界観なんですが、いろいろ流用できそうな…
(いちおう、今は短編制作集中ですが…)

主人公の立ち絵も描きたいぞー…!
(でも、必要最低限にした方が良いってGPTさんも言ってたな…)

別枠の記事でスクリプト講座を書く事にしようかと思っております

前回から雑なタイトル名で、ついでに始めさせてもらったのですが
Javaスクリプトを詳しく知らない方向け(特にツクールMVの方向け)
Javaスクリプトの簡易的な講座を書いたのですが…

閲覧数的に意外と需要があるようなので
本命の目的である、ゲーム制作が疎かにならない程度で
記事を書こうと考えております…

(自分もJavaが少しわかる程度で、GPTさん(ChatGPT)の協力の元で
そこそこプラグインが作れるっちゃ作れる程度です…)

その記事用にササっとデフォルメキャラな感じで
サムネイル画像を作っていたのですが
1280×720で…とCi-enさんが言っていたので

講座用サムネイル


という感じなのを描いたのですが
ハロルドくん(ツクールMVのデフォルトの勇者主人公)とヨ空+愛犬
という構図なんですが

後々気づいて、これ1280×720じゃあないよね…?
Ci-enの看板用のヘッダー?の画像サイズと間違えてるね…

(でも講座の記事内の頭画像的な看板画像として使える…かも…よ?)

GPTさん(ChatGPT)の案で
「ハロルドさんを左で指揮棒で先生、ヨ空さんは右で手を振って!」
「逆でもOKです!」

という指導の元に生まれたサムネイルで
「なるほど単純明快…、ずんだもんさんみたいなのだ、よろしくなのだ!」

と多少気に入りいってたのですが、残念ながら修正する事になりまして…
サムネを削って改造しまして

サムネイル改造後


とこんな感じで看板はハロルドさんにお願いしました
(まあ、ツクールMVだしね…)
(記事リストとか、おそらくXの方とかのサムネイル用ですが)
動画編集のバイトできそうな…?(やらないですけど)

申し訳ないのですが、以前の記事を削除させていただきました…

それで初心者用講座の記事を作るんですが
記事一覧のタグで「初心者用Javaスクリプト講座
という感じのを考えているんですが…
投稿していた記事のタグが散らかってる感じがしまして…

「雑な感じなのもな…」と思いまして
タグだけ編集して…という事はできないと思うので
以前の記事は仕方無く消去させていただきました

Ci-enさんの仕様が変更されたようで…?
記事を消した場合でも、いいね数が残るようで
大変ありがたいんですが…
自分からしか見えん数字、数字っちゃあ数字ですがー…

途中放棄とか途中棄権した制作中だったゲームと向き合う時…
技術力面で挫折したゲームと向きあっても良いのでは…?

と思いまして

今は短編制作ですが、いずれ…!
という意気込みで取り組んでいきたいと思います!
(ついでにCi-enの使い方をマスターするぞ!)

【初心者の方用Java:②】X座標とY座標と画面サイズ について 解説

前回の記事でコアスクリプトとクラス(スクリプト) の方を解説したと思います…!

■未読の方用に、一応前回の記事/リンク用のURLです(前回の記事)
【途中成果:14ページデス異界】宝箱塗った(アイテム画像制作中)+スクリプトMV(超簡易ハウツー)
この記事内でコアスクリプトとクラスについて解説しておりますが

今度、後日投稿予定の別枠の初心者の方用の講座の記事をご覧ください
と宣伝させていただきまして、以下本題へと移らせていただきます!

X座標、Y座標の話です

前回、コアスクリプトとクラスについてお話したと思います
仮でゲームのUI(見た目や配置)等を改変したいとします
その場合は主にウインドウ(rpg_windows)シーン(rpg_scenes)
元に改変するんですが

皆様はX座標Y座標XYをご存じでしょうか?

ゼルネアスやイベルタルでは無いです(ポケモンXY)
X抗体は関係無いです(デジモン)
メタルサーガのブラウザゲーをしていた人は、わかり味が深いと思います
位置情報で戦うSLGのゲームとかをしていた人も、わかり味が深いと思います
染色体とか記号では無く、横か縦の話でして

X座標とは左から右に進んでいく…左右(横)の位置の座標
Y座標とは上から下に進んでいく…上下(縦)の位置の座標
(X座標、Xが左右の座標、Y座標、Yが上下の座標って認識でOKです)

X座標が一番左の状態の場合、数字だと 0という感じの表記
徐々に右に進んでいくと+1…+2と増えていきまして

Y座標が一番上の状態の場合、数字だと0という感じの表記
徐々に下に進んでいくと+1…+2と増えていきまして

+(プラス)と-(マイナス)で足し算、引き算の話をしていますが
複雑な話では無く、3ケタとか4ケタを暗算しろ!という話では無いです!
※こんな感じの表記例です、具体的な表記例です

■表記例

X + 12	(Xに12を足した状態、右に12 位置を増やしてずらしている状態)
X + 120	(Xに120を足した状態、右に120 位置を増やしてずらしている状態)
X
X - 12	(Xから12を引いた状態、左に12 位置を減らしてずらしている状態)
X - 120	(Xから120を引いた状態、左に120 位置を減らしてずらしている状態)

Y + 12	(Yに12を足した状態、下に12 位置を増やしてずらしている状態)
Y + 120	(Yに120を足した状態、下に120 位置を増やしてずらしている状態)
Y
Y - 12	(Yから12を引いた状態、上に12 位置を減らしてずらしている状態)
Y - 120	(Yから120を引いた状態、上に120 位置を減らしてずらしている状態)

X+0という表記は 動くっちゃ動くんですが
その場合は何も数字を書かず、Xと表記しますね
Y+0の場合もYと表記しますね

半角スペース無しでX+12でも動くっちゃあ動くんですが
スクリプト上では半角スペースを開けて
X + 12と表記するらしいです

視認性(目で見て確認しやすさ)が良いので開けるようです

-(マイナス)はあくまでも表記例です
基本的にあまり使わず、ほとんどが調整用に
使うか?使わない?だったりします

ただ、マイナスの表記もあるという例です

と…ここまででX座標とY座標、XとYの事を理解していただけましたね

それでクラスを改変して、ゲームのUIを改変する話をしたいんですが
どこまで話をできるかな…

基本的にはウインドウ(rpg_windows) を改変するのですが
シーン(rpg_scenes)の方に実は座標が入力…
大体は、シーンの方に数値が書かれているんですけど…

Windowで表示する中身の内容を書く場合
Window側の方でXやYを設定して
Scene側の方には書かない…
という書き方のパターン
も存在します
(※メニューのコマンドウインドウ等)
これはデフォルトのMVのメニュー画面
rpg_windowsのコアスクリプトのコード
なんですが

Window_MenuCommand.prototype.initialize = function(x, y) {
    Window_Command.prototype.initialize.call(this, x, y);
    this.selectLast();
};

initialize(イニシャライズ) は初期化という意味合いらしく
rpg_windows でかなり使われてます
(ここがウィンドウの表示の核みたいな物という認識でOKです)

Window_Command.prototype.initialize.call(this, x, y); の表記で
thisは省略してこのウインドウという表記で…
x, yという表記 にお気づきになられましたか? 
割愛しますが、先ほどの説明通りのX座標とY座標の表記で
xとyが0の表記で、この場合は一番右で一番上…
つまり右上にメニューコマンドのウインドウが来る ように書かれてます


this.selectLast();
最後に選択した列のコマンドにカーソルを合わせるコードです
(this.selectLast();は今回は重要ではないので、話のついで程度と思ってください)

このメニューコマンドのウインドウ、さらにウインドウのサイズも
ウインドウ(rpg_windows) 側で設定されてまして
(※ちなみにWindowのコアスクリプトで
MenuCommand(メニューコマンド)のクラスです)
Width(ワイズ)(ワイスやワイドと呼ぶ人も)
Widthはウインドウの広さ、横幅のサイズを表すコードです

横幅もあれば縦幅もありまして
Height(ハイト) です!一応、ヘイト(Hate:嫌悪)ではないです
Heightはウインドウの高さ、縦幅のサイズを表すコードです

Window_MenuCommand.prototype.windowWidth = function() {
	return 240;
};

これはWindowWidthで書かれてますが
横幅のサイズが240 という事です

Window_MenuCommand.prototype.numVisibleRows = function() {
	return this.maxItems();
};

MenuCommandにはHeight、WindowHeightが書かれておらず
このnumVisibleRows と書かれていますが
(ナムビジブルロウズ)と読みますが
num(ナム、ヌムとも) はnumber(ナンバー)の略で
 プログラム界で多々使われている略語の様な物と思ってもらってOKです
Visible(ビジブル) は見えているという意味合いです
 透明とか見えない意味で使われるInvisible(インビジブル)を知ってると
 多分わかりみが深いと思います
Rows(ロウズ、ロウスとも) は縦列の意味合いで
 プログラム界で使われている用語みたいな認識でOKです

とどのつまり、numVisibleRows は見えている縦列の数…という意味でして
メニューコマンドのコマンドの数…を使うという感じで書かれています
this.maxItems(); はアイテムの最大数…
コマンドの最大数…を使うよ!という意味で
max(マックス) は最大、Item(アイテム)
アイテムだと知っていると理解しやすいと思います

Height を設定してないのに、どうやって
縦幅のウインドウサイズを設定してるの?
と気になる方もいると思います!
実はこれ、MenuCommandはCommand(コマンド)のウインドウの設定を
引用してイニシャライズで作られているんですよ

コマンドがベース(元)みたいな使い方という感じです

Window_Command.prototype.windowHeight = function() {
	return this.fittingHeight(this.numVisibleRows());
};

コマンド(Command)側のWindowHeight なんですが
this.fittingHeight(this.numVisibleRows()); と書かれてますね
this.numVisibleRows() は先ほどの物と同じと考えてください

fitting はフィッティング(調整する)という意味合いなんですが
調整というよりは、ピッタリ合う!ピッタリ合わせる!
という意味合いで使われてる気がしますこれ

たぶんフィット(fit)の(サイズが合う、適合する)意味合いの方が近いかも
コマンド側 は、見えている縦列の数にピッタリ合わせる
メニューコマンド側 は、コマンドの全部の数 を指定
メニューコマンド側のWindowHeightは
コマンドの全部の数にピッタリ合わせた縦幅…という高さの縦幅サイズに
なりますよ…!という話でした

これでメニューコマンドのウインドウの座標(X,Y)
主なウインドウの画面サイズ(Width、Height) は教えられたと思います


デフォルトのメニュー画面のウインドウ
デフォのRPG用ですと
・メニューコマンド(アイテムやスキル、装備などのコマンドウインドウ)
・メニューステータス(主人公や仲間の簡易的な能力、HPやMPのウインドウ)
・ゴールドウインドウ(所持金などのウインドウ)

となっております

それでウインドウの具体的な改変方法 なんですが…
突然ですが、次回にウインドウの具体的な改変方法などを引っ張って行きたいです!
長文で書いても良いんですが
長文だと巻物状になるので、熱量の高い方は
ステップアップや理解も早いと思うんですが
ヨ空の労力も中々なので…、話のネタ的に次回にさせていただくと助かります…!

次回、具体的なメニュー画面の改変方法
スクリプト、プラグイン作成の簡単なコツ等 をついでに書こうと思います!

記事を閲覧していただき、ありがとうございました!

記事を閲覧していただき、ありがとうございました!
Javaスクリプトの興味がある方は、話のついで程度に次回更新をお待ちください
もうすでに始めてる方は、そのままファイトです!

オチは無いです!(オチが思いつきません)

敬遠していたRPG、SRPGの制作意欲が湧き上がっているんですが
今は14ページデス異界を完成させねばなるまい…と考えておりまして

話題がクリエイターの方向けに偏ってまして
ユーザー様向けの明るく楽しい話題が思いつきません…が

クリエイターとかはこうやって作ってるんだな…
的な感じで活動してる雰囲気をお楽しみください
画像制作をなるべく早く進めてゲーム制作を進めたいです!

それでは、良い制作ライフを!良い制作ライフをー!
ユーザー様の方は吉報をお待ちください!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら