最初に作ったものであとやれそうなのは、文字の表示とかですかね。
…ということでカウンタ設置で文字表示を練習してみることに。
Hierarchyウインドウで [UI]>[Text] を選び、テキストオブジェクトを追加。
あとは前回のスクリプトにクラスを追加して、カウンタの変数を追加して、それをテキストオブジェクトに追加!
…と思ったら「Textオブジェクトが見つかりません」エラーに。
あれっと思いましたが、
using UnityEngine.UI;
の行を追加がなかったのが原因ですね。
追加するオブジェクトによってはusingの定義を追加しないとダメなのをうっかり忘れていました。
あとついでに10回に一回、ちょっと大きめの金色のボールが出るように変更。
うん、簡単ですね。
そろそろ新しいプロジェクトで新たなオブジェクト制作ですかね。
参考
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Ball1Script : MonoBehaviour
{
public GameObject Ball1Prefab;
public GameObject Ball2Prefab;
public GameObject BallCounterPrefab = null;
public int ballCount = 0;
// Start is called before the first frame update
void Start()
{
Text ballCounterText = BallCounterPrefab.GetComponent();
ballCounterText.text = "Ball Count : " + ballCount;
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// マウスが左クリックされたら...
// カウントアップしてテキストを更新
ballCount += 1;
Text ballCounterText = BallCounterPrefab.GetComponent();
ballCounterText.text = "Ball Count : " + ballCount;
if (ballCount%10 == 0)
{
// 10回ごとに金色のボールを出す
if (Ball2Prefab != null)
{
GameObject ball = GameObject.Instantiate(Ball2Prefab);
}
}
else
{
// 上記以外
if (Ball1Prefab != null)
{
GameObject ball = GameObject.Instantiate(Ball1Prefab);
}
}
}
}
}