Unity制作一个简单抽卡系统(简单好抄)

news2024/12/23 23:13:46

业务流程:点击抽卡——>播放动画——>显示抽卡面板——>将随机结果添加到面板中——>关闭面板

1.准备素材并导入Unity中(包含2个抽卡动画,抽卡结果的图片,一个背景图片,一个你的展示图片)

2.给主摄像机添加2个视频播放组件,将画布的渲染模式改为摄像机并将摄像机拖到这里来(这一步非常重要,不然无法正常播放抽卡动画)

3.将抽卡动画拖到视频播放器组件的视频剪辑中,将渲染模式改为摄像机近平面,取消唤醒时播放

4.制作抽卡面板(展示面板),新建两个原始图像,将抽卡背景拖到纹理这里,同样的方法将展示用的图片也拖到另一个原始图像中(调整连个原始图像的大小),然后添加2个按钮

5.制作抽卡结果的画布(以10连为例)

第一步:新建一个面板并在颜色这里改变它的透明度和颜色改为你喜欢的颜色,并添加Grid Layout Group这个组件(这个组件能帮助我们快速实现格子类的布局)

第二步:在面板中添加10个原始图像,并修改面板中刚刚添加组件的属性(可以稍微修改一下,让他和你的抽卡结果的卡片适配,可以自己拖一张进去看看效果),这里如果遇到新建的原始图像没显示在面板中,不要慌,当你修改Grid Layout Group组件的值的时候他会自动帮你调好位置(我遇到的时候是这样的)。

第三步:用同样的方法制作单抽的面板(把面板命个名,方便后期查找)

第四步:隐藏两个面板

6.编写脚本(以10连为例)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;

public class Choukabutton2 : MonoBehaviour
{
    public VideoPlayer chouka2;//视频播放组件
    public GameObject danchouplan2;//十连的面板

    public Texture2D[] tuxaigns;//这个是抽卡结果纹理集合
    public RawImage[] rawImages;//原始图像合集
    void Start()
    {
        chouka2.Stop();
        danchouplan2.SetActive(false);//影藏抽卡画布
        // 注册事件监听器
        chouka2.loopPointReached += OnVideoEnd;
    }
    public void click()
    {
        chouka2.Play();
    }
    private void OnVideoEnd(VideoPlayer source)
    {
        // 停止视频播放
        chouka2.Stop();
        danchouplan2.SetActive(true);//显示抽卡结果
        for (int i = 0; i < 10; i++)
        {
            rawImages[i] = rawImages[i].GetComponent<RawImage>();
            int w = Random.Range(0,4);//我这里有4中抽卡结果所以随机的是(0,1,2,3)这4个数,这个数字根据你的抽卡结果数自己更改。你也可以在这里添加保底机制什么的。
            rawImages[i].texture = tuxaigns[w];
        }
    }
}

7.先将脚本加到10连按钮上,然后点击加号给按钮绑定事件,将10连按钮拖到对象这个位置

8.给按钮选择点击事件

 

9.将素材1脚本中(这里步骤有点多,一步一步来)

第一步:将10连的动画拖进来(这里有个方法先将这个带脚本的组件锁定然后再点击主摄像机(刚刚添加视频播放组件的那个),然后打开它的属性面板将动画播放控制器拖进来)

第二步:将十连的面板拖到这里

第三步:将10连的画布上的原始图像和抽卡结果与脚本绑定(上面这个数添你抽卡结果种类的数量,下面就填10(因为这是10连))

第4步:将结果图片和原始图像拖到对应位置(别漏掉就行)

第五步:其实到可以就可以点击10连查看效果了(如果大小不合适可以再去调一下10连面板的大小)

10.用同样的方法给单抽制作点击事件(这里就不过多描述了,这里是单抽的脚本)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;

public class Choukabutton1 : MonoBehaviour
{
    public VideoPlayer chouka;
    public  GameObject danchouplan;//单抽的面板
    public Texture2D[] tuxaigns;//纹理集合
    public RawImage rawImage;//原始图像
    void Start()
    {
        chouka.Stop();
        danchouplan.SetActive(false);//影藏抽卡画布
        // 注册事件监听器
        chouka.loopPointReached += OnVideoEnd;
    }
    public  void click() 
    {
        chouka.Play();
    }
    private void OnVideoEnd(VideoPlayer source)
    {
        // 停止视频播放
        chouka.Stop();
        danchouplan.SetActive(true);//显示抽卡结果
        int w = Random.Range(0, 5);//生成随机数
        rawImage.texture = tuxaigns[w];//更换纹理
    }
}

11. 新建一个脚本添加关闭面板功能(这里点击抽卡过后我们的画布会一直显示,所以这里给屏幕添加一个点击事件,如果抽卡结束后,当玩家点击屏幕的时候,就判断抽卡面板是否显示,如果显示就关闭它)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Planclose : MonoBehaviour
{
    public GameObject choukaplan1;
    public GameObject choukaplan2;
    private void Update()
    {
        if (Input.GetMouseButton(0))
        {
            if (choukaplan1 != null && choukaplan1.activeSelf)
            {
                choukaplan1.SetActive(false);
            }
            if (choukaplan2 != null && choukaplan2.activeSelf)
            {
                choukaplan2.SetActive(false);
            }
        }
    }
}

将脚本挂到一个空对象上,并将10连和单抽的面板拖到这里来就可以了。 

 

到这里就全部结束了,这篇文章对你有帮助不要忘记点击关注哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1878850.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac电脑游戏推荐:NBA 2K24 街机版下载

NBA 2K24 街机版是一款由2K Sports开发并发行的篮球游戏&#xff0c;属于著名的NBA 2K系列。这款游戏为玩家提供了与NBA联赛中真实球员和球队互动的机会&#xff0c;体验篮球比赛的激情与紧张。街机版的NBA 2K24通常会在游戏厅、商场等公共场所设置&#xff0c;供玩家投币游玩。…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-48全连接卷积神经网络(FCN)

48全连接卷积神经网络&#xff08;FCN&#xff09; 1.构造函数 import torch import torchvision from torch import nn from torch.nn import functional as F import matplotlib.pyplot as plt import liliPytorch as lp from d2l import torch as d2l# 构造模型 pretrained…

如何在 Linux 中后台运行进程?

一、后台进程 在后台运行进程是 Linux 系统中的常见要求。在后台运行进程允许您在进程独立运行时继续使用终端或执行其他命令。这对于长时间运行的任务或当您想要同时执行多个命令时特别有用。 在深入研究各种方法之前&#xff0c;让我们先了解一下什么是后台进程。在 Linux 中…

数字图像处理期末复习题1

个人名片&#xff1a; &#x1f393;作者简介&#xff1a;嵌入式领域优质创作者&#x1f310;个人主页&#xff1a;妄北y &#x1f4de;个人QQ&#xff1a;2061314755 &#x1f48c;个人邮箱&#xff1a;[mailto:2061314755qq.com] &#x1f4f1;个人微信&#xff1a;Vir2025WB…

甄选范文“论云上自动化运维及其应用”,软考高级论文,系统架构设计师论文

论文真题 云上自动化运维是传统IT运维和DevOps的延伸,通过云原生架构实现运维的再进化。云上自动化运维可以有效帮助企业降低IT运维成本,提升系统的灵活度,以及系统的交付速度,增强系统的可靠性,构建更加安全、可信、开放的业务平台。 请围绕“云上自动化运维及其应用”…

PICO 4S泄露信息更新,配备骁龙XR2 Gen 2,单眼分辨率2160×2160

根据最新的泄露信息汇总&#xff0c;PICO 4S确实有望成为一款高性能的VR头显&#xff0c;其核心规格和特性包括&#xff1a; 处理器与内存&#xff1a;搭载了高通骁龙XR2 Gen 2芯片组&#xff0c;这是针对VR/AR设备优化的高端处理器&#xff0c;能提供更强大的计算能力和效率。…

利用BFS或动态规划解决路径算法问题

最小路径和和不同路径 一、力扣64. 最小路径和1.找出DP状态2.找出DP状态转移方程3. 算法实现 二、力扣62. 不同路径思路1&#xff1a;BFS实现思路2&#xff1a;动态规划 一、力扣64. 最小路径和 给定一个包含非负整数的 m x n 网格&#xff0c;请找出一条从左上角到右下角的路…

浅谈如何在linux上部署java环境

文章目录 一、部署环境1.1、JDK1.2、Tomcat1.3、MySQL 二、将自己写的的程序部署到云服务器上 一、部署环境 为了在linux上部署 Java web 程序&#xff0c;需要安装一下环境。 1.1、JDK 直接使用 yum 命令安装 openjdk。我们 windows系统上 下载的是 oracle 官方的 jdk。而 …

Redisson框架

1. Redisson锁与Redis订阅与发布模式的联系&#xff1a; Redisson锁中&#xff0c;使用订阅发布模式去通知等待锁的客户端&#xff1a;锁已经释放&#xff0c;可以进行抢锁。 publish channel_name message&#xff1a;将消息发送到指定频道 解锁时&#xff0c;在Lua解锁脚本…

vue开发网站--关于window.print()调取打印

1.vue点击按钮调取打印 点击按钮&#xff1a; 调取打印该页面&#xff1a; <div click"clickDown()">下载</div>methods: {//下载-调取打印clickDown() {window.print()}, }<style>/* 点击打印的样式 */media print {.clickDown {display: no…

昇思25天学习打卡营第七天|模型训练

背景 提供免费算力支持&#xff0c;有交流群有值班教师答疑的华为昇思训练营进入第七天了。 今天是第七天&#xff0c;前六天的学习内容可以看链接 昇思25天学习打卡营第一天|快速入门 昇思25天学习打卡营第二天|张量 Tensor 昇思25天学习打卡营第三天|数据集Dataset 昇思25天…

Altair SimSolid无网格快速结构仿真软件

Altair SimSolid软件作为一款快速无网格划分工具&#xff0c;凭借其独特的算法和计算能力&#xff0c;简化了工程师和分析师在进行复杂结构分析时的操作。它不仅提高了分析效率&#xff0c;降低了出错的可能性&#xff0c;还为用户提供了丰富的分析功能和直观易用的操作体验。在…

3、Redis集群原理分析

槽定位 (Slot Mapping): Redis Cluster 将所有数据划分为 16384 个槽位&#xff08;slots&#xff09;&#xff0c;每个槽位由一个或多个节点负责管理。Redis 集群通过 CRC16 哈希算法来计算每个 key 的哈希值&#xff0c;并对 16384 取模以确定该 key 应该存储在哪个槽位上。…

名企面试必问30题(十)——你有自己的方法论吗?

1.思路 第一&#xff0c;方法论指的是做某些事情或业务的套路&#xff0c;但它没有绝对的正确性&#xff0c;每个人都可以拥有专属的方法论。 第二&#xff0c;方法论必定源自于自身实战经验的总结。 2.参考解答 “在软件测试工作中&#xff0c;我逐渐形成了自己的一套方法论。…

Elasticsearch 聚合查询简介

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

技术赋能教育:校园3D电子地图与AR导航解决方案

随着高考的落幕&#xff0c;又一批新鲜血液即将注入大学校园。面对陌生的环境&#xff0c;如何快速适应、准确找到目标地点&#xff0c;成为新生们的一大难题。同时&#xff0c;对于学校而言&#xff0c;如何向报考人员直观展示校园环境&#xff0c;提供沉浸式参观体验&#xf…

VMware ESXi 8.0U3 macOS Unlocker OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动

VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成驱动版&#xff0c;新增 12 款 I219 网卡驱动 VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0U3 集成驱动版&#xff0c;在个人电脑上运行企业级工作负载 请访…

kaggel-汽车价格预测项目

1.读取数据&#xff0c;查看数据基本概况 import pandas as pd datapd.read_csv(r./car_price_prediction.csv)#查看前5行数据 print(data.head(5))output:ID Price Levy ... Wheel Color Airbags 0 45654403 13328 1399 ... Left wheel Silve…

llama3模型部署时遇到的问题及解决方案

在llama3模型部署时&#xff0c;会遇到一系列问题&#xff0c;这里就作者所遇到的问题与解决方法分享一下。 注意&#xff1a;这里是从llama3 github主页上给的方法一步步做的&#xff0c;不适用于其他部署大模型的方法。 文章目录 ERROR 403&#xff1a;Forbidden安装依赖时出…

50-3 内网信息收集 - 域环境搭建

搭建准备: 在搭建准备阶段,我们需要准备三台 Windows 虚拟机:Windows Server 2012、Windows 7 和 Windows Server 2008。接下来,我们将配置 Windows Server 2012 作为域控制器,而 Windows 7 和 Windows Server 2008 将作为成员机加入域。建议保持这三台虚拟机的内存不超过…