【Unity2D入门】制作一款简单的猜数字游戏之编写逻辑脚本

这篇博客介绍了如何在Unity中编写C#脚本来创建一个数字猜谜游戏。游戏逻辑是玩家在1到1000之间想一个数,程序通过随机猜测并根据玩家反馈(更高或更低)来逐步逼近正确答案。关键点包括脚本继承MonoBehavior类,使用Start()和Update()等回调函数,以及通过public方法与UI按钮交互。通过预设体Prefab简化场景复用,并展示了如何将脚本功能挂载到Button上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标:

今天教大伙怎么编写Unity脚本,缺少脚本的加持再强大的组件也都是假的

简单介绍一下Untiy的C#的脚本是怎么样的

首先它是继承MonoBehavior类的,只有继承了这个类才能使用Unity的组件如Tranform,Rigibody

其次是有引用命名空间用using,固定有using System.Collections;
using System.Collections.Generic;
using UnityEngine;

其实前两个一般用不到

然后就是类class,它继承了MonoBehavior类,而且不用main()函数和构造函数,取而代之的是回调函数,有很多回调函数如Awake(),Start()初始化用和Update()每帧调用,其它的就不介绍了。

成员变量只有public和用特性[SerializeField]才能在Inspetor面板显示出来序列化。


学习内容:

猜字代码的逻辑在于,玩家想一个1到1000的数,让计算机来猜,刚开始给1和1000的随机数,然后玩家来点击Higher或是Lower,随后更新中间值直至猜到数。

代码NumberWizard.cs如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class NumberWizard : MonoBehaviour
{
    [SerializeField] int min;
    [SerializeField] int max;
    [SerializeField] TextMeshProUGUI guessText;

    int guess;
    void Start()
    {
        guess = Random.Range(min,max+1);
        guessText.text = guess.ToString();
        max += 1;
    }

    public void OnPressedHigher()
    {
        max = guess - 1;
        NextGuess();
        
    }
    public void OnPressedLower()
    {
        min = guess+1;
        NextGuess();
    }
    void NextGuess()
    {
        guess = Random.Range(min, max + 1);
        guessText.text = guess.ToString();
    }
}

其中Start()中是游戏一开始运行时就要执行的,

而后面的函数用public是添加事件给Button按键,相当于JAVA中的委托


 我们先创建一个空对象叫GamePlay,然后给它刚刚写的脚本(直接拽进来)拖到Project面板中作为预设体Prefab,这样可以在不同场景直接拖预设体进来避免重复创建的麻烦。 在Higher和Lower的OnClick()找到我们写的public的方法OnPressedLower()和OnPressedHigher();

当我们点击按钮时他们会执行写的方法

学习产出:

由此我们成功制作出一款通过按钮点击来触发函数的代码。

并且将其挂载到Button上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值