C#从零开始学习(用户界面)(unity Lab4)

这是书本中第四个unity Lab

在这次实验中,将学习如何搭建一个开始界面

分数系统

点击球,会增加分数

csharp 复制代码
    public void ClickOnBall()
    {
        Score++;
    }

在OneBallBehaviour类添加下列方法

csharp 复制代码
    void OnMouseDown()
    {
        GameController controller = Camera.main.GetComponent<GameController>();
        controller.ClickOnBall();
        Destroy(gameObject);
    }

GameController

csharp 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameController : MonoBehaviour
{
    public GameObject OneBallPrefab;
    public int Score = 0;
    public bool GameOver = true;

    public int numberOfBalls = 0;
    public int MaximumBalls = 15;

    public Text ScoreText;
    public Button PlayAgainButton;
    // Start is called before the first frame update
    void Start()
    {
        InvokeRepeating("AddBall", 1.5F, 1);
    }
    public void ClickOnBall()
    {
        Score++;
        numberOfBalls--;
    }
    // Update is called once per frame
    void Update()
    {
        ScoreText.text = Score.ToString();
    }
    void AddBall()
    {
        if (!GameOver)
        {
            Instantiate(OneBallPrefab);
            numberOfBalls++;
            if (numberOfBalls >= MaximumBalls)
            {
                GameOver = true;
                PlayAgainButton.gameObject.SetActive(true);
            }
        }

    }
    public void StartGame()
    {
        foreach (GameObject ball in GameObject.FindGameObjectsWithTag("GameController"))
        {
            Destroy(ball);
        }
        PlayAgainButton.gameObject.SetActive(false);
        Score = 0;
        numberOfBalls = 0;
        GameOver = false;
    }
}

给游戏增加界面

增加界面

在UI中显示分数

点击Hierarchy中的text,在inspector窗口下修改

增加按钮调用

设置好后,将这些绑定

相关推荐
秋邱几秒前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
Three~stone6 分钟前
Matlab2025b的安装教程(附安装包和密钥破解文件)
学习·mysql·持续部署
爱学习的大牛12321 分钟前
如何系统学习网络渗透测试:从入门到精通的完整指南
网络·学习
落子摘星1 小时前
suricata学习杂记(一)
学习·modbus·suricata·pdu
charlie1145141911 小时前
深入理解C/C++的编译链接技术6——A2:动态库设计基础之ABI设计接口
c语言·开发语言·c++·学习·动态库·函数
white-persist1 小时前
【攻防世界】reverse | Reversing-x64Elf-100 详细题解 WP
c语言·开发语言·网络·python·学习·安全·php
AI绘画哇哒哒5 小时前
【收藏必看】大模型智能体六大设计模式详解:从ReAct到Agentic RAG,构建可靠AI系统
人工智能·学习·ai·语言模型·程序员·产品经理·转行
小奶包他干奶奶9 小时前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
小奶包他干奶奶9 小时前
Webpack学习——原理理解
学习·webpack·devops
励志成为美貌才华为一体的女子9 小时前
强化学习PPO和GRPO逻辑学习
学习