猿创征文| Unity简单实现跑马灯抽奖

Posted SYFStrive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猿创征文| Unity简单实现跑马灯抽奖相关的知识,希望对你有一定的参考价值。

@作者 : SYFStrive

 

@博客首页 : HomePage

🥧: 抽奖小案例

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗

💃:程序员每天坚持锻炼💪

🔗:直接阅读文章



👉 Unity案例专栏(🔥)
👉 DOTween使用(🔥)

目录


案例说明及实现效果

主要实现功能 : 跑马灯抽奖

概率随机(1~100)右上角的数值为概率值(这99属实抽了我1个小😂)

跑马灯的实现步骤:动态创建奖品个数,如这个小案例就动态创建了8给奖品 👉 拿到这八个位置利用携程与这八个位置直接让遮罩框跑就行了 效果如👇

动态创建对应的奖品~CreateChouJiangAperture

CreateChouJiangAperture

脚本功能说明:动态创建奖品个数、显示到UI,通过简单遍历到相应的位置(这里还没优化可以自己优化一下) 👉 创建中间的按钮时设置对应的图片即可、设置对应的组件……

(代码还没优化后期优化)

主要逻辑脚本~LotteryLogic

LotteryLogic

脚本功能说明:抽奖主要逻辑 👉 完成抽奖遮罩跑动 👉 设置中奖概率 👉 完成中奖ID 👉 显示中奖红包

完成抽奖遮罩跑动

private void SetShade(int index)

  shadeTransfrom.position = imgArr[index].position;
  // 中奖&&index == 中奖ID
  if (isWinning && index == ID)
  
    //是否抽奖
    isStartLottery = false;
    //抽奖结束
    lotteryEnd = true;
    //显示中将的ID号
    Debug.Log("恭喜您中奖奖品ID为" + index + "号");
    //UI显示中级ID
    showIDText.text = "抽中的ID为:"+index.ToString();
    //显示奖品
    WinningManager.Instance.ShowRedPacket(index);
  

设置中奖概率

private void StartOnClickChouJiangFun()

  //只有不在抽奖的时候才可以继续抽奖
  if (!isStartLottery)
  
    // 随机抽中ID 12345678
    ID = Random.Range(0, 100);
    if (ID > 98) //2
    
      ID = 7;
    
    else if (ID > 97) //3
    
      ID = 6;
    
    else if (ID > 96.5f) //4.5
    
      ID = 5;
    
    else if (ID > 96.4f) //4.6
    
      ID = 4;
    
    else if (ID > 96.3f) //4.7
    
      ID = 3;
    
    else if (ID > 96.2f) //4.8
    
      ID = 2;
    
    else if (ID > 96.1f) //4.9
    
      ID = 1;
    
    else
    
      ID = 0;
    
    Debug.Log("开始抽奖,本次抽奖随机到的ID是:" + ID);
    //开始抽奖
    isStartLottery = true;
    //游戏结束
    lotteryEnd = false;
    //中奖
    isWinning = false;
    //开启携程
    StartCoroutine("StartChouJinagIE");
  

显示中奖红包

//显示奖品
WinningManager.Instance.ShowRedPacket(index);

LotteryLogic 如👇

奖品对应脚本~WinningManager

最后

本文到这里就结束了,大佬们的支持是我持续更新的最大动力,希望这篇文章能帮到大家💪

 

                 相关专栏连接🔗

下篇文章再见ヾ( ̄▽ ̄)ByeBye

以上是关于猿创征文| Unity简单实现跑马灯抽奖的主要内容,如果未能解决你的问题,请参考以下文章

猿创征文| Unity~DOTween相关使用

Unity之跑马灯抽奖效果单抽与连抽

猿创征文| Unity使用新输入系统InputSystem制作飞机大战Demo

猿创征文|我的技术成长之路&&C++

猿创征文|Java实现自定义注解

猿创征文|Unity开发实战—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)