首页 > 解决方案 > 如何在 C# 中为 Pong 游戏创建记分牌

问题描述

我创建了一个可以跟踪分数的 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();
}

}

标签: c#unity3d

解决方案


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

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

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

例如:

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

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

确保您的球和墙壁对象附有对撞机。


推荐阅读