
GDevelopでスコア画面を変数やアセットで表示させる方法
AIに聞いたりネットで検索したけど方法がスッと出てこなかったので方法を備忘録がてら共有します。
今回はフルーツキャッチにスコア機能を作ろうとした時の手順です。
ちなみにフルーツキャッチは上から落ちてきたフルーツをプレイヤーが取るだけの簡単なゲームです。ブロック崩しと同様に初心者がチュートリアルで作るのに向いています。
1:変数の設定
まずはシーンの何もないところでVキーを押します。

するとシーン変数を設定する画面になりますので、今回は「score」を数値で作り保存しました。数値は0です。
次はシーン(イベント)画面で

イベント部分に「シーンが始まった」
アクション部分には「変数スコア変更する:0を代入」を設定します。

ゲーム開始時に前回のスコアとかを引き継がないための処理です。
2:テキストを設定

シーンでもグローバルオブジェクトでもどちらでもいいのですが、今回はシーンオブジェクトを使っています。「+新しいオブジェクトを追加」でテキストを追加。
今回は分かりやすく「scoretext」の名前にしました。
最初に表示させる文字は「スコア:0」にしています。
フォントのサイズやカラーはお好みで設定してください。
テキストをゲームシーンにドラックしてから大きさを整えると設定しやすいです。
3:スコア表示を更新させる

フルーツキャッチなので、playerとフルーツのappleが接触したときにスコアを1点ずつ加算していきます。
イベントは「playerはappleと衝突している」
アクションは「appleを削除する」
「変数scoreを変更する:1を加算」
「scoretextのテキストを変更する:”スコア:”+scoreを代入」

テキスト変更部分はscoreだけでもいいのです。””の間に入れた文字はそのまま表示されます。それに+して変数scoreを新たに代入させて表示させているのです。

これでリンゴを取るたびにスコアが増えていきます。
おまけ:アセットストアのスコア機能を使う
もっと簡単にスコアを追加する方法もあります。
「+新しいオブジェクトを追加」でアセットストアを選び、「score」と英語で入れて無料にチェックを入れて検索。
出てきたscore Countersを追加します。

シーン内の自分がおきたいところに適当にドロップしておいてあげる。
今回は前に作ったスコアとは別にして、下に配置しました。

bombと当たるとミスになる設定でしたが一回消しました。そのかわりbombを取ると、スコアの下に設置したスコアカウンターの方に100ずつ加算されるようにしました。


アクションを追加からScoreCounter→ANIMETED SCORE COUNTER Scoreを選んで、演算子を+(足す)、値を100にします。

実際にゲームをプレイして反映されていたら成功です。
GDevelopの情報は少ない
スコアを作るのはたったこれだけの事ですけど、検索してたどり着くのに時間がかかりました。同じゲームエンジンのunityなら情報が多いので、簡単に分かるのですが…悩ましいですね…
GDevelopはscratchの上位互換みたいな感じなので好きなので、もっとユーザーが増えて普及して欲しいですね。まあ、それは個人ではどうしようもないので、またつまずきポイントがあったら、備忘録がてら記事を書いてみたいと思います。