猿创征文| 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简单实现跑马灯抽奖的主要内容,如果未能解决你的问题,请参考以下文章