unity游戏画质设置功能实现

在游戏中往往会出现游戏画质设置的功能。

如图:

这个功能是怎么实现完成的呢?

一、目标:实现切换画质功能

二、了解unity支持的画质

首先要了解unity中共支持多少种画质。

在代码中也可以进行打印。

方法如下:

void Start () {//画质有哪些for (int i = 0; i < QualitySettings.names.Length; i++){Debug.Log("画质类型有这些:"+QualitySettings.names[i].ToString());}}

主要的API就一个:QualitySettings。

上述代码运行结果如图:

由此可见unity有6种画质类型。(当前版本unity2020版)

------下面制作一个简易的菜单用来实现切换不同画质的功能--------

三、制作UI菜单

新建Dropdown,调整好UI的位置在左上角。

运行一下,可以看到新建的下拉菜单默认的UI是Option A,Option B,Option C        

我们可以在属性了进行修改:

然后还可以在加号的地方添加新的选项:

这样在UI里

本案例里只做了四种画质。

将切换画质方法的脚本setquality挂载到物体Dropdown上。

四、画质功能切换代码

如下:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;public class setquality : MonoBehaviour {private List<string> Qualitylevels;// Use this for initializationvoid Start () {//画质有哪些for (int i = 0; i < QualitySettings.names.Length; i++){Debug.Log("画质类型有这些:"+QualitySettings.names[i].ToString());}}public void Set_Quality(){int qualitynumberchanged = 5;//画质高低,代表画质质量高低,数值越大画质越好。if (this.GetComponentInChildren<Text>().text == "极致"){qualitynumberchanged = 5;//画质高低QualitySettings.SetQualityLevel(qualitynumberchanged, true);//修改画质代码Debug.Log("当前画质:" + QualitySettings.names[qualitynumberchanged].ToString());}if (this.GetComponentInChildren<Text>().text == "高清"){qualitynumberchanged = 4;//画质高低QualitySettings.SetQualityLevel(qualitynumberchanged, true);Debug.Log("当前画质:" + QualitySettings.names[qualitynumberchanged].ToString());}if (this.GetComponentInChildren<Text>().text == "标清"){qualitynumberchanged = 3;//画质高低QualitySettings.SetQualityLevel(qualitynumberchanged, true);Debug.Log("当前画质:" + QualitySettings.names[qualitynumberchanged].ToString());}if (this.GetComponentInChildren<Text>().text == "流畅"){qualitynumberchanged = 1;//画质高低QualitySettings.SetQualityLevel(qualitynumberchanged, true);Debug.Log("当前画质:" + QualitySettings.names[qualitynumberchanged].ToString());}}}

五:代码与UI绑定

然后在Dropdown上的On Value changed中放置绑定脚本的物体。如图:

然后在右侧将脚本中的方法选中。

六、运行游戏测试

如下:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大河弯弯:CSS 文档流与三大元素显示模式

文章目录 参考环境文档流概念三大显示模式 内联元素概念常见的内联元素宽高由内容决定 块级元素概念常见的块级元素宽度受容器影响&#xff0c;高度受内容影响 内联块级元素概念常见的内联块级元素折中方案 设置元素的显示模式display 属性内联元素与块级元素的切换为什么要通过…

【CSS】常见 CSS 布局

1. 响应式布局 <!DOCTYPE html> <html><head><title>简单的响应式布局</title><style>/* 全局样式 */body {font-family: Arial, sans-serif;margin: 0;padding: 0;}/* 头部样式 */header {background-color: #333;color: #fff;padding: …

【JVM系列】- 探索·运行时数据区的私有结构

探索运行时数据区的私有结构 文章目录 探索运行时数据区的私有结构运行时数据区的结构与概念认识线程了解守护线程和普通线程JVM系统线程 程序计数器&#xff08;PC寄存器&#xff09;概述PC寄存器的特点PC寄存器的作用 透过案例了解寄存器为什么需要用PC寄存器来存放字节码的指…

随机森林算法(Random Forest)的二分类问题

二分类问题 1. 数据导入2. RF模型构建2.1 调参&#xff1a;mtry和ntree2.2 运行模型 3. 模型测试4.绘制混淆矩阵5.绘制ROC曲线6. 参考 1. 数据导入 library(dplyr) #数据处理使用 library(data.table) #数据读取使用 library(randomForest) #RF模型使用 library(caret) # 调参…

河南工业大学人工智能与大数据学院学子在第三届“火焰杯”软件测试开发选拔赛中 取得佳绩

近日&#xff0c;第三届“火焰杯”软件测试开发选拔赛落下帷幕&#xff0c;我校人工智能与大数据学院选派的多名参赛选手在王雪涛老师的指导下&#xff0c;经过激烈的角逐&#xff0c;取得优异成绩。其中&#xff0c;何鸿彬&#xff0c;贾文聪获得决赛二等奖&#xff0c;王静宇…

【前段基础入门之】=>CSS3新增渐变颜色属性

导语&#xff1a; CSS3 新增了&#xff0c;渐变色 的解决方案&#xff0c;这使得我们可以绘制出更加生动的炫酷的的配色效果 线性渐变 多个颜色之间的渐变&#xff0c; 默认从上到下渐变 background-image: linear-gradient(red,yellow,green); /*默认从上到下渐变*/默认从上…

常用Web安全扫描工具汇整

漏洞扫描是一种安全检测行为&#xff0c;更是一类重要的网络安全技术&#xff0c;它能够有效提高网络的安全性&#xff0c;而且漏洞扫描属于主动的防范措施&#xff0c;可以很好地避免黑客攻击行为&#xff0c;做到防患于未然。 1、AWVS Acunetix Web Vulnerability Scanner&a…

javaEE -5(8000字详解多线程)

一&#xff1a;JUC(java.util.concurrent) 的常见类 1.1 ReentrantLock 可重入互斥锁. 和 synchronized 定位类似, 都是用来实现互斥效果, 保证线程安全&#xff0c;ReentrantLock 也是可重入锁. “Reentrant” 这个单词的原意就是 “可重入” ReentrantLock 的用法&#xf…

Java实现连接SQL Server解决方案及代码

下面展示了连接SQL Server数据库的整个流程&#xff1a; 加载数据库驱动建立数据库连接执行SQL语句处理结果关闭连接 在连接之前&#xff0c;前提是确保数据库成功的下载&#xff0c;创建&#xff0c;配置好账号密码。 运行成功的代码&#xff1a; import java.sql.*;publi…

【1024一起敲代码!】C#mysql/Sqlserver图书借阅管理系统期末设计源代码

本系统自带7800字报告,有两个版本&#xff0c;Mysql版本、Sqlserver版本&#xff0c; 介绍 架构设计主要体现在代码层的架构和窗体层调用的架构。 在窗体中&#xff0c;由Program.cs为入口&#xff0c;启动后直接调用LoginForm.cs进入登陆界面&#xff0c;登陆成功后进入主菜…

docker-compose安装ES7.14和Kibana7.14(有账号密码)

一、docker-compose安装ES7.14.0和kibana7.14.0 1、下载镜像 1.1、ES镜像 docker pull elasticsearch:7.14.0 1.2、kibana镜像 docker pull kibana:7.14.0 2、docker-compose安装ES和kibana 2.1、创建配置文件目录和文件 #创建目录 mkdir -p /home/es-kibana/config mkdir…

【JAVA学习笔记】40 - 抽象类、模版设计模式(抽象类的使用)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter10/src/com/yinhai/abstract_ 一、抽象类的引入 很多时候在创建类的时候有一个父类&#xff0c;比如animal类&#xff0c;他的子类会有各种方法&#xff0c;为了复用需要进行方法的重写&…

UML(Unified Modeling Language)统一建模语言,及工具介绍、使用

1. UML介绍&#xff1a; UML&#xff08;Unified Modeling Language&#xff09;统一建模语言。是一种图形化语言。 在UML 2.5 中共包含14种图形&#xff1a;类图、用例图、活动图、对象图、时序图、交互概述图、包图、配置文件图、部署图、组件图、组合结构图、状态机图、通…

Day07 Stream流递归Map集合Collections可变参数

Stream 也叫Stream流&#xff0c;是Jdk8开始新增的一套API (java.util.stream.*)&#xff0c;可以用于操作集合或者数组的数据。 Stream流大量的结合了Lambda的语法风格来编程&#xff0c;提供了一种更加强大&#xff0c;更加简单的方式操作 public class Demo1 {public stati…

真空室的内表面加工

真空室和部件的内表面是在高真空和超高真空下实现工作压力的重要因素。必须在该条件下进行加工&#xff0c;以最小化有效表面&#xff0c;并产生具有最小解吸率的表面。 真空室和部件的表面往往是在焊接和机械加工后经过精细玻璃珠喷砂的。具有限定直径的高压玻璃珠被吹到表面…

跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图

论文 Independent phenotypic plasticity axes define distinct obesity sub-types https://www.nature.com/articles/s42255-022-00629-2#Sec15 s42255-022-00629-2.pdf 论文中没有公开代码&#xff0c;但是所有作图数据都公开了&#xff0c;我们可以试着用论文中提供的数据…

一百九十二、Flume——Flume数据流监控工具Ganglia单机版安装

一、目的 在安装好Flume之后&#xff0c;需要用一个工具可以对Flume数据传输进行实时监控&#xff0c;这就是Ganglia 二、Ganglia介绍 Ganglia 由 gmond、gmetad 和 gweb 三部分组成。 &#xff08;一&#xff09;第一部分——gmond gmond&#xff08;Ganglia Monitoring Da…

群晖synology DSM 7.2设置钉钉Webhooks通知

现在越来越多的小伙伴都有了自己的Nas系统&#xff0c;为了更加方便的接收Nas的消息&#xff0c;这篇文章带着大家一起配置一个钉钉&#xff08;机器人&#xff09;即时消息通知 首先登录钉钉的开放平台&#xff1a;开发者后台统一登录 - 钉钉统一身份认证 1.创建一个机器人&…

MYSQL(索引+SQL优化)

索引: 索引是帮助MYSQL高效获取数据的排好序的数据结构 1)假设现在进行查询数据&#xff0c;select * from user where userID89 2)没有索引是一行一行从MYSQL进行查询的&#xff0c;还有就是数据的记录都是存储在MYSQL磁盘上面的&#xff0c;比如说插入数据的时候是向磁盘上面…

十三水中各种牌型判断LUA版

近期回归程序行业&#xff0c;由于业务需求需要做十三水游戏&#xff0c;什么是十三水就不在多讲&#xff0c;下面是判断十三水牌型的方法&#xff08;带大小王&#xff09; GetSSSPaiType {}; local this GetSSSPaiType; local huaseTable {}; local numTable {}; functi…