投稿記事

2024年 08月の記事 (4)

【超初心者向け_Javaスクリプト講座】ツクールMV/Part②X座標Y座標&画面サイズ編


こんにちは、ヨ空です!こんにちは!
普段はゲーム制作をしております!

制作記事のついでの話でJavaスクリプトの話をしていたのですが
意外と?需要がある…ご様子なので別枠で記事にしました
(本命の制作作業が疎かにならない程度に更新させていただきます…!)

※本記事はヨ空がツクールMVの制作などで得たJava(Javaスクリプト)
Javaを Javaスクリプト未経験でもわかりやすく解説する…という内容の記事です

(慣れている方や中級者/上級者の方には物足りない内容かと思います)

こんな方向けです(Part②)

当方もスクリプトを追求中ですが
前回に続きまして、Part②は、こんな方向けです
・「ウインドウの位置とか表示する場所って、どうやって変えるの?」
・「ウインドウのサイズって変えれるの?」
・「自分流のかっこいいゲーム画面/もしくはシステム実装したいぜ!」(後々)

(X座標やY座標、画面サイズ関連についての話になります…!)
おそらく、同じJavaなのでツクールMZにも応用可能?かもしれません…

URLリンク用

【超初心者向け_Javaスクリプト講座】
Part③→URLは後日更新…予定
(プラグインの作り方、プラグイン作成のコツ等を解説予定)

Part①(前回) (javaスクリプト初見、プラグイン初見の方向けの解説)
【超初心者向け_Javaスクリプト講座】ツクールMV/Part①コアスクリプト&クラス編

(本命の制作作業が疎かにならない程度に更新させていただきます…!)

まずX座標Y座標について

前回、コアスクリプトクラス についてお話したと思います

例えばの話ですが、例えば
ゲームのUI(見た目や配置)等を改変したいとします

その場合は主にウインドウ(rpg_windows)シーン(rpg_scenes)
元に改変するんですが

皆様はX座標Y座標XY をご存じでしょうか?
座標(ざひょう:読み) なんですが、X座標、Y座標…XY

どこぞのバージョン違いとか、どこぞの特殊進化とかは関係無いです…
染色体系の話では無いんですが…
とどのつまり、座標(位置とか場所縦横)の話なんですが

位置情報で戦うSLGのゲームとかをしていた人は、わかりやすいかと思います
3D系のモデリングツール とかを触ってた人も、わかり味が深いと思います

縦横の話 になるんですが、横→縦 の順に話させていただきまして

X座標横の座標
Y座標縦の座標
という感じでして、色は特に関係無いんですが
(XとYは別物で横と縦…!という認識でOKです)
こんなイメージです


赤い横線の部分がX緑の縦線の部分がY
という感じで覚えると覚えやすいと思います


(※上記は同じ画像の物の説明だと思ってください)
一番左上の箇所が0 になりまして
例だとX+0やY+0と書いていますが
0の座標だとプラスの表記は基本的に書かないです
(あくまでもイメージみたいな物と思ってください)
横の座標、X左から右に進んで行くと+1ずつ増える
縦の座標、Y上から下に進んで行くと+1ずつ増える
と覚えてもらうとわかりやすいと思います

具体的な例なんですが
後々、画面サイズについて説明しますが

ゲーム画面には元々のサイズ があるじゃないですか
さっきのコレをイメージしてください


MVだとデフォルト(初期サイズ)
横 816縦 624 なんですが
横のX座標を例にしますと

こんな感じで右奥が816だと思ってもらってOKです
一番下の最小が0で、最大が816
816までは足したり、加算していく上手く画面に収まるよ…!という感じです
(816以上だと、画面外に飛び出して、画面に写らないか途切れた状態になります…!)
続いて、縦のY座標を例にしますと

こんな感じで一番下が624だと思ってもらってOKです
一番下の最小が0で、最大が624
624までは足したり、加算していく上手く画面に収まるよ…!という感じです
(624以上だと、画面外に飛び出して、画面に写らないか途切れた状態になります…!)
ここまでで、ざっくりとX座標とY座標について解説しました
次は画面サイズについて解説します

画面サイズについて

画面サイズについて説明したいと思います
据え置き機、家庭機やPC等テレビ画面やモニター画面 に表示される
画面の最大のサイズ なんですが
(カメラ用語で画角(がかく) とも言うらしいです)
このテレビ画面やモニター画面のゲーム画面の最大サイズ…
正式名称はCanvas(キャンバス)サイズ
キャンバスサイズ という名称らしいです
(ゲーム画面側の方のサイズ でも伝われば良いんじゃないんでしょうかね…)
キャンバスって油絵の絵画とかの紙の代わりの布なんですけど
ストレッチャー(絵画用の四角いの枠とか下敷きの板)とか
イーゼルスタンド(絵画用の固定台)をキャンバスって思ってる人も多そうな…

話戻って、画面の最大サイズもそうなんですが
プラグインを作る上でも覚えておいて欲しいんですが
ゲーム側のウインドウコマンドウインドウステータスウインドウ


※デフォルトの初期状態のツクールMVのメニュー画面の画像です
このゲーム側のウインドウ…、正式名称は無いらしく
クラスウインドウとかスクリプトウインドウとも言う言わない等で安定しないので
特に特殊な名称を指定せず、名指しの時はゲーム側のウインドウ と呼称します

このゲーム側のウインドウ
コマンドウインドウステータスウインドウの横幅のサイズと縦幅のサイズ
(※コマンドウインドウとステータスウインドウの見本イメージです)


この画像でWidthHeightという文字を確認できましたでしょうか?
早い話で解説しますが
(例のごとく、の文字色で説明させていただきます)
Width(ワイズ)(ワイスやワイドと呼ぶ人も)
Widthはウインドウの広さ、横幅のサイズを表すコードです

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

画面サイズのコードなど

※例のコードですが

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

メニューコマンドウインドウの横幅サイズが240…になる! という内容なんですけど
コアスクリプト(rpg_windows) のコードなんですが
メニューコマンドのWidth、横幅は上記のコードでサイズが240 になっているのに
縦幅…、Heightの方は見当たらない…(はずです)
ウインドウである以上、Heightも必ず設定する必要があるんですが
どうやって決めているの…?と言いますと

実はこれ、MenuCommandのクラスで作ってはおらず…
ベースのCommandの方のクラスを流用してHeightを作ってるんですよ

MenuCommand側では

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

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

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

これの、引用しているCommand側のコードなんですが

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

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

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

たぶんフィット(fit)の(サイズが合う、適合する)意味合いの方が近いかも

これはメニューコマンド側のコードなんですが

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

rpg_windows(コアスクリプト)の先ほどのMenuCommandのコードです
rpg_windowsのクラスのコードはこのinitialize のコードから書かれてまして…
initialize(イニシャライズ) は初期化という意味合いらしく
rpg_windows でかなり使われてます
(ここがウィンドウの表示の核みたいな物という認識でOKです)

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

上記のこれ、Commandイニシャライズの設定をcall(コール)して
呼び出す形で引用しているんですよ…
 
改変、改造しようとしているウインドウが、どのウインドウをベースにしているか…?
とかもプラグイン制作で役立つ場合が多々ありますので知っておくと便利です

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

このinitializeを使ってMenuCommandはCommandを引用していて
コマンド側 は、見えている縦列の数にピッタリ合わせる
メニューコマンド側 は、コマンドの全部の数 を指定
メニューコマンド側のWindowHeightは
コマンドの全部の数にピッタリ合わせた縦幅…という高さの縦幅サイズに
なりますよ…!という話でした

メニュー画面用の簡易プラグイン

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

ついでにメニュー画面を改造できるプラグインです

MenuWindowXY.js (3.88kB)

ダウンロード

使い方/使用方法は
【途中成果:14ページデス異界】アイテム画像制作中+簡易MVスクリプト講座③
の下の方にあります、この記事内で投稿した物と同じプラグインです
権利とかライセンスとかはヨ空からは特に無いです
改変改造OKです
ツクールMVのコアスクリプトを参照しているので
ツクール公式様の規約に従って使ってください
(と言いましたが、ツクール以外では使えないと思います…)

内容はこんな感じで

このプラグインはメニュー画面の 
メニューコマンド
メニューステータス
所持金ウインドウ
X座標、Y座標 とウインドウの横サイズと縦サイズ
変更する事ができます!
※使用例



逆向きなど、コマンドと所持金を逆など、改造できます
20行目~44行目辺り変数欄の数値をいじるとUI改造できます
//以下の数値やコードを変更してください
//メニューコマンド
var menuCommandX = (BoxWidth - 240);
var menuCommandY = 0;
var menuCommandWidth = 240; // デフォルト幅
var menuCommandHeight = Window_Base.prototype.fittingHeight(8);
//Window_Base.prototype.fittingHeight(行数);//

//メニューステータス
var menuStatusX = 0;
var menuStatusY = 0;
var menuStatusWidth = (BoxWidth - menuCommandWidth); 
var menuStatusHeight = BoxHeight; // デフォルト高さ(全体分の高さ)
// 初期位置の場合は、menuStatusX に menuCommandWidth を使ってください
// var menuStatusX = menuCommandWidth;

//メニューゴールド/所持金
var goldWindowX = (BoxWidth - menuCommandWidth);
var goldWindowY = (BoxHeight - 72);
var goldWindowWidth = 240; // デフォルト幅
var goldWindowHeight = 72; // デフォルト高さ
//コマンドウインドウのすぐ下の場合 goldWindowY を
// var goldWindowY = menuCommandHeight;
//初期位置の場合は goldWindowX を
// var goldWindowX = 0;
すでに他所様のプラグインを使用されている方ならわかると思うんですが…

すでに他所様のプラグインを使用されている方ならわかると思うんですが…
このヨ空が作ったプラグインより
バストアップ系の全身立ち絵を使いたい場合等では
別途改造が必須になってきます、正直AltMenuScreen系のプラグインを
使った方が良いかもしれません…

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

お疲れさまでした!
長々と語らせていただきましたが 
X座標Y座標 に…、WidthHeight などの画面サイズがある…
これらの座標やサイズを使う感じのコードがある…
という事を知っていただけたでしょうか?

コードの解説は、大まかに説明させていただきまして
以上となります(他のプラグイン等は後々…)

X座標Y座標 に…、WidthHeightについて理解を深まりましたか…?
プラグインも大体わかっていただけたでしょうか?
Javaへの理解が深まった…、わかりみが深まると
ヨ空も記事を書いた甲斐があります!

(ツクール等のjavaでお困りの方のお役に立てば幸いです!
自分もゲーム制作をがんばろうと思います)

次回はプラグインの作り方プラグイン作成のコツ等について、当講座の続きを投稿しようと思います

もうjavaを始められている方はそのままファイトです!
それ以外の方、次回をご希望の方は次回更新をお待ちください…!
それでは、良い制作ライフをー!

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

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

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

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

記事の内容の尺余りを考えまして…
Javaスクリプトの初心者の方向けの解説講座を書いていたのですが
意外と閲覧数的に需要がある…? ようなので記事を書いておりましたが
次回からは別枠で、別枠の講座記事で書く事にします!
主な理由は、タイトル名の文字が50文字まで?なのと…
内容が長文化するからですね…
サクッと制作報告を載せたい目的がありまして
様子を見て別枠に切り替えさせて貰うつもりでした…ので
次回のスクリプト系の話題などの解説講座は別枠にさせていただきます
との事でよろしくお願いしますね!

今回の後半、制作者向けの記事内容という感じに
多少はなってしまいますが…
多分リスト表示があるのでご活用ください

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


こんな感じのアイテム画像を描いておりました
イメージとしてはこんな感じです
・①コモンジェム
小石程の純度の低い宝石、商人に手頃なアイテムと交換して貰えるかもしれない
・②レアクリスタル
珍しい水晶の宝石、商人に希少なアイテムと交換して貰えるかもしれない
・③ミスティックコイン
謎に包まれた謎の金貨、欲しがっている人がいるかもしれない
・④アーマーシャード
敵の防御力を下げる効果を持つ、呪いの力を持つお守り
・⑤カースドタリスマン
敵の攻撃力を下げる効果を持つ、呪いの力を持つお守り

換金アイテム枠のイメージで少々悩みまして
宝石(小)→宝石(中)→幻の金貨
というイメージ計算なんですが

レアリティコモン(普通)→スーパーレア(銀色)→ウルトラレア(金色)
というイメージを思い浮かべまして…
スーパーレア虹っぽい銀色プリズム加工七色るぞ
というイメージが概念化の様に焼き付いていまして…

虹色の武器は周回プレイで強いぞ!とか
推しのヒロインのカードはどっちだ!論争とか
タケトンボーグさんとが浮んできたので割愛…!

後はアイテム枠は、無敵枠、スキップ移動枠、復活枠の
アイテムの画像を作ればアイテムは完成…!

の予定なのでがんばるぞー…!

別枠で講座記事を書く事にします

前回の記事でも似たような事を申しましたが
スクリプト系の話題や、初心者用のスクリプト講座!
これを知ってれば大体Javaのプラグイン作れるぞ!という感じの内容は
別枠で書いていきますので、よろしくお願いします!

以下、次回の講座記事のサムネ画像
看板枠


1280×720(サムネ枠)

前回のツクールMVのハロルドくんに続いて
デフォルト戦士のテレーゼさんです
テレーゼって顔画像や歩行グラが8番目なのに
(フェイス画像や歩行グラフィックのキャラクター画像)
2人目の仲間…?というのは…どういう事?
言及されてない裏設定? (に興味があるなー…)
おそらく考案者の方に女騎士枠のファンがいるんやな…
というヨ空の勝手なイメージ…(VX世代)

ハロルドを使い続けるか迷ったんですが
テレーゼさんにしましたが…
ツクールMVの公式キャラ達って
ハロルドくん以外は立ち絵無い…?
ようで

公式では多分あるんじゃないの~? という思考の元
見つけられず確認できなかったのでSVアクターの画像等で
半ば二次創作状態で描きました…!

具体的なメニュー画面の改変方法やプラグイン作成の簡単なコツ

前回の記事でX座標やY座標など、画面サイズ の解説したと思います…!
■未読の方用に、一応前回の記事/リンク用のURLです(前回の記事)
【途中成果:14ページデス異界】薬瓶系画描(アイテム画像制作中)+簡易MVスクリプト講座②

この記事内の後半の方でX座標やY座標、画面サイズなどについて解説しておりますが

今度、後日投稿予定の別枠の初心者の方用の講座②の記事でも
解説予定ですので、よろしければ、そちらの記事をご覧ください
と宣伝させていただきまして、以下本題へと移らせていただきます!

具体的なメニュー画面の改変方法

具体的なメニュー画面の改変方法です

習うより慣れろ! という名言がありますが
ヨ空にまともにプラグインを教えてくれたのはGPTさんなんですが
ヨ空も追求中ですが、GPTさん監修の元に
変数の項目のみで改変可能なプラグインを作ったので
配布という形で置いておきますね

MenuWindowXY.js (3.88kB)

ダウンロード

改変/確認はテキストエディタ等をお使いください!
テキストエディタだとスムーズに閲覧できるかと…
phoenixcode(フェニックスコード)なんかが結構おすすめです!
内容はこんな感じです


このプラグインを組み込むと

これが(通常:デフォルト設定)


こんな感じのメニューUIに改変…改造できます

このプラグインはメニュー画面の
メニューコマンド
メニューステータス
所持金ウインドウ

X座標、Y座標ウインドウの横サイズと縦サイズ
変更する事ができます!
20行目~44行目辺り変数欄の数値をいじるとUI改造できます

//以下の数値やコードを変更してください
//メニューコマンド
var menuCommandX = (BoxWidth - 240);
var menuCommandY = 0;
var menuCommandWidth = 240; // デフォルト幅
var menuCommandHeight = Window_Base.prototype.fittingHeight(8);
//Window_Base.prototype.fittingHeight(行数);//

//メニューステータス
var menuStatusX = 0;
var menuStatusY = 0;
var menuStatusWidth = (BoxWidth - menuCommandWidth); 
var menuStatusHeight = BoxHeight; // デフォルト高さ(全体分の高さ)
// 初期位置の場合は、menuStatusX に menuCommandWidth を使ってください
// var menuStatusX = menuCommandWidth;

//メニューゴールド/所持金
var goldWindowX = (BoxWidth - menuCommandWidth);
var goldWindowY = (BoxHeight - 72);
var goldWindowWidth = 240; // デフォルト幅
var goldWindowHeight = 72; // デフォルト高さ
//コマンドウインドウのすぐ下の場合 goldWindowY を
// var goldWindowY = menuCommandHeight;
//初期位置の場合は goldWindowX を
// var goldWindowX = 0;

Graphics.boxWidth、Graphics.boxHeight
(画面全体のサイズを現すコード)
BoxWidth、BoxHeightとして使っています

仕組みを説明するとSceneのコアスクリプトで
メニューウインドウのコマンドステータスゴールド(所持金)が
コマンドステータスゴールドの順に作られていまして

上記とはあまり関係無いんですが(Sceneを直接いじって無いので)
(ゴールドの箇所のみSceneを別枠で改変してます)

別の箇所もなんですが
X座標やY座標を前のウインドウの位置に合わせて
次のウインドウが連なって作られてる場合がありまして

プラグインとかで別途枠で作ると良い感じです
クラス外でvarのスクリプト側の変数扱いで
ウインドウを改造できるようにしているので
基本的に数字をいじるだけで改造できると思います
(Scene内で、前のウインドウの位置を続けて使っている系の
ウインドウは改変がコツがいると言いますか、少々面倒なんですよね…)

Window_Base.prototype.fittingHeight(8);
これは88行分の高さの長さ のウインドウですが
必要に応じて8の数字の部分を変えてください
(数値を入れても動くと思いますが、行数の方がしっくりくると思います)

権利とかライセンスとかはヨ空からは特に無いです
改変改造OKです

ツクールMVのコアスクリプトを参照しているので
ツクール公式様の規約に従って使ってください
(と言いましたが、ツクール以外では使えないと思います…)

後々の予定の余談ですが…
ウインドウの座標やサイズの改造を教える となると
いざ、UIの改造となるとステータス画面とか
中身(表示する内容) とかだったり
メニューコマンドではコマンドの数を追加したりとか…
主な改造箇所じゃないですか…

需要があったら後の改造テクニック的な感じで
基本的な改造テクは後々更新…
かなりガチっぽい内容は有料アーカイブ
というのをヨ空は希望があれば考えております

(メインは自身のゲーム制作ですが)

すでに他所様のプラグインを使用されている方ならわかると思うんですが…
このヨ空が作ったプラグインより
バストアップ系の全身立ち絵を使いたい場合等では
別途改造が必須になってきます、正直AltMenuScreen系のプラグインを
使った方が良いかもしれません

データベースのメモ欄に入力した文字を参照させて
指定のフォルダの画像を立ち絵として扱うというコードを
ヨ空は一応会得…と言いますか、会得はしていますが
(作った見本とか完成物見ずにコード書いてよ!と言われると流石に自信無いです)

立ち絵機能(Alt3のプラグインの立ち絵機能のあれです)
メモ欄を参照するクラスMeta(メタ、メータとも) と言う呼び方らしいです
Metaのメモ欄を使うと凝った使い方もできる…んですが
詳しい説明を始めると、記事を終われる自信が無くなりそうなので
機会があったら…と言う事で…!

プラグインを作る上で知っておくと良い事

プラグインを作成する上で知っていると良い事ですが…
自分も追求中ですが
■プラグインの書き方
スクリプト部分の開始の初めを

(function() {
コードの最後を
})();

と書いていれば大体動くよ! …というくらいです

(function() {
実行したい内容
})();

こんな感じをプラグインにすると大体プラグインができます
プラグインプラグイン言ってますが
(たぶんロックマンエグゼとかデジモンの話じゃないです)

function(ファンクション)
(ファンクションは多々意味が別れるんですが、実行する…とか役割みたいらしいよ
一部抜粋)
ダンボール戦記を知ってるとわかりやすいかも知れないです

デジモンの方(ゴーストゲーム)はfaction(ファクション) らしいよ
(ファクションは、派閥とか、真実/事実とか、虚構/架空の間…の意味らしいよ
一部抜粋)

プラグインの内容が 別とプラグインと重複すると不具合
同じ内容の物(コアスクリプトのクラス) が書かれていると
当然っちゃ当然なんですがバグ…、不具合が起こりますね
これがプラグインの競合って言われてるアレ ですね…

※例
プラグインAのプラグイン、コマンドの数を6に変えるプラグインを登録

プラグインBのプラグイン、メニュー画面の
スキルやアイテムのコマンド数を10に変えるプラグイン
を登録


スキルやアイテムのコマンド数のみ10になる…!と思いきや
ベースのコマンドクラスを引用していたプラグインA
プラグインAの不具合でプラグインBが無効
もしくは関係無い箇所をコンソール(プラグインの履歴表示)が
不具合として訴え始める

という不具合が起こる可能性があるのです…
これは例の1つですが…
プラグインAがメニューコマンド、装備欄のコマンドのコマンド数を
指定して作ったプラグイン
として作られていれば
プラグインBと干渉したり、重なって競合しなかったと思います
同じ系統の内容は1つにまとめた方が管理のし易さを含めて良いんですが
プラグインを複数使用する場合は注意が必要なんですよね…

とここまでで不具合の話であります

他に気をつけるべき…という事は記事を良い感じに終えれる自信が無いので
機会がありましたら、別枠の記事で話させていただきます…!

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

Javaスクリプトの興味がある方は、話のついで程度に
別枠の講座の方の記事の次回更新をお待ちください
もうすでに始めてるって方は、そのままファイトです!

制作の記事→講座→制作の記事→講座→繰り返し
いつか完成、講座も良い感じに一段落…

というのを考えているんですが…
迷惑にならない程度に、講座の方の記事を投稿させていただきますね

オチが思いつきませんのでオチは無いです

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

クリエイターとかはこうやって作ってるんだな…
的な感じで活動してる雰囲気をお楽しみください
制作の吉報をお待ちください…!との事でよろしくおねがいします!

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

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

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

【超初心者向け_Javaスクリプト講座】ツクールMV/Part①コアスクリプト&クラス編


こんにちは、ヨ空です!こんにちは!
普段はゲーム制作をしております!

制作記事のついでの話でJavaスクリプトの話をしていたのですが
意外と?需要がある…ご様子なので別枠で記事にしました
(本命の制作作業が疎かにならない程度に更新させていただきます…!)

※本記事はヨ空がツクールMVの制作などで得たJava(Javaスクリプト)
Javaを Javaスクリプト未経験でもわかりやすく解説する…という内容の記事です

(慣れている方や中級者/上級者の方には物足りない内容かと思います)

こんな方向けです(Part①)

当方もスクリプトを追求中ですが、Part①は、こんな方向けです
・「スクリプトってなにそれ?名前は一応知ってるよ!」
・「ゲーム画面を自由自在に改造できるんでしょ?」
・「自分流のかっこいいゲーム画面/もしくはシステム実装したいぜ!」(後々)

おそらく、同じJavaなのでツクールMZにも応用可能?かもしれません…

URLリンク用

【超初心者向け_Javaスクリプト講座】
Part②
【超初心者向け_Javaスクリプト講座】ツクールMV/Part②X座標Y座標&画面サイズ編

(X座標、Y座標等、画面サイズについて解説)
(本命の制作作業が疎かにならない程度に更新させていただきます…!)

まずコアスクリプトについて(Javaの簡単な説明も)

Java(読み:ジャバ)Javaスクリプトはプログラミングの言語の一種なんですが
スクールMVやMZでのスクリプトに採用されています
(Javaというプログラム/プログラミングのコードがあって
ツクールMV/MZに使われている…という認識でOKです)

そのJavaスクリプトなんですが、ファイル上のPC(パソコン)上やフォルダ上では
jsファイル」という形…形式で置かれております
js(読み:ジェイエス)
(Java、もしくはJavaスクリプトはjsファイルなんだ…!という認識でOKです)

こんな感じのツクールのフォルダです

ツクールMVのゲームエンジンの付属のフォルダ内に
jsフォルダ(javaスクリプトが入っているフォルダ) がありまして

こんなん感じです
お手元のツクールのフォルダ と参照して見てみてください
※ツクールMVのjsフォルダの中です

日付とか時刻は全然無視して考えてもらってOKです
plugins(プラグイン)フォルダ の下に
main(メイン) とかplugins(プラグインズ)
そしてrpg_core(RPGコア) とか rpg_manager(RPGマネージャー)
とかあるのは確認できましたでしょうか

そのフォルダマーク 以外のjsファイル(Javaスクリプトのファイル/上記) は…
jsファイルコアスクリプトと呼ぶ物らしいです(公式が呼称)
ようするに公式用の…ツクール本体用の
Javaスクリプトのjsファイルって事で覚えてもらってOK
です

特にいじらず、いじったり改変したりせず
Javaスクリプトのjsファイルをこのままで
ゲームを作ると、よく見かける感じの
デフォルトな外観のツクールゲームになります


(見た目を話題に使って言ってますが
ヨ空はUIの見た目をどうのこうの言う目的では無く説明目的です…!)

プラグインの使い方、登録の仕方/登録方法の大体の説明なのですが
(基本はプラグインを登録しないと使えません…)

このコアスクリプトを改変 した物を
フォルダ内のplugins(プラグイン)フォルダ側に


※このplugins(プラグイン)フォルダ です

プラグイン(自作の追加スクリプト)としてフォルダ内に入れて

プラグインフォルダの開き方は
※ゲームエディタ(ツクール)外のフォルダ
 jsフォルダpluginsフォルダへアクセスできます

※ゲームエディタ(ツクール)側では上側の
 ゲーム タブ(ヘルプ タブの左横)→フォルダを開く
 でもアクセスできます(テストプレイの下)

 その後jsフォルダ→pluginsフォルダ
(制作用にショートカットを作っておくのもアリかも…?しれません)

プラグイン(作ったjsファイルのスクリプト)を
プラグインフォルダに入れてから

エディタ側のプラグイン管理プラグイン登録して
ONで起動する事で改変できる…
ようになっています!
※この画面です


ツール タブ(先ほどのタブの左横)→プラグイン管理でアクセスできます
F10キーでも簡単にアクセスできます(ショートカット対応)

(プラグインフォルダに入れただけで起動する方法もありますが
難しくなるので省略、プラグイン管理から推奨 です)
※初期だとインターフェース的な
ゲームのベーシックプラグイン(ゲーム画面サイズの変更、キャッシュの自動クリアなど)
ロゴ表示用のプラグイン(タイトル画面の表示する前に、制作者側用のロゴ表示する)

などが入っていまして
Altプラグイン(メニュー画面を改変するプラグイン、立ち絵表示も可能)
アイテム図鑑プラグイン(アイテム図鑑を実装する)

など、いろんなプラグインが、すでにフォルダに入っておりますが
Javaが大体わかれば、改変する事も自作する事も可能です…!

では、自分が恐らく得意であろうと思う…
UI(ゲームの見た目/ゲーム画面の見た目)を改変する方法の
どこを見て、参照すればいいのかを大体説明します
コアスクリプトの内容は需要があれば簡易的に説明します
UI目的の場合、まず直視していただきたいのが
rpg_scenes(RPGシーン)rpg_windows(RPGウインドウ) の2つです

 scenes(シーン)タイトル画面やマップ画面、バトル画面のシーン
 動きみたいな物が登録されている機械仕掛け舞台装置 みたいな
 台本設計図の一部 だと思ってもらうと多分わかりみが深いと思います

 windows(ウインドウ)ウインドウ関連の項目を取り扱ってるスクリプト
 メッセージウインドウ(会話ウインドウ)選択肢ウインドウ

 メニュー画面のウインドウ とか、その他スキルとか装備とか… を含む
 名前入力画面 とかショップ画面 とかバトル画面 の…
 ウインドウ を管理していて

 シーンから引っ張って、関連 した感じで
 ウインドウを管理しているスクリプト

 シーン相方 な感じで、もう1つの台本や設計図 と思ってもらうと
 恐らく、わかりみが深いと思います

この2つを丸ごとコピー(改変/改造)して使いたい箇所を
丸ごとコピーしてプラグインとして使うのもアリっちゃあアリなんですが
多分やめた方がいいです(現在の自分の意見)

じゃあ、どう改造するの? といいますと
上記のスクリプト、sceneswindows改造するのですが
直接改造するのは絶対…これも、やめた方がいいです


Steam版 などの場合だとアップデートで書き換えられて
直接改変した部分が元の初期の姿に書き換えられてリセットされる恐れが高いです

あと、コアスクリプト直接的に触っている…ので
失敗したら1回でオシャカになってダメになってしまいます! ので
正直、安全要素が無いギャンブル…ヨ空的に絶対にオススメできません…!

続いてクラス(スクリプト)について

コアスクリプトのJavaスクリプトにはクラス(Class) という物がありまして
(コアスクリプト、Javaの中身にはクラスがあるという認識でOKです)

スクリプトの方のクラスの話になりますが…例え話なんですが
RPG用のエディタ内でも職業 などがクラス と呼ばれてますよね?**

RPGのエディタとしての職業のクラス
勇者
とか戦士魔法使い とか僧侶 とかあるじゃないですか…!
それで初期の人達には、職業が割り当てられてますよね…?
(関係無い話をしている感がありますが、似た様な感じでして…)

勇者のハロルド戦士のテレーゼ魔術師のマーシャ僧侶のルキウス
(※RPGツクールMVの場合)
勇者のアレックス戦士のブライアン魔術師のキャロル僧侶のデイジー
(RPGツクール2000の場合のうろ覚え…)

画面上では名前、職業名(クラス名)の順に基本表示されます…
(スクリプトのクラスも職業や役職の名前
舞台装置名のような名前という認識でOKです)

この勇者(職業名)のハロルド(名前)に例えて話しますが
ハロルドコアスクリプトの様な物で
勇者クラス(スクリプト) の様な物…だと思ってくださると
多分わかりみが深いと思います

ウインドウ(Windows) には勇者や戦士、魔術師や僧侶の様に
ベース用コマンド用メニュー画面用アイテム画面用 という
役職やら舞台装置名 あるのだ…という事で覚えてもらうと
恐らくわかりみが深いと思います

1つのコアスクリプトクラスの数が
野球やサッカーのチームの人数(10~20)くらいの認識でOKです

(※ウインドウ(Window)やシーン(Scene)の場合)

スクリプトのclass(クラス)についての簡易解説

後々に解説していく…としまして、コアスクリプトのクラス…
ウインドウ(rpg_windows)のクラスはどのような物があるのか?… を解説します

Window_Base.prototype…略
(これは一応はウインドウのベースのクラスのコードです)
こんな感じなのスクリプト/プラグインを見た事ありませんか?
あと、赤文字の部分違いとかで

Window_Selectable(ウインドウセレクタブル/セレクトでも可)
(これは選択肢系のウインドウ用 のクラスのコードです)

Window_Command(ウインドウコマンド/コマンドでも可)
(これはコマンドウインドウ用 のクラスのコードです)

Window_Help(ウインドウヘルプ/ヘルプ/ヘルプウインドウでも可)
(これってアイテムとかスキルや装備などの
説明文のアレのヘルプウインドウ用 のクラスのコードです)

Window_Gold(ウインドウゴールド/ゴールドでも可)
(会話用のメッセージ/選択肢ウインドウとかで右上に所持金を表示
デフォルトだと~~G(ゴールド)と表示するアレ の…
所持金表示用のウインドウ用 のクラスのコードです)
※これは使う人は使うし、使わない人は使わないかもしれません

他にもメニューコマンド(メニュー開いた時にでるコマンドリストなアレ)
の話になりますとスキル用装備用アイテムの画面用 なんかがあります
このクラスのコードさん達は独自で結構ありますw
(これものちのち…という事で)

一応載せて置きます!
Window_MenuCommand(メニューコマンド)
(上記のコマンドを引用していまして(後々解説)…
メニュー画面用 のメニューコマンドです)

Window_MenuStatus(メニューステータス)
(メニュー画面、右側のメニュー画面用の
主人公や仲間達のステータス画面用のウインドウ です)
Window_Gold(ゴールド)
(所持金のウインドウ で上記と一緒なんですが
会話ウインドウ等(右上)やショップ画面等の表示では
別枠扱いでシーン等を使って、このWindow_Gold から引用したりしてます)
(後々解説)

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

お疲れさまでした!
長々と語らせていただきましたが 
シーンウインドウ に…、クラス と呼ばれているコードがある…
上記のような感じのコードがあるという事を知っていただけたでしょうか?

クラスの解説は、大まかに説明させていただきまして
以上となります(他のコアスクリプトのクラスは後々…)

コアスクリプトクラスについて理解を深まりましたか…?
プラグインも大体わかっていただけたでしょうか?
Javaへの理解が深まった…、わかりみが深まると
ヨ空も記事を書いた甲斐があります!

(ツクール等のjavaでお困りの方のお役に立てば幸いです!
自分もゲーム制作をがんばろうと思います)

次回はX座標Y座標画面サイズについて、当講座の続きを投稿しようと思います

もうjavaを始められている方はそのままファイトです!
それ以外の方、次回をご希望の方は次回更新をお待ちください…!
それでは、良い制作ライフをー!

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

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

【途中成果: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ページデス異界を完成させねばなるまい…と考えておりまして

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

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

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

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

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

月別アーカイブ

限定特典から探す

記事を検索