← Yop2D

コインを集めてスコアを数えるには?

初心者ガイド · コード不要

Français · English · Español · Deutsch · Italiano · Português · Русский · 中文 · 日本語

プレイヤーがコインに触れたら、3 つのことをします:コインが消える、スコアが 1 増える、新しいスコアが画面に表示される。

用意するもの:

ステップ 1:すべてのコインに同じタグをつける

タグはラベルのようなものです。タグがあれば、コインを 50 個置いても、1 つの Blueprint ですべてのコインに対応できます。

  1. コインを 1 つ選びます。
  2. インスペクターの 「タグ (ラベル)」 欄に piece と書きます。
  3. ほかのコインにも同じようにします(欄の横の 「リスト」 ボタンで、使ったことのあるタグを選べます)。

ステップ 2:変数「score」を作る

変数は、ゲーム中に数を覚えておく箱のようなものです。

  1. 左のパネルで 変数 の欄を開き、変数を作ります。
  2. 名前:score · 範囲:ローカル · 型:整数 · 最初の値:0。
👉 ローカル = 変数はこのシーンの中だけにあります。スコアを次のステージに持ちこしたいときは グローバル を選びます(次のステージに進む を参照)。

ステップ 3:Blueprint

  1. シーンの ブループリント を開きます。
  2. 「オブジェクトがタグに触れた場合」 イベントを追加します:ターゲット player、タグ piece。
  3. 「オブジェクトを破壊」 を追加します。ターゲットには イベントに関与するオブジェクト を選びます:プレイヤーがちょうど触れたコインのことです。
  4. 「変数に加算」 を追加します:変数 score、加算する値 = 1。
  5. 「テキストを変更」 を追加します:ターゲット scoreText、新しいテキスト = ="スコア:" + score
  6. 4 つのノードを順番に、出力から入力へつなぎます。
  7. 保存してゲームを開始し、コインに触れてみます。
オブジェクトがタグに触れた場合ターゲット:player · タグ:piece
→
オブジェクトを破壊関連オブジェクト
→
変数に加算score · + 1
→
テキストを変更scoreText
👉 文字の最初の = 記号は、文字をそのまま書くのではなく計算するように Yop2D に伝えます。これがないと、画面に "スコア:" + score がそのまま表示されます。引用符(" ")の中は変わらない部分です。
👉 このイベントは接触ごとに 1 回だけ動きます:コインの上にいても、何点も入ることはありません。

おまけ:コインを全部集めたら勝ち

  1. 「テキストを変更」 のあとに 「条件」 ノードを追加し、条件 = =score >= 3(3 = コインの数)にします。
  2. その 真 出力を、メッセージ 勝ち! の 「画面下の小さなメッセージ」 ノード、または 「次のシーン」 につなぎます。
テキストを変更scoreText
→
条件=score >= 3
真 →
画面下の小さなメッセージ勝ち!

うまくいかないとき