Unity制作随机数字抽奖小案例

1. 搭建 UI 界面

  • Panel
    • Main(橙色背景图)
      • Numbers (空对象,用来存储抽奖格子)
        • 想要几位数的抽奖格子就创建几个Image,Image子对象只有Text,用来显示数字
      • Button (Luck Draw 按钮, 这是开始抽奖的按钮)
      • CountDown (倒计时文本)
      • Res (抽奖结果文本)


在这里插入图片描述


2. 实现思路

2-1. 创建 RandomNumber 类 [挂载在每个抽奖格子(Numbers下面的Image)]

思路:

  1. 让每一个抽奖格子都加上这个脚本,每个格子都有自己的随机数。
  2. 声明一个 num 来接收随机数。
  3. 由于会用协程来每帧调用, 所以封装成一个方法方便调用。
    • 方法内部:
      a. 生成随机数
      b.更改 Text 文本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class RandomNumber : MonoBehaviour 
{
   
    [HideInInspector]
	public int num = 0;
    [HideInInspector]
    public Text currentText;

    private void Awake()
    {
   
        currentText = GetComponent<Text>();
    }

    // 获取随机数并返回
    public int GetRandomNumber()
    {
   
        num = Random.Range(0, 10);
        currentText.text = num.ToString();
        return num;
    }

}

2-2. 创建 StartLuckDraw 类 (挂载在Main游戏对象)

思路:

  1. 获取全部带有 RandomNumber 的组件脚本。
  2. 开启协程用while(true)循环调用 yield return null 来达成Update的效果,每帧调用脚本里面的 GetRandomNumber 方法获取随机数。
  3. 创建一个字符串变量(str), 用for循环将每一个 随机数 添加到 字符串 里面。
  4. 最后结果用两个for循环生成大奖的结果来跟 str 对比, 结果一样就中大奖。

                
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值