P2.玉転がし.22「得点カウンター」
クルクルが消えた時、"kuruNokori" から "1" 引こう。初期値 12 だから、12 個消えれば "0" になるよね。で、その「引く」という計算をするためのノードが、ずばり Math ノード。直球過ぎでござい Math(マス)。
クルクル用 NodeTree(スクリプト)に追記
クルクルに付けた NodeTree に追記するので、ノードエディタは、"NodeKurukuru" にしておく。そして、下図 ❸ 部分を完成させる。で、終わり。(画像は、クリックして大きくしてみてね。)
❸-1 Get Property: 注意する点は、オブジェクト欄に "Cube"(クルクルの残数 "kuruNokori" を仕込んだプロパティを持ったオブジェクト)を選んでおく事。クリックするとリストが出るから。
❸-2 Integer: 引く数は "1" だから、入れること。
❸-3 Math: 計算は、"Subtract"(引く)を選択する事。上の値から、下の値を引くこととなる。つまり、"kuruNokori" から "1" 引いたということ。
デフォ "Add" の所、クリックするとリストが出るから。(まーいっぱい項目あるよのー。整理して並べてくれって感じだが・・・。)
❸-4 Set Property: 引いた値を "kuruNokori" にセット。つまり、
「❸-1 ~ ❸-4」 までで、
「kuruNokori = kuruNokori -1」をやったということ。
Get して計算して Set だ。
(ノードベースのヴィジュアルスクリプトは、こんな簡単な計算でも糞メンドクサイ表現をしなくちゃいけないのがネックだよなー。何とかせいや!)
❸-5 Get Property: 新しい値になったのを持ってくるから、またこれが必要だよね。注意点は、オブジェクト覧ね。
❸-6 Canvas Set Text: ❸-5 で新しい値になった "kuruNokori" を Canvas の Text に送る。
これで、クルクルが消えたとき、表示される数が 1 づつ減っていくはずだ。それから、注意なのは、フレームを越えて実行線がちゃんとつながってるからな。わすれるな! (フレームに関してはココ参照)
それからそれから、なんとクルクルが消えるその時点で、繋がっている NodeTree も消えてしまうのではないかと思ったんだが、どうも、その後も生き残って処理をしてくれるようだ。これはすごいと思う。❷ の時点で消滅しないんだな、NodeTree。偉いぞ。
プレイしてくれ
Gif めんどい。まー動くから、確認してくれな。12 から 0 になるだろ。な。
本日の確認
- Math ノード: 計算すんだよ。
- やっぱり、Get Property と Set Property はペアだろ。Get して計算して Set だ。
■ 次回、クルクルカウンターが "0" になったら、"YOU WIN" と表示させ「Unity の玉転がし風ゲーム」の完成とする。長かったなー。