返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Unity实现老虎机滚动抽奖效果的示例代码
  • 955
分享到

Unity实现老虎机滚动抽奖效果的示例代码

2024-04-02 19:04:59 955人浏览 泡泡鱼
摘要

直接看下效果图吧: 制作思路: 设计四张图片,五个点,每个图片同时向下一个点移动,到最后一个就回到0号点,以此循环。 场景搭建: 创建Image命名为Bg作为电视框背

直接看下效果图吧:

choujiang

制作思路:

设计四张图片,五个点,每个图片同时向下一个点移动,到最后一个就回到0号点,以此循环。

1.2

场景搭建:

  • 创建Image命名为Bg作为电视框背景;
  • 创建Image命名Mask并添加Mask组件作为电视框内容显示遮罩框;
  • 创建四个Image作为滚动图片;
  • 创建开始抽奖按钮;

1.3

PS:实际项目中可以根据需求来动态修改图片显示,以达到的控制每次抽奖奖品内容。

源码分享:


using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class ScollToDraw : MonoBehaviour
{
      // 抽奖按钮
      public Button DrowBtn;
      
      // 奖励图片
      public Image[] ArardImgArr;

      // 转盘速度
      public float AniMoveSpeed = 3f;

      // 进度
      private float[] progress = new[] {0f, 1f, 2f, 3f, 4f};

      // 转动动画位置
      private Vector3[] AniPosV3 = new[]
            {Vector3.up * 240, Vector3.up * 120, Vector3.zero, Vector3.down * 120, Vector3.down * 240};

      // 自动暂停标识
      private bool isAutoStop;
      // 抽奖结束 停止刷新界面UI
      private bool isStopUpdatePos;
      
      void Start()
      {
            DrowBtn.onClick.AddListener(DrawFun);
            isAutoStop = false;
            isStopUpdatePos = false;
      }

      void Update()
      {
            if (isStopUpdatePos) return;
            
            float t = Time.deltaTime * AniMoveSpeed;
            for (int i = 0; i < ArardImgArr.Length; i++)
            {
                  progress[i] += t;
                  ArardImgArr[i].transfORM.localPosition = MovePosition(i);
            }
      }
      
      // 获取下一个移动到的位置
      Vector3 MovePosition(int i)
      {
            int index = Mathf.FloorToInt(progress[i]);
            if (index > AniPosV3.Length - 2)
            {
                  //保留其小数部分,不能直接赋值为0
                  progress[i] -= index; 
                  index = 0;
                  // 索引为2的到底了,索引为0的就在正中心
                  if (i == 2 && isAutoStop)
                  {
                        isStopUpdatePos = true;
                        Debug.Log("展示奖励界面...");
                        // todo...获取奖励数据维护
                  }
                  return AniPosV3[index];
            }
            else
            {
                  return Vector3.Lerp(AniPosV3[index], AniPosV3[index + 1], progress[i] - index);
            }
      }
      
      /// <summary>
      /// 点击抽奖
      /// </summary>
      void DrawFun()
      {
            isAutoStop = false;
            isStopUpdatePos = false;
            StartCoroutine(SetMoveSpeed(2));
            // DoTween 按钮下拉动画
            // Transform tran = DrowBtn.transform;
            //tran.DOLocalMoveY(-60, 0.2f).OnComplete(() =>
            //{
            //      tran.DOLocalMoveY(50, 0.2f);
            //
            //});
      }
      
      // 抽奖动画速度控制
      IEnumerator SetMoveSpeed(int time)
      {
            AniMoveSpeed = 10;
            yield return new WaitForSeconds(time);
            AniMoveSpeed = 1;
            yield return new WaitForSeconds(time);
            isAutoStop = true;
      }
}

到此这篇关于Unity实现老虎机滚动抽奖效果的示例代码的文章就介绍到这了,更多相关Unity老虎机滚动抽奖内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Unity实现老虎机滚动抽奖效果的示例代码

本文链接: https://lsjlt.com/news/124595.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Unity实现老虎机滚动抽奖效果的示例代码
    直接看下效果图吧: 制作思路: 设计四张图片,五个点,每个图片同时向下一个点移动,到最后一个就回到0号点,以此循环。 场景搭建: 创建Image命名为Bg作为电视框背...
    99+
    2024-04-02
  • Unity怎么实现老虎机滚动抽奖效果
    小编给大家分享一下Unity怎么实现老虎机滚动抽奖效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!直接看下效果图吧:制作思路:设计四张图片,五个点,每个图片同时...
    99+
    2023-06-14
  • Android实现老虎机小游戏代码示例
    用 Android studio软件写的一个老虎机小游戏 先上MainActivity.java 的代码。这里我用得定时器,本想用java线程,奈何安卓还不太会,应用会闪退。 p...
    99+
    2024-04-02
  • Vue组件实现数字滚动抽奖效果
    本文实例为大家分享了Vue组件实现数字滚动抽奖效果的具体代码,供大家参考,具体内容如下 可调整数字滚动速度,可指定开奖延迟时间,可指定开奖数字,按个人需求自行改动(录了个效果供参考,...
    99+
    2024-04-02
  • Qt实现字幕滚动效果的示例代码
    目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 利用QTimer实现字幕滚动功...
    99+
    2024-04-02
  • Java实现抽奖算法的示例代码
    目录一、题目描述二、解题思路三、代码详解四、优化抽奖算法解题思路代码详解一、题目描述 题目: 小虚竹为了给粉丝送福利,决定在参与学习打卡活动的粉丝中抽一位幸运粉丝,送份小礼物。为了公...
    99+
    2024-04-02
  • PHP实现抽奖系统的示例代码
    目录一、随机抽奖二、概率抽奖三、内定抽奖一、随机抽奖 随机抽奖当然是最公平的抽奖,就是当用户抽奖时随机返回抽奖结果 这种结果完全随机,不受人为控制,中奖全凭借运气 先定义奖池拥有的奖...
    99+
    2024-04-02
  • Unity实现跑马灯效果的示例代码
    目录一、效果二、需要动画插件DOTween三、脚本1.每个格子上的脚本文件2.管理脚本文件一、效果 二、需要动画插件DOTween 下载地址 三、脚本 1.每个格子上的脚本文件 u...
    99+
    2024-04-02
  • Unity实现卡片循环滚动效果的示例详解
    目录简介定义卡片的摆放规则调整卡片的层级关系调整卡片的尺寸大小动态调整位置、层级和大小移动动画按钮事件简介 功能需求如图所示,点击下一个按钮,所有卡片向右滚动,其中最后一张需要变更为...
    99+
    2022-12-09
    Unity卡片循环滚动效果 Unity循环滚动效果 Unity 滚动
  • Android UI 实现老虎机详解及实例代码
    Android UI 实现老虎机详解 listview 的使用步骤 简单的listview老虎机实现 1.实现效果图 2.需要掌握的知识 listview的使用步...
    99+
    2022-06-06
    老虎机 Android
  • Vue3实现九宫格抽奖的示例代码
    目录前言前期构思具体实现1、布局2、指定奖品3、抽奖最终效果前言 对象说晚饭吃什么太难选择,问我能不能做一个九宫格抽奖来决定我们晚上吃什么,emmm。 既然对象都开口了,不做也不行啊...
    99+
    2024-04-02
  • WPF实现抽屉菜单效果的示例代码
    WPF 实现抽屉菜单 框架使用大于等于.NET40;Visual Studio 2022;项目使用 MIT 开源许可协议;更多效果可以通过GitHub[1]|码云...
    99+
    2022-11-13
    WPF 抽屉菜单 WPF 菜单
  • JavaScript实现九宫格抽奖功能的示例代码
    目录效果图实现流程主要代码效果图 话不多说,直接上效果: 实现流程 主要流程为: 1. 根据效果图,构建静态页面 2. 获取元素(自带的属性) 3. 绑定事件 4. 事件触发之后 ...
    99+
    2024-04-02
  • QT实现年会抽奖小软件的示例代码
    目录一、效果展示:二、软件代码介绍1、工程目录2、核心代码之主类代码部分3、核心代码之线程类代码部分一、效果展示: 1、操作说明 下拉选择主题,点击开始按钮,开始滚动,再次点击停止,...
    99+
    2024-04-02
  • C#模拟实现抽奖小程序的示例代码
    目录1.抽奖主界面2.操作步骤2.1 抽奖界面2.2 抽奖结果导出3.源码3.1 数据库连接3.2 抽奖程序1.抽奖主界面 2.操作步骤 S键开始; 0、1、2、3、4、5键分别对...
    99+
    2024-04-02
  • Android DrawerLayout实现抽屉效果实例代码
     官网:https://developer.android.com/training/implementing-navigation/nav-drawer.html ...
    99+
    2022-06-06
    drawerlayout 抽屉 Android
  • Unity实现动物识别的示例代码
    接口介绍: 识别近八千种动物,接口返回动物名称,并可获取识别结果对应的百科信息;还可使用EasyDL定制训练平台,定制识别分类标签。适用于拍照识图、幼教科普、图像内容分析等场景 创建...
    99+
    2024-04-02
  • Java实现鼠标随机移动效果的示例代码
    目录前言实现代码效果图前言 疫情,需要远程办公,为了更好的远程办(划)公(水)。而我们公司因为没有想到会有大批量的远程办公,从而导致连接的人过多,需要抢占连接才能登录,而且好不容易抢...
    99+
    2024-04-02
  • 基于vue实现新闻自下往上滚动效果(示例代码)
    如图所示自下往上滚动鼠标放上暂停滚动 鼠标移出继续滚动 一、html: <div class="newsList" @mouseover="mouseOver" @mouse...
    99+
    2024-04-02
  • Unity实现高效的音效管理类的示例代码
    目录效果食用方式源码效果 自动维护一个 AudioSource的池子 如果超过了池子的峰值 池子会生成一个新的AudioSource对象来进行扩容 支持2D音效调用方式 publi...
    99+
    2023-03-22
    Unity实现音效管理类 Unity音效管理类 Unity音效管理
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作