前提・実現したいこと
テキストを用意して、そのテキストの下に対応したボタンを配置し、
ボタンを押すと上にあるテキストに数値が+1されるようなスクリプトを組みたいのですが、
Unityを始めたばかりでなにを用意すれば実現するのかがわかりません。
試したこと
試しにOnclickでテキストに数字を表示させようと思ってスクリプトを組んでみたのですがエラーが起きて走りません。
こういった画面で
ScoreManagerという名前のGameObjectに以下のスクリプトをアタッチ?(というのかよくわからないです)して、スクリプトでテキストの初期化をしています。
(今後点数がn以上になったらシーンを遷移 みたいな物も入れたいと思っています)
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ScoreManager : MonoBehaviour { public GameObject score_object = null; void Start () { Text score_text = score_object.GetComponent<Text> (); score_text.text = ""; } }
そしてbuttonにはButton_Testというスクリプトをアタッチして、更にOnclickでTestを呼び出してとりあえずログが出るようにしました。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Button_Test : MonoBehaviour { public void Test() { Debug.Log("Press the button"); } }
そしてこのままButton_Testの中でテキストに数値を入れてみようと思って
コードを
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Button_Test : MonoBehaviour { public void Test() { Debug.Log("Press the button"); score_text.text = "1"; } }
という風にするとエラーが起きます。
できないだろうということはなんとなく分かってるんですが、どうしたらできるかが分からないです。
このまま ="1"の部分を加算するような文に変えても文字列に加算をしているような気がするし、
そもそも動かないのは別のスクリプトで宣言したテキストをひっぱってこようとしていてそれが無理なことなのかな?
とも思ってます。
補足情報(FW/ツールのバージョンなど)
Unity 2018.4.12f1 Personal
回答3件
あなたの回答
tips
プレビュー