私は自分のプロジェクト用のゲームをデザインしていますが、何らかの理由で処理後にスコア(テキスト)が更新されません。それは0で立ち往生しました。Unity C#でテキストが更新されない
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class uiManager : MonoBehaviour {
public Text scoreText;
bool gameOver;
int score;
// Use this for initialization
void Start() {
gameOver = false;
score = 0;
InvokeRepeating ("scoreUpdate", 1.0f, 0.5f);
}
// Update is called once per frame
void Update()
{
scoreText.text = "Point: " + score;
}
void scoreUpdate()
{
if (gameOver == false)
{
score += 1;
}
}
public void gameOVER()
{
gameOver = true;
}
public void Play()
{
Application.LoadLevel ("MuachiJump");
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag == "branch")
{
score += 1;
Destroy(col.gameObject);
}
}
このコードには間違いがありませんか?それらのすべては正しいと思われる。
サイドノートでは、そのままアップデートにスコアを印刷しないでください。新しい文字列を作成し、各フレームの前の文字列を破棄します。代わりに、あなたのスコアメンバのプロパティを使用してテキストを更新します。この方法では、値を変更すると新しい文字列が作成されます。 – Everts