今日のツクールMZスクリプト【6】・オブジェクト応用
今までの応用としてオブジェクトをいろいろやります。
ツクール公式のサイトから、
変数 | 最速JavaScript講座 | プラグイン講座 | RPGツクールMZ (tkool.jp)
配列ではないためか、
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};
などと定義することができます。
ここで配列で言う添字の
bbbなどはオブジェクトでは「プロパティ」と呼ぶ。
要素をコンソール上で表したいときは、
console.log(unko['bbb']);
プロパティであるbbbは文字列なので'で囲うことを忘れないように。
また
console.log(unko.bbb);
と簡略化して表記することもできます。この際プロパティに記号などを使えない点に注意。
今日のツクールMZスクリプト【4】・変数について(配列)
ツクールのイベントコマンドで変数には数値しか入れられないが、
スクリプトでは変数以外のものを入れることができる。
①真偽値(true/false、スイッチと同じ)
②文字列("文字列"や'文字列'と囲うことで扱える)
③null(何もない状態)
④undefined(未定義)
⑤配列(難しそうなので後から)
⑥オブジェクト(謎)
⑦関数(これが扱えると幅が広がりそう)
⑤配列
let unko = [1,2,3,4];
とするとunko変数に「配列」を定義することができます。
中身を見る場合は
console.log(unko[0]);
配列は左から順番に0,1,2,3番目と数えるので
unko[0]は1が出てきます。
[0]などの数字は『添字』と呼ばれ、配列のどこを参照するかをあらわす値。
配列の中に入っている1,2,3,4は『要素』と呼ばれる。
console.log(unko[0]);
は「unko変数」の添字0の要素をコンソール上に表示しろという命令。
また、配列は『.length)』と後ろに記述することで要素数を取得できる。
console.log(unko.length);
で要素数の4が出てくる。
これはおそらく関数とかを定義する際に使うようになるやつ。
今日のツクールMZスクリプト【3】・簡単な四則演算の表記
let unko = 1;
と「unko」を定義して1を代入します。
そして
unko = unko +1;
unko = unko -1;
unko = unko *2;
unko = unko /2;
unko = unko %2;
と計算してみます。
四則演算と、%は剰余(割ったときの余り)が計算できます。
短縮版だと
unko +=1;
unko -=1;
unko *=2;
unko /=2;
unko %=2;
とします(なんで?)
また1だけ足す、1だけ引く場合はそれぞれ
unko++;
unko--;
と省略することができます。
これらは「インクリメント演算子」、「デクリメント演算子」
っていわれるらしいよ。へー。
ツクールのイベントコマンドだと
割り切れない場合は切り捨てられますが、
JavaScriptでは小数点まで計算します。
今日のツクールMZスクリプト【2】・コンソールの立ち上げと基礎
F8でデベロッパツールを開いた後は
上のタブのConsoleに切り替えます。
Consoleでは動作の確認や、スクリプトが正しいかどうか
調べることができるようです。
例えば下の画像のように適当な文字を打ち込んでみると、
エラーが発生します。
今回の場合は、
[うんこ is not defined.]
と返され、「うんこ」というものが定義されていないそうです。
(今は全角の日本語を使っていますが、実際には半角でわかりやすい文字にした方が
いいと思います。例えば「unko」とか)
そこで
let うんこ = 1;
と「うんこ変数」の定義を行いました。
この「let」というものはJavaScriptの『予約語』の一つで、変数の定義を行う時に使います。
そのあとに「うんこ」と打つとなぜか1が出てきます。
実際にはconsole.log(うんこ);
と入力して、どう出力されるか確認するそうです。
この文末の;(セミコロン)は行の終わりをあらわしています。
付けても付けなくてもいいようですが、大体つけてるのでつけるようにします。