栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

基于Unity hdrp制作的转盘抽奖程序

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Unity hdrp制作的转盘抽奖程序

因为社团里活动需要,所以用unity简单做了一个小抽奖程序,因为想玩sp所以贴了一堆乱七八糟的材质准备搞个废土风不过好像有点违和)。

抽奖的核心在于Unity中动画的设计,在前半段固定好的指针转速缓速变慢之后,最后也就是最慢的一圈会变成匀速旋转,这一圈内将由随机函数指定停止时间,借此便实现了转盘的效果。

核心代码(确实就这么点):

void Update()
{
    if (Input.GetKeyDown(KeyCode.Return) && !anim.GetBool("isRoll") && music.isPlaying)
    //当动画没有在进行且设置好的音乐正常播放时按下回车将开始随机
    {
        anim.SetBool("isRoll", true);
        music.Pause();
        roll.Play();//更换为转盘时的bgm
        float s = Random.Range(12f, 19f);
        Invoke("Stop", s);//将在计算好的时间段内随机停下指针的动画
    }
}
void Stop()
{
    over.Play();
    roll.Stop();
    anim.speed = 0f;
    Invoke("Open", 7);
}

由于本次抽奖形式为加权抽奖,因此为转盘的不同结果设计了不同的大小(即抽中概率),此外为了适应多种情况,程序内准备了多种转盘预设,可在程序内按键切换:

分别是8、7、6、5、4位抽奖者的情况(当然需要提前得出排名来加权)

 

 

 

 

场景模型是blender切的圆柱,扔到sp里随便放了几个材质就拿来用了,过于粗制滥造因此不留资源了,真的有想要的请私信我8)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号