【发布时间】:2016-11-26 15:18:32
【问题描述】:
这个计数器会随机增加。快把我逼疯了。
当玩家拾起关卡 (10) 上的所有游戏对象时,关卡应重新开始。
但是,随机拾取物体时,它可以将分数加到预期的 +1 或 +2 上。
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Pickup : MonoBehaviour {
//Required Variables
public GameObject pointsObject;
public Text scoreText;
private int score;
private int scoreCount;
void Start()
{
score = 0;
SetScoreText();
scoreCount = GameObject.FindGameObjectsWithTag("Pickups").Length;
}
void Update()
{
if(score >= scoreCount)
{
Scene scene = SceneManager.GetActiveScene();
SceneManager.LoadScene(scene.name);
}
SetScoreText();
Debug.Log("Found " + scoreCount + " Pickup Objects!");
}
void OnTriggerEnter(Collider col)
{
if(col.gameObject.CompareTag("Pickups"))
{
Destroy(col.gameObject);
score++;
}
}
void SetScoreText()
{
scoreText.text = "Score: " + score.ToString();
}
}
谁能明白我为什么会遇到这个问题,因为我根本看不到原因。提前致谢。
【问题讨论】:
-
添加Debug.Log("yo" +gameObject.name);到 OnTriggerEnter
-
Ben,一旦你开始更多地编程,“score”应该是一个带有“set”操作的属性,只需更改其中的文本即可。干杯
标签: c# unity3d count increment