【Unitydemo制作】音游制作—模式玩法的实现

news2024/11/19 13:45:22

在这里插入图片描述


👨‍💻个人主页:@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创
👨‍💻 收录于专栏:就业宝典

🅰️推荐专栏

⭐-软件设计师高频考点大全



文章目录

    • 前言
    • 🎶(==3==) 选择模式面板逻辑
    • 🎶(==4==) 关卡模式面板逻辑
    • 🎶(==5==) 五个关卡场景逻辑
    • 🎶(==6==) 生存模式面板逻辑
    • 🅰️


前言



🎶(3 选择模式面板逻辑


在这里插入图片描述

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

//-------------------------------
//-------功能: 模式选择面板
//-------创建者:         -------
//------------------------------

public class SelectPanel : BasePanel 
{
    // Start is called before the first frame update
    void Start()
    {
       
        AllEvent();
    }

    // Update is called once per frame
    void Update()
    {

    }

   public void AllEvent()
    {
        GetControl<Button>("Button1").onClick.AddListener(() => {
            UIManager.GetInstance().RemovePanel ("SelectPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<LevelsMPanel>("LevelsMPanel"); //加载关卡模式选择面板     
        });
        GetControl<Button>("Button2").onClick.AddListener(()=> {
            UIManager.GetInstance().RemovePanel("SelectPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<EndlessMPanel>("EndlessMPanel"); //加载生存模式选择面板     
        });
        GetControl<Button>("Button3").onClick.AddListener(()=> {
            UIManager.GetInstance().RemovePanel("SelectPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<FreeMPanel>("FreeMPanel"); //加载自由模式选择面板     
        });
    
    }
}



🎶(4 关卡模式面板逻辑


  • 一共有五个关卡。每一个关卡的场景都不一样,并且音符下落的速度也不一样
    在这里插入图片描述
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

//-------------------------------
//-------功能:关卡模式面板         
//-------创建者:         -------
//------------------------------

public class LevelsMPanel : BasePanel
{
    public Text hight;
    void Start()
    {
        hight.text = DataContorl.GetInstance().foreverPalyerdata.AllScore .ToString(); //更新最高分
        AllEnvent();
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    public void AllEnvent()
    {
        //关卡按钮逻辑
        GetControl<Button>("level1").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除此面板   
            DataContorl.GetInstance().levelGame = true; //进入关卡模式
            SceneManager.LoadScene(1);
        });
        GetControl<Button>("level2").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除此面板   
            DataContorl.GetInstance().levelGame = true;

            SceneManager.LoadScene(2);
        });
        GetControl<Button>("level3").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除此面板   
            DataContorl.GetInstance().levelGame = true;

            SceneManager.LoadScene(3);
        });
        GetControl<Button>("level4").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除此面板   
            DataContorl.GetInstance().levelGame = true;
            SceneManager.LoadScene(4);
        });
        GetControl<Button>("level5").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除此面板   
            DataContorl.GetInstance().levelGame = true;
            SceneManager.LoadScene(5);
        });
        GetControl<Button>("Back").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<SelectPanel>("SelectPanel"); //加载模式选择面板
        });
        GetControl<Button>("rank").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<RankPanel1>("RankPanel1"); //加载模式选择面板
        });
      
    }
}


🎶(5 五个关卡场景逻辑


  • level1 ——下落的速度为3

在这里插入图片描述

在这里插入图片描述

  • level2——下落的速度为5
    在这里插入图片描述
    在这里插入图片描述
  • level3——下落的速度为8
    在这里插入图片描述

在这里插入图片描述

  • level4——下落的速度为10
    在这里插入图片描述
    在这里插入图片描述

  • level5——下落的速度为12

在这里插入图片描述
在这里插入图片描述


🎶(6 生存模式面板逻辑


  • 生存模式中的音符下降速度会越来越快

在这里插入图片描述

  • 生存模式场景
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

//-------------------------------
//-------功能: 生存模式面板
//-------创建者:         -------
//------------------------------

public class FreeMPanel : BasePanel
{
    public Text hight;
    public Text speed;
    public Slider slider;
    public AudioClip[] audioClips = new AudioClip[5];
    public Dropdown dropdown;//下拉列表
    void Start()
    {
        for (int i = 0; i < audioClips.Length; i++)
        {
            DataContorl.GetInstance().audioClip[i] = audioClips[i];
        }

        hight.text  = DataContorl.GetInstance().foreverPalyerdata.livingScore.ToString();
        AllEvent();
    }


    void Update()
    {
        DataContorl.GetInstance().index = dropdown.value; //获取下拉列表的值
        Debug.Log(dropdown.value);
        speed.text  = (slider.value*15) .ToString ();  //速度实时更新(最大设置为15)
        DataContorl.GetInstance().speed = slider.value * 15;  //设置速度
        
    }

    public void AllEvent()
    {
        //给返回按钮添加逻辑
            GetControl<Button>("Back").onClick.AddListener(() => {
            UIManager.GetInstance().RemovePanel("FreeMPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<SelectPanel>("SelectPanel"); //加载模式选择面板

        });

        //给开始按钮添加逻辑
        GetControl<Button>("Start").onClick.AddListener(() => {
           
            UIManager.GetInstance().RemovePanel("FreeMPanel");//移除此面板   
            DataContorl.GetInstance().livingGame = true;
            SceneManager.LoadScene(6);

        });
        GetControl<Button>("rank").onClick.AddListener(() =>
        {
            UIManager.GetInstance().RemovePanel("LevelsMPanel");//移除背景面板   
            UIManager.GetInstance().ShowPanel<RankPanel2>("RankPanel2"); //加载模式选择面板
        });

    }
}


🅰️


⭐【Unityc#专题篇】之c#进阶篇】

⭐【Unityc#专题篇】之c#核心篇】

⭐【Unityc#专题篇】之c#基础篇】

⭐【Unity-c#专题篇】之c#入门篇】

【Unityc#专题篇】—进阶章题单实践练习

⭐【Unityc#专题篇】—基础章题单实践练习

【Unityc#专题篇】—核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


在这里插入图片描述


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

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

相关文章

亚马逊开店详细教程(6)- 获得商品的评分

1. 为什么要参加 VINE计划 用户在浏览一个新上架的商品时&#xff0c;通常会参照以往买家的对商品的评论&#xff0c;如果你是新全的商品可能没有任何评论信息&#xff0c;这可以会让一部分用户对购买产品有所顾虑&#xff0c;参加亚马逊Vine计划能够帮助新产品快速获得高质量…

仪器校准中移液器的使用规范,应当注意哪些细节?

校准行业中&#xff0c;移液器的使用是非常多的&#xff0c;尤其是理化室&#xff0c;经常需要借助到移液器来校准。作为常规的溶液定量转移器具&#xff0c;其在校准过程中的使用也需要遵守规范&#xff0c;既是保证校准结果准确低误差&#xff0c;也是为了规范实验室校准人员…

C++实现基础二叉搜索树(并不是AVL和红黑树)

本次实现的二叉搜索树并不是AVL数和红黑树&#xff0c;只是了解流程和细节。 目录 二叉搜索树的概念K模型二叉搜索树的实现二叉搜索树的架构insert插入find 查找中序遍历Inorder删除earse替换法的思路情况一 &#xff1a;假如要删除节点左边是空的。在左边时在右边时 情况二&a…

罗德里格斯公式(旋转矩阵)推导

文章目录 1. 推导2. 性质3. 参考 1. 推导 r r r为旋转轴&#xff0c; θ \theta θ为旋转角度。 先将旋转轴单位化 u r ∣ ∣ r ∣ ∣ u\frac{r}{||r||} u∣∣r∣∣r​ 旋转可以被分为垂直和旋转两个方向&#xff0c; 我们求沿轴方向的分量其实就是在求 p p p向量在 u u u方…

新时代AI浪潮下,程序员和产品经理如何入局AIGC领域?

当下&#xff0c;AI浪潮席卷全球&#xff0c;AIGC大模型技术已经成为当今技术领域的一个重要趋势&#xff0c;对于产品经理来说&#xff0c;掌握这项技术不仅能够增强他们的职业技能&#xff0c;还能在竞争激烈的职场中脱颖而出。 为什么呢&#xff1f; 把握AI时代的机遇 AI技…

arcgisPro精确移动要素某一点至指定点位

1、打开要素&#xff0c;如下&#xff1a; 2、选择移动工具&#xff0c;如下&#xff1a; 3、选择需要移动的要素&#xff0c;如下&#xff1a; 4、按住Ctrl键&#xff0c;移动锚点的位置至三角形顶点位置&#xff0c;如下&#xff1a; 5、拖动锚点至上面多边形的左上角点&…

java语言概述和代码的编译

文章目录 前言 一、机器语言 二、汇编语言 三、高级语言 四、编写代码 打印字符串 求前n项和 五、问题及解决 总结 前言 计算机经过了多年的发展&#xff0c;已经诞生了很多编程语言&#xff0c;如早期的汇编语言&#xff0c;basic语言&#xff0c;现在的高级语言C语言java语言…

提取COCO 数据集的部分类

1.python提取COCO数据集中特定的类 安装pycocotools github地址&#xff1a;https://github.com/philferriere/cocoapi pip install githttps://github.com/philferriere/cocoapi.git#subdirectoryPythonAPI若报错&#xff0c;pip install githttps://github.com/philferriere…

为什么股票市场里有认贼为父的现象?

文章大纲&#xff1a;&#xff08;本文2648字&#xff0c;完整版本应该3500以上&#xff0c;耗时一个钟&#xff09; 1、前言&#xff1a;逻辑与博弈 2、直觉引入博弈焦点 3、上周4-5的市场博弈视角 4、下周一视角能看到的东西 5、视角背后看到的情绪周期市场共识下的博弈…

大摩:AI到“临界点”了,资管公司到了广泛部署的时刻

大摩表示&#xff0c;尽管AI技术在资产管理行业中的应用仍处于早期阶段&#xff0c;但其潜力巨大&#xff0c;能够为行业带来根本性的变革。预计生成式AI能够在资产管理公司的运营模型中带来20%至40%的生产力提升。 正文介绍 在全球经济面临诸多不确定因素的当下&#xff0c;…

事务管理控制

文章目录 1. 事务的基本概念2. 数据库的并发控制2.1 事务调度2.2 并发操作带来的问题2.3 并发调度的可串行性2.4 并发控制技术2.5 两段锁协议2.6 多粒度封锁协议 3. 数据库的备份与恢复3.1 数据库系统故障3.2 数据库的备份3.3 数据库的恢复 4. 数据库的安全性与完整性4.1 数据库…

01-Linux【准备篇】

一、学Linux的作用&#xff1f; 1.Linux下开发(部署)软件项目 2.Linux运维 二、Linux的强与弱 1.薄弱 个人桌面领域的应用 此领域是传统Linux应用薄弱的环节&#xff0c;近些年随着Ubuntu、fedora等优秀桌面环境的兴起&#xff0c;Linux在个人桌面领域的占有率在慢慢提高…

如何用AI工具提升日常工作效率,帮我们提速增效减负

昨天&#xff0c;coze海外版支持了GPT4o&#xff0c; 立马体验了下&#xff0c;速度杠杠的。 https://www.coze.com 支持chatGP和gemini模型&#xff0c;需要科学上网。国内 https://www.coze.cn支持语雀、KIMI模型。 这里回到正题&#xff0c; 如何用AI工具提升日常工作效率…

【LeetCode】30.串联所有单词的子串

串联所有单词的子串 题目描述&#xff1a; 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words ["ab","cd",&qu…

【智能算法应用】北方苍鹰算法求解二维栅格路径规划问题

目录 1.算法原理2.二维路径规划数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】北方苍鹰优化算法&#xff08;NGO)原理及实现 2.二维路径规划数学模型 栅格法模型最早由 W.E. Howden 于 1968 年提出&#xff0c;障碍物的栅格用黑色表示&#xff0c;可通过的…

草图大师怎么去画好一个建筑别墅su模型呢?

其实&#xff0c;我们经常画别墅的时候&#xff0c;都会要画别墅&#xff0c;我们画一个欧式风格的别墅&#xff0c;要在草图大师中创建一个优秀的建筑别墅模型&#xff0c;可以按照以下步骤进行&#xff1a; skp模型库 1.收集参考资料&#xff1a; 在开始之前&#xff0c;收集…

当前时机是否适合进入 AIGC 行业:行业发展与市场需求分析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

如何成为成功的AI产品经理

本文目录 1 AI产品经理的角色和职责 2 AI产品经理的必备知识技能 3 案例分析 4 总结一下 随着ChatGPT的大热&#xff0c;也带动今年的AI火了一把&#xff0c;很多公司都开始进行相关部署&#xff0c;自然产生了很多岗位需求。 来源&#xff1a;BOSS直聘 那么&#xff0c;要想当…

Training-Free Consistent Text-to-Image Generation # 论文阅读

URL https://arxiv.org/pdf/2402.03286 TL;DR 2024 年 2 月 nvidia 的文章。提出了一种不需要任何额外训练的主体保持方法&#xff0c;可以一次生成的 batch 中&#xff0c;通过多个 prompt 生成对应的多张图片&#xff0c;这些图片都可以拥有一个主体。 本文提出的方法通过…

【JavaEE 初阶(十)】JVM

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多进阶知识 目录 1.前言2.JVM内存区域划分3.类加载3.1双亲委派模型 4.垃圾回收&#xff08;GC&#xff0…