如何在C#中为Pong游戏创建记分板

时间:2019-09-09 07:45:54

标签: c# unity3d

我创建了一个工作的Pong游戏,该游戏可以跟踪比分。但是,当我将其导出(构建)到HTML5或Windows时,记分板无法正常工作。它甚至停止在Unity编辑器中工作。

我的问题是,有人知道我可以使用一个简单的工作记分板吗?

这是我用来记分的代码。

public class Count_Score : MonoBehaviour
{
public Text Scoreboard;
public GameObject ball;

private int Bat_1_Score = 0;
private int Bat_2_Score = 0;

// Start is called before the first frame update
void Start()
{
    ball = GameObject.Find("Ball");
}

// Update is called once per frame
void Update()
{
    if (ball.transform.position.x >= 13f)
    {
        Bat_1_Score++;
    }
    if (ball.transform.position.x <= -13f)
    {
        Bat_2_Score++;
    }

    Scoreboard.text = Bat_1_Score.ToString() + " - " + Bat_2_Score.ToString();
}

}

1 个答案:

答案 0 :(得分:0)

我建议您使用OnCollisionEnter2D。这比使用位置要好得多。

OnCollisionEnter2D可用于检查一个对象是否与另一个对象发生碰撞。

如果您有两个游戏对象(右壁和左壁),则可以检查球是否与它们碰撞。

例如:

// Attached to the left wall GameObject
private void OnCollisionEnter2D (Collision2D collision)
{
    Bat_2_Score++;
}

然后,您可以根据需要更新乐谱文本。我建议您在Update()方法中执行此操作。

确保您的球形和墙壁物体上都装有对撞机。