今日のツクールMZスクリプト【7】・変数について学んだことをMZで出力する

今日のツクールMZスクリプト【7】
今までの変数の応用として、ツクールMZ内で出力していきたいと思います。
まずはプリシアを用意してスクリプト内に
let unko = 1;
unko++;
として「unko変数」の宣言と1を代入し
さらに1を加算します。
最終的には「unko変数」が2となるはずです。

f:id:werewolftan:20211101144908p:plain

プリシアにいろいろやらせる

 

実際にテストプレイしてみると…

f:id:werewolftan:20211101145043p:plain

制御文字でやってみたけど変わらず

何も見た目では何も起こりません。
多分処理をしているのですがこっちからは全く分かりません。
consol.log(unko);
としてもコンソール上の表示なので当然エラーを吐きます。
ダメもとで文章の表示で\V[unko]を入力しても出力されず…
まだツクール上では舞えませんでした。

今日のツクールMZスクリプト【6】・オブジェクト応用


今までの応用としてオブジェクトをいろいろやります。

ツクール公式のサイトから、

変数 | 最速JavaScript講座 | プラグイン講座 | RPGツクールMZ (tkool.jp)

f:id:werewolftan:20211101143438p:plain

練習用

 

f:id:werewolftan:20211101143823p:plain

入力したもの、)を忘れてエラーを吐いている

配列ではないためか、
let propName = 'prop3';
の後に
console.log(obj.length);
としてもundefindとしか返ってきません。
objの中にプロパティが格納されていてもその要素の数は数えないのか?
後からobjの中に要素を入れることができるので、たぶんいろいろできます。

 

入力の説明については公式サイトからコピペしたものを載せます。

 

①変数『obj』を宣言して、新規作成したオブジェクトを格納しています。

  • ②objのプロパティ『prop1』に『prop2』の値を加算しています。prop1には『0 + 1』つまり『1』が格納されます。
  • ③変数『propName』を宣言して文字列『prop3』を格納しています。
  • ④変数『obj』に新しいプロパティを作成しています。プロパティ名は『変数propNameの値』つまり『prop3』です。
  • ⑤変数『num』に、前項で定義したobj.prop3を代入しています。よってnumには『5』が格納されます。
  • ⑥最後に、『prop1』+『prop2』/『num』の計算結果を出力します。現実の数学と同じように複数の演算を組み合わせることができます。

途中でよくわからないところがありましたが、とりあえず後からわかるだろうという事で…

今日のツクールMZスクリプト【5】・変数について(オブジェクト)


・オブジェクトについて
配列では「数値を添字」にして複数の変数をまとめていたが、
「文字列を添字」とするのが『オブジェクト』??

ここで重要なのは文字列にするのは添字なので、
let unko = ['バナナ','リンゴ','ゴリラ'];
のような「要素が文字列」のものとは違う事。
これはおそらく配列として扱う。

では、添字が文字列にするにはどうするかというと
let unko = {bbb:1, ccc:2, ddd:3};
などと定義することができます。

f:id:werewolftan:20211101142756p:plain

『{}』で囲っていたり、『:』を使っていることに注意

ここで配列で言う添字の
bbbなどはオブジェクトでは「プロパティ」と呼ぶ。
要素をコンソール上で表したいときは、
console.log(unko['bbb']);
プロパティであるbbbは文字列なので'で囲うことを忘れないように。
また
console.log(unko.bbb);
と簡略化して表記することもできます。この際プロパティに記号などを使えない点に注意。

f:id:werewolftan:20211101143014p:plain

コンソールで出力。簡略表記を覚えよう

 

今日のツクールMZスクリプト【4】・変数について(配列)

ツクールのイベントコマンドで変数には数値しか入れられないが、
スクリプトでは変数以外のものを入れることができる。
①真偽値(true/false、スイッチと同じ)
②文字列("文字列"や'文字列'と囲うことで扱える)
③null(何もない状態)
④undefined(未定義)
⑤配列(難しそうなので後から)
⑥オブジェクト(謎)
⑦関数(これが扱えると幅が広がりそう)

f:id:werewolftan:20211101141857p:plain

①と②の実行

⑤配列
let unko = [1,2,3,4];
とするとunko変数に「配列」を定義することができます。
中身を見る場合は
console.log(unko[0]);
配列は左から順番に0,1,2,3番目と数えるので
unko[0]は1が出てきます。

f:id:werewolftan:20211101142119p:plain

配列うんこ

[0]などの数字は『添字』と呼ばれ、配列のどこを参照するかをあらわす値。
配列の中に入っている1,2,3,4は『要素』と呼ばれる。
console.log(unko[0]);
は「unko変数」の添字0の要素をコンソール上に表示しろという命令。

また、配列は『.length)』と後ろに記述することで要素数を取得できる。
console.log(unko.length);
で要素数の4が出てくる。
これはおそらく関数とかを定義する際に使うようになるやつ。

f:id:werewolftan:20211101142332p:plain

.length 要素数



 

今日のツクールMZスクリプト【3】・簡単な四則演算の表記

let unko = 1;

と「unko」を定義して1を代入します。
そして
unko = unko +1;
unko = unko -1;
unko = unko *2;
unko = unko /2;
unko = unko %2;
と計算してみます。
四則演算と、%は剰余(割ったときの余り)が計算できます。

f:id:werewolftan:20211101141329p:plain

計算

短縮版だと
unko +=1;
unko -=1;
unko *=2;
unko /=2;
unko %=2;
とします(なんで?)
また1だけ足す、1だけ引く場合はそれぞれ
unko++;
unko--;

と省略することができます。
これらは「インクリメント演算子」、「デクリメント演算子
っていわれるらしいよ。へー。

ツクールのイベントコマンドだと
割り切れない場合は切り捨てられますが、
JavaScriptでは小数点まで計算します。

今日のツクールMZスクリプト【2】・コンソールの立ち上げと基礎

F8でデベロッパツールを開いた後は
上のタブのConsoleに切り替えます。
Consoleでは動作の確認や、スクリプトが正しいかどうか
調べることができるようです。

f:id:werewolftan:20211101140350p:plain

 

例えば下の画像のように適当な文字を打ち込んでみると、
エラーが発生します。

f:id:werewolftan:20211101140408p:plain

今回の場合は、
[うんこ is not defined.]
と返され、「うんこ」というものが定義されていないそうです。
(今は全角の日本語を使っていますが、実際には半角でわかりやすい文字にした方が
いいと思います。例えば「unko」とか)

そこで
let うんこ = 1;
と「うんこ変数」の定義を行いました。

f:id:werewolftan:20211101140357p:plain

この「let」というものはJavaScriptの『予約語』の一つで、変数の定義を行う時に使います。
そのあとに「うんこ」と打つとなぜか1が出てきます。

実際にはconsole.log(うんこ);
と入力して、どう出力されるか確認するそうです。

この文末の;(セミコロン)は行の終わりをあらわしています。
付けても付けなくてもいいようですが、大体つけてるのでつけるようにします。