#cluster Creator Kit シンプルなスコアボードの作り方
ゲームを作る際に 得点を表示させるスコアボードを作りたくなった時の参考用の記事です。
ゴールにボールを入れると スコアが加算されるサンプルを作っていきます。
なるべくシンプルな構成で作ったので拡張も簡単にできるハズ。
使うコンポーネント
- Grabbable Itemを使うと、プレイヤーがオブジェクトを掴んで移動できるようになります。
- アイテムが他のものに衝突したことを通知するトリガー
- メッセージを読み取り、計算した結果をどのギミックからでも読めるメッセージとして通知するオペレーション
- Textにメッセージの内容を設定するギミック
作り方
ゴールを作る
まずは あたり判定のある ゴールオブジェクトを作成します。
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- Inspector で 名前を
Goal
に変更する - Inspector で Add Component を押して
Box Collider
コンポーネントを追加する - Goal 以下に Cube を追加
- Cube の Transform Scale を 0.5,0.5,0.5 に変更
ボールを作る
Goal
に当たったら hit Signal を Goal
に通知する ボールを作成する
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- Inspector で 名前を
Ball
に変更する - Inspector で Add Component を押して
Rigidbody
コンポーネントを追加する - Inspector で Add Component を押して
Grabbable Item
コンポーネントを追加する - Inspector で Add Component を押して
On Collide Item Trigger
コンポーネントを追加する
On Collide Item Trigger コンポーネント
Collision Event Type: Enter
Collision Type: EveryThing
Target: CollidedItemOrPlayer
Key: hit
Value: Signal
スコア表を作る
スコア表示する Canvas を作成する
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- Inspector で 名前を
Score
に変更する - Inspector で Add Component を押して
Canvas
コンポーネントを追加する - Inspector で Add Component を押して
Canvas Scaler
コンポーネントを追加する -
Score
の下に CreateEmpty して GameObject をつくる - Inspector で 名前を
Text
に変更する - Inspector で Add Component を押して
Text
コンポーネントを追加する - 各コンポーネントの値を調整する
Rect Transform コンポーネント
Width: 200
Height: 60
Text コンポーネント
Font Size: 30
Text: "スコア 999"
- Inspector で Add Component を押して
Set Text Gimmick
コンポーネントを追加する
Set Text Gimmick コンポーネント
Target: Global
Key : score
Parameter Type: Integer
Format: "スコア {0}"
ゴールに衝突したときの処理を作る
オブジェクトの準備ができたので ゴールにボールが衝突したとき スコアを加算する処理を作ります。
- Hierarchyで右クリック CreateEmpty して GameObject をつくる
- Inspector で 名前を
System
に変更する - ワールド入室時の スコアを0にする処理を追加する
Inspector で Add Component を押してOn Create Item Trigger
コンポーネントを追加する
On Create Item Trigger コンポーネント
Target: Global score
Value: Integer 0
- Inspector で Add Component を押して
Global Logic
コンポーネントを追加する
Global hit Signalを受信したら Global score を加算する。
Global Logic コンポーネント
Target: Item
Key: hit
Item:Goal
<- Hierarchy の Goal を ドラッグ & ドロップする
-
+
ボタンを押してロジックを追加
Global Logic コンポーネント ロジック部分
Global score Integer
= Add (加算)
RoomState Integer score
Constant Integer 1
ココまでの設定で一式のオブジェクトの容易ができました。
実行してボールをゴールに投げ込むとスコアが加算される筈です。
Discussion