c# - 如何在 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();
}
}
解决方案
我建议你使用OnCollisionEnter2D
. 这比使用位置要好得多。
OnCollisionEnter2D可用于检查一个对象是否与另一个对象发生碰撞。
如果您有两个游戏对象(右墙和左墙),您可以检查球是否与它们发生碰撞。
例如:
// Attached to the left wall GameObject
private void OnCollisionEnter2D (Collision2D collision)
{
Bat_2_Score++;
}
然后,您可以根据需要更新乐谱文本。我建议您在 Update() 方法中执行此操作。
确保您的球和墙壁对象附有对撞机。
推荐阅读
- sql - 在 SQL 中的以下段上完成交叉表的正确方法是什么?
- scala - 如何检查一个值是否是 Scala 中的 unix 时间戳?
- c# - Azure 上的文件保存路径
- r - 通过对方程求微分来计算 OLS 估计量
- android - 如何避免基于 UI 语言拆分字符串
- machine-learning - LMDB 记录数据应该如何组织,以便 Caffe 的数据层可以读取它们?
- reactjs - React 对象条目不呈现任何内容
- matlab - 创建具有特定顺序的网格
- javascript - 重定向到 App.js 中 commponentDidMount 上的 url
- google-bigquery - 将日期系列减少到 BigQuery 中的最小表示形式