统一的简单评分系统5

时间:2016-06-15 08:47:23

标签: c# unity3d unity5

 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;

 public class score : MonoBehaviour {

     public int ballValue;
     public Text scoretext;
     // Use this for initialization
     void Start () {
         ballValue = 0;

     }

     // Update is called once per frame
     void Update () {
         scoretext.text = ballValue.ToString();

     }

     void OnTriggerEnter2D(Collider2D other)
     {
         if(other.gameObject.tag == "bucket")
         {
             ballValue = ballValue + 1;
         }
     }

 }
好吧伙计我在这里做错了什么,我是初学者。我想在这里实现的是我希望我的球落到水桶并获得1分或得分,我的球有一个实际的圆形对撞机一个刚体和我的水桶有一个盒子对撞机,这是一个触发器,这两个都是预制件,在游戏中被多次使用,以防万一有人想知道。所以任何人都可以告诉我我做错了在哪里可以有人引导我到正确的教程。谢谢你

(玩了一段时间后我能够获得1点它不会增加而且我收到此错误) 你调用的对象是空的。 它指的是这条线。

void Update () {
         scoretext.text = ballValue.ToString();

     }
好吧我们刚刚发现真正的问题,正如我所说的那个桶是一个随机生成的预制件,就像在飞鸟中的管道一样,所以在创建我的核心系统后,我将文本ui拖放到给定的位置,我应用更改并删除该预制件,当我返回资产并检查预制文本的给定位置是否为no时,我如何将文本ui直接链接到脚本,以便它不会自己动手。

1 个答案:

答案 0 :(得分:0)

解决这个问题的一种方法是使用一个静态类来保存分数,然后让你的桶调用静态类中的方法来提高分数。

然后,您需要做的就是拥有一个带有静态类的空游戏对象。