Unity3D学习之UI系统——NGUI

news2024/10/1 19:20:30

文章目录

  • 1. 前言
  • 2 NGUI下载和导入
  • 3. NGUI三大组件
    • 3.1 Root组件
      • 3.1.1 分辨率概念
      • 3.1.2 Root的作用
      • 3.1.3 root脚本各组件
      • 3.1.4 总结
    • 3.2 Panel 组件
      • 3.2.1 Panel的作用
      • 3.2.2 Panel的控件
      • 3.2.3 总结
    • 3.3 EventSystem组件
      • 3.3.1 作用
      • 3.3.2 组件
      • 3.3.3 总结
  • 4 图集制作
    • 4.1 图集的作用
    • 4.2 打开图集制作工具
    • 4.3 新建图集
  • 5 三大基础控件
    • 5.1 Sprite 精灵图片
      • 5.1.1 创建Sprite
      • 5.1.2 Sprite 控件
      • 5.1.3 在代码中的Sprite
    • 5.2 Label文本控件
      • 5.2.1 创建Label
      • 5.2.2 Label控件
      • 5.2.3 代码控制
    • 5.3 Texture 大图控件
  • 6 组合控件
    • 6.1 Button组件
      • 6.1.1 添加Sprite组件
      • 6.1.2 添加Button脚本
      • 6.1.3 添加碰撞器
      • 6.1.4 组合
      • 6.1.5 button组件参数
      • 6.1.6 监听点击事件
      • 6.1.7 总结
    • 6.2 Toggle单选多选框
      • 6.2.1 创建toggle
      • 6.2.2 toggle控件
      • 6.2.3 监听事件
    • 6.3 Input文本输入
      • 6.3.1 Input文本创建
      • 6.3.2 Input组件
      • 6.3.3 监听事件的两种方式
    • 6.4 PopupList 下拉列表组件
      • 6.4.1 制作PopupList
      • 6.4.2 组件相关
      • 6.4.3 选择相关
      • 6.4.4 监听事件
    • 6.5 Slider滑动条控件
      • 6.5.1 创建
      • 6.5.2 参数
      • 6.5.3 监听函数
    • 6.6 ScrollBar 滚动条 和 ProgressBar进度条
      • 6.6.1 制作ScrollBar 滚动条
      • 6.6.2 制作 ProgressBar进度条
    • 6.7 ScrollView 滚动视图
      • 6.7.1 制作ScrollView
      • 6.7.2 ScrollView组件
      • 6.7.3 自动对齐脚本Grid
    • 6.8 Anchor 锚点组件
      • 6.8.1 老版本中(了解)
      • 6.8.2 新版本基础控件自带锚点信息
  • 7 NGUI进阶
    • 7.1 EventListener
    • 7.2 EventTrigger
    • 7.3 DrawCall
      • 7.3.1 如何降低DrawCall
    • 7.4 NGUI字体
      • 7.4.1 制作NGUI字体
      • 7.4.2 通过bmfont64 制作
      • 7.4.3 选择Unity字体和NGUI字体
    • 7.5 NGUI 缓动
      • 7.5.2 缓动参数
      • 7.5.3 输入事件和缓动关联PlayTween
    • 7.6 NGUI中显示3D模型和粒子特效
      • 7.6.1 用UI摄像机渲染
      • 7.6.2 用Render Texture渲染
      • 7.6.3 显示粒子特效
    • 7.7 NGUI 音效
    • 7.8 按键绑定
    • 7.9 PC端 tab键快速切换选中
    • 7.10 本地化


1. 前言

在这里插入图片描述

2 NGUI下载和导入

资源商店搜索
在这里插入图片描述
学习版自行搜索
在这里插入图片描述
在这里插入图片描述
导入即可
创建UI
在这里插入图片描述

3. NGUI三大组件

在这里插入图片描述
创建NGUI后,挂载在UI Root 和其 子Camera的脚本
在这里插入图片描述
在这里插入图片描述

3.1 Root组件

分辨率自适应模式的基础

3.1.1 分辨率概念

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

3.1.2 Root的作用

在这里插入图片描述

3.1.3 root脚本各组件

在这里插入图片描述
Minimun Height 和 Maximum Height
用于拖动窗口时,如果窗口变得很小了,UI不缩放的话,会挡住游戏,使用Flexible模式用于解决该问题,会在小于或着大于这两个值的时候,进行等比缩放

Shrink Portrait UI 竖屏时按宽度来适配

Adjust by DPI 勾选就是

在这里插入图片描述
Content Width 和 Content Height 是自适应屏幕时默认的分辨率
不勾选Fit 时 会裁剪,不会有黑边,始终会有UI填充屏幕
勾选Height 画布总是跟着屏幕高度缩放 (横屏游戏
勾选Width 画布总是跟着屏幕宽度缩放 (竖屏游戏
在这里插入图片描述

3.1.4 总结

在这里插入图片描述

3.2 Panel 组件

3.2.1 Panel的作用

管理渲染相关内容
在这里插入图片描述

3.2.2 Panel的控件

在这里插入图片描述
Depth 控制层级,层级越高的遮挡层级低的。要注意不同Panel最好不要在一个层级
Clipping 通过参数裁剪
在这里插入图片描述

在这里插入图片描述
排序层之后再讲
在这里插入图片描述

3.2.3 总结

在这里插入图片描述

3.3 EventSystem组件

3.3.1 作用

在这里插入图片描述

3.3.2 组件

在这里插入图片描述

UI模式是根据组件深度处理事件
World模式 根据距离著摄像机的远近来响应排序(这两个的主要区别在 眼睛看到在前面的,进行交互时UI模式点击看起来在被前面的窗口压在后面的,但被压在的那一层层级更高,会先相应被压在下面的UI)

EventMask 决定哪个层级接受事件
在这里插入图片描述
Debug就是测试时,你点击这个UI,会打印出来交互的时什么对象

在这里插入图片描述

3.3.3 总结

在这里插入图片描述

4 图集制作

4.1 图集的作用

在这里插入图片描述

4.2 打开图集制作工具

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

4.3 新建图集

点击New 新建

在这里插入图片描述
选择 加入图集的文件
在这里插入图片描述
创建图集,一般存放在Resources文件夹内,方便读取
在这里插入图片描述
有三个文件
1.图集文件
2.图集材质
3.图集图片

在这里插入图片描述

5 三大基础控件

在这里插入图片描述
公共内容
在这里插入图片描述

5.1 Sprite 精灵图片

在这里插入图片描述

5.1.1 创建Sprite

方式1
在这里插入图片描述
方式2
在这里插入图片描述

5.1.2 Sprite 控件

在这里插入图片描述
Atlas 选择图集
Sprite选择图集中的图片
Fiexed Aspect保持宽高比

sliced模式
点击Edit
在这里插入图片描述
拉伸Border,会根据九宫格进行拉伸。保证四个角不变化,只会拉伸中间的十字区域
在这里插入图片描述
Tiled 平铺模式
图片会重复绘制
在这里插入图片描述

Filled 填充模式
填充模式用于制作进度条、血条
在这里插入图片描述

在这里插入图片描述

5.1.3 在代码中的Sprite

在这里插入图片描述

在这里插入图片描述

5.2 Label文本控件

在这里插入图片描述

5.2.1 创建Label

NGUI - create - Lable

5.2.2 Label控件

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

Calmp Content
在这里插入图片描述
Resize freely
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
给Lable增加碰撞器,然后点击超链接可以转到超链接的网之
在这里插入图片描述
在这里插入图片描述

5.2.3 代码控制

在这里插入图片描述

在这里插入图片描述

5.3 Texture 大图控件

在这里插入图片描述

6 组合控件

在这里插入图片描述

6.1 Button组件

6.1.1 添加Sprite组件

在这里插入图片描述

6.1.2 添加Button脚本

在这里插入图片描述

6.1.3 添加碰撞器

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

6.1.4 组合

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

在这里插入图片描述

6.1.5 button组件参数

在这里插入图片描述
Transition 过渡时间 从某一个颜色编导另外一个颜色所需要的时间
Sprite 可以设置各个状态时的效果

6.1.6 监听点击事件

在这里插入图片描述
把Panel(挂载脚本的组件)拖入到button 的on click中
在这里插入图片描述

然后在Method选择 需要使用的函数
在这里插入图片描述
在这里插入图片描述
点击后
在这里插入图片描述
如果方法是私有,会找不到
同时可以添加多个监听函数
在这里插入图片描述
使用代码获得按钮对象监听

在这里插入图片描述
拖入
在这里插入图片描述
在这里插入图片描述
使用拉姆达表达式
在这里插入图片描述

在这里插入图片描述

6.1.7 总结

在这里插入图片描述

6.2 Toggle单选多选框

6.2.1 创建toggle

在这里插入图片描述
在这里插入图片描述
增加脚本和碰撞器
在这里插入图片描述

6.2.2 toggle控件

在这里插入图片描述
关联选中时的图片
在这里插入图片描述
加入Sprite后
未选中
在这里插入图片描述
选中
在这里插入图片描述

Starting state 一开始的选中状态
Invert State 反转状态

Group 多选框分组
在这里插入图片描述
如果只能选择一个
可以设置为同一个Group
在这里插入图片描述
State of None是这个Group必须要选中一个
在这里插入图片描述

6.2.3 监听事件

创建一个Panel用于挂载脚本
然后再Toggle上拖入函数
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如何知道哪一个Toggle选中,可以在Panel的脚本中设声明三个Sprite变量关联
在这里插入图片描述

在这里插入图片描述
然后给所有的Toggle关联Panel

分别选中
在这里插入图片描述
代码监听

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

6.3 Input文本输入

6.3.1 Input文本创建

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

6.3.2 Input组件

在这里插入图片描述

拖入Label
在这里插入图片描述
Input type
在这里插入图片描述

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

6.3.3 监听事件的两种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Panel装载脚本,关联Input的Sprite
在这里插入图片描述
input脚本里关联Panel的函数

在这里插入图片描述

测试的时候把回车改成提交

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

6.4 PopupList 下拉列表组件

如此类似的
在这里插入图片描述

6.4.1 制作PopupList

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

6.4.2 组件相关

在这里插入图片描述
在这里插入图片描述
选项 空一行一个组件
在这里插入图片描述
如果设置了之后没有反应,首先设置一下字体

在这里插入图片描述
出现了三个,很奇怪后面的参数可以设置
在这里插入图片描述

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

6.4.3 选择相关

选择这个脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4.4 监听事件

在这里插入图片描述
在这里插入图片描述
和之前一样的套路Panel挂载脚本,popupList关联事件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新加选项
在这里插入图片描述
在这里插入图片描述

6.5 Slider滑动条控件

在这里插入图片描述

6.5.1 创建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
NGUI的Slider是添加到背景的这个Sprite上
但是碰撞器 添加到 背景的Sprite上,用户按和拖动滑块都能进行移动,如果碰撞器 添加到 滑块的Sprite 上,用户只能通过拖动滑块进行移动

6.5.2 参数

在这里插入图片描述
steps 会等分成十份

6.5.3 监听函数

和其他控件一样,就一笔带过了
在这里插入图片描述

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

6.6 ScrollBar 滚动条 和 ProgressBar进度条

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

6.6.1 制作ScrollBar 滚动条

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

在这里插入图片描述

6.6.2 制作 ProgressBar进度条

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

6.7 ScrollView 滚动视图

在这里插入图片描述

6.7.1 制作ScrollView

在这里插入图片描述
在这里插入图片描述
子对象添加Drag Scorll View和碰撞器
在这里插入图片描述

6.7.2 ScrollView组件

在这里插入图片描述
Panel主要用于设置范围

在这里插入图片描述
改变可视范围
在这里插入图片描述
MoveMent 水平移动或者竖直移动
设置只能水平或者垂直 或者自由(左右都行
拖动
在这里插入图片描述
Drag Effect 类似于惯性 和 弹性 的效果

ScrollWheel Factor 滚动因子 滚动速度和方向
在这里插入图片描述
Momentum Amount动量 设置惯性大小
Sppring Strength 弹力大小
Dampen Strength 阻尼强度
Cancel Drag if fits 如果 内容没有超过 可视范围,决定此时能不能拖动

滚动条相关
在这里插入图片描述

自行设置,只要关联了,就会自动设置拖动条,运行前会自己计算在这里插入图片描述

6.7.3 自动对齐脚本Grid

为 ScrollView添加Grid脚本 自动对齐
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

手动排序
在这里插入图片描述
通过代码移除物品 更新滚动条
在这里插入图片描述

6.8 Anchor 锚点组件

在这里插入图片描述

6.8.1 老版本中(了解)

create 一个Anchor
在这里插入图片描述
在这里插入图片描述

6.8.2 新版本基础控件自带锚点信息

在这里插入图片描述
各大小是屏幕的
在这里插入图片描述
如果希望始终处于屏幕左上角
在这里插入图片描述
右上角
在这里插入图片描述
右中
在这里插入图片描述

7 NGUI进阶

NGUI提供了一些自带的函数,在挂载脚本时,NGUI会自动寻找这些方法。
在这里插入图片描述
在这里插入图片描述
创建一个只有碰撞器的Sprite
在这里插入图片描述
拖入这个脚本
按下时
在这里插入图片描述
其他函数同理
在这里插入图片描述

7.1 EventListener

在这里插入图片描述
首先挂载两个Sprite对象
在这里插入图片描述
为Sprite添加EventListenner 以及为委托添加函数
在这里插入图片描述

也可以自己添加函数
在这里插入图片描述

在这里插入图片描述

7.2 EventTrigger

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

在这里插入图片描述

7.3 DrawCall

在这里插入图片描述

7.3.1 如何降低DrawCall

Dra'w

在这里插入图片描述
同一个图集 如果在这两个同图集的图 中间的层级加入了其他图集,也会产生DrawCall,打断了合并渲染
要效率 还是要内存 可以自己决定

7.4 NGUI字体

在这里插入图片描述

7.4.1 制作NGUI字体

降低DrawCall
在这里插入图片描述
把文字导成图集
在这里插入图片描述
图集中多了
在这里插入图片描述
可以在Lebel中选择该图集

在这里插入图片描述
然后选择MyFont
优点在于减少DrawCall缺点在于不能动态改变文字

7.4.2 通过bmfont64 制作

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

在这里插入图片描述
可以导入TXT,记得改成带有BOM 的UTF-8

在这里插入图片描述
然后导入 + 生成
在NGUI中导入

在这里插入图片描述
在外部 可以 自定义美术字体
通过字体编号
这里48 是 0,然后替换这个字体

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

7.4.3 选择Unity字体和NGUI字体

在这里插入图片描述

7.5 NGUI 缓动

在这里插入图片描述### 7.5.1 使用缓动

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

7.5.2 缓动参数

在这里插入图片描述
有点像手游里一直膨胀缩小的图标

TweenGroup用于多个动画分组

Ignore TimeScale 用于在游戏暂停时依然播放特效

7.5.3 输入事件和缓动关联PlayTween

添加Play Tween参数
在这里插入图片描述
在这里插入图片描述
勾选 start State时value默认为0,意思是一开始的时候不会自动播放特效
PlayTween 和Tweener上的Group如果不相同,则不会管理这个Tweener
在这里插入图片描述
Trigger 触发的方式
在这里插入图片描述
记得加触发器
在这里插入图片描述

添加两个PlayTween

在这里插入图片描述

一各按压时管理缩放小,一个松开时管理放大
把两个PlayTween改为taggle

7.6 NGUI中显示3D模型和粒子特效

7.6.1 用UI摄像机渲染

在这里插入图片描述
更改为UI层
在这里插入图片描述
拖入3D模型
调整缩放和UI控件Z轴的距离
在这里插入图片描述

7.6.2 用Render Texture渲染

在这里插入图片描述
设置主摄像机不渲染我们要展示的模型
在这里插入图片描述

设置要渲染模型的摄像机渲染
在这里插入图片描述
设置UI 摄像机渲染UI层
在这里插入图片描述

在Panel中创建一张大图,拖入摄像机
在这里插入图片描述
tank托上去
在这里插入图片描述

7.6.3 显示粒子特效

在这里插入图片描述

在粒子特效中找到设置层级
在这里插入图片描述
在这里插入图片描述

7.7 NGUI 音效

在这里插入图片描述

在这里插入图片描述
选择触发什么音效时播放

7.8 按键绑定

添加KeyBinding脚本

在这里插入图片描述

7.9 PC端 tab键快速切换选中

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如果要打到tab切换,要所有的Sprite都添加这个脚本
然后记得添加碰撞器

7.10 本地化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
挂载LanguageSelection后

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

华为和苹果手机迁移备忘录数据方法

在数字时代,手机已成为我们生活的重要组成部分,而备忘录更是我们日常不可或缺的小助手。但当我们从华为切换到苹果,或从苹果转向华为时,如何确保那些重要的备忘信息不丢失,顺利迁移到新手机中呢? 我曾亲身…

Java实现加权平均分计算程序WeightedAverageCalculator

成绩加权平均分计算程序,带UI界面和输入保存功能。 因为本人对成绩的加权均分有所关注,但学校的教务系统查分时往往又不显示个人的加权均分,加之每次手动敲计算器计算很麻烦就花了点时间写了一个加权均分计算程序自用,顺便开源。…

Vue组件化-插槽Slot和非父子通信

一、认识插槽Slot作用 1.认识插槽Slot 在开发中,我们会经常封装一个个可复用的组件: 前面我们会通过props传递给组件一些数据,让组件来进行展示;但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固…

鸿蒙开发第2篇__装饰器

在ArkTS中, 有装饰器语法。 装饰器用于装饰类、结构、方法、变量,赋予其特殊的含义。 1. Component 表示自定义组件, 用此装饰器的组件是可重用的,可以与其他组件重合 此装饰器装饰的 struct 表示该结构体具有组件化能力&#…

3. MATLAB中Plot绘制放大特定的区域

在MATLAB中,我们经常需要绘制图形并进行一些自定义的操作。在本示例中,我们将演示如何在MATLAB中绘制一个图形,并通过放大某个特定的区域来突出显示。 ## 原始图形 首先,我们绘制了一个包含正弦和余弦函数的图形。 % MATLAB 代…

【STM32】STM32学习笔记-BKP备份寄存器和RTC实时时钟(42)

00. 目录 文章目录 00. 目录01. BKP简介02. BKP特性03. BKP基本结构04. RTC简介05. RTC主要特性06. RTC框图07. RTC基本结构08. 硬件电路09. RTC操作注意事项10. 附录 01. BKP简介 备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备…

设计模式_组合模式_Composite

案例引入 学校院系展示 编写程序展示一个学校院系结构: 需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系 【传统方式】 将学院看做是学校的子类,系是学院的子类,小的组织继承大…

【数据结构与算法】队列(Queue)

文章目录 1. 队列介绍2.队列代码实现(C语言) 往期相关文章推荐: 1.栈之浅谈数组和链表实现栈各自的优缺点 2.线性表之链表 3.线性表之顺序表 1. 队列介绍 队列是一种特殊的线性表,只允许在队尾插入数据,在队头删除数据…

HbuilderX报错“Error: Fail to open IDE“,以及运行之后没有打开微信开发者,或者运行没有反应的解决办法

开始 问题:HbuilderX启动时,打开微信开发者工具报错"Error: Fail to open IDE",以及运行之后没有打开微信开发者,或者运行没有反应的解决办法! 解决办法: 按照步骤一步一步完成分析,除非代码报错,否则都是可以启动的 第一步:检查HbuildX是否登录账号 第二步:检查微信…

Vue使用svg图片-svg-sprite-loader插件

需求:设计给的一个按钮图标是svg的,不是element自带的图标使用插件svg-sprite-loader svg-sprite-loader 什么是svg-sprite-loader? 将多个 svg 打包成 svg-sprite。svg 雪碧图。类似于 CSS 中的 Sprite 技术。图标图形整合在 一起&#xf…

数据仓库现代化和迁移解决方案Datametica

Datametica利用自动化将数据/工作负载/ETI/分析迁移到云,从而为企业提供支持。 Datametica是一家通过建立数据湖来帮助企业实现数据平台现代化的公司,该数据湖安全地保存结构化和非结构化数据。随着企业数据湖从各种来源收集大量数据,需要利…

AWS免费套餐——云存储S3详解

文章目录 前言一、为什么选择S3二、费用估算三、创建S3云存储注册账户登录账户创建存储桶关于官网相关文档 总结 前言 不论个人还是企业,日常开发中经常碰到需要将文档、安装包、日志等文件数据存储到服务器的需求。往常最常用的是云服务器,但是仅仅承担…

uniapp小程序:内存超过2mb解决方法(简单)message:Error: 上传失败:网络请求错误 代码包大小超过限制。

分析:这种情况是代码文件内存超过2mb无法进行预览上传 解决方法: 1、Hbuilder中点击运行-->运行到小程序模拟器--->运行时是否压缩代码 2、在微信小程序中点击详情--->本地设置: 3、点击预览即可运行了

数据结构篇-01:单调栈

单调栈是栈的一种,可以使得每次新元素入栈后,栈内的元素都保持有序(单调递增或者单调递减)。 单调栈的用途不太广泛,只处理一类典型的问题,比如[下一个更大元素]、[上一个更小元素] 等。 在本文中&#x…

React进阶 - 11( 说一说 PropTypes 和 DefaultProps )

本章内容 目录 PropTypesDefaultProps 截止到上一节的内容,我们使用了一个 TodoList的案例,大概了解了 React的一些入门知识。从本节内容开始,我们将进入React进阶知识的学习 PropTypes 在组件拆分时,我们知道每个组件都有自己的…

将Html页面转换为Wordpress页面

问题:我们经常会从html源码下载网站上获得我们想要的网站内容框架,以及部分诸如联系我们,About 等内页,但是在文章的发布上,则远不如Wordpress简便。而Wordpress尽管有各种模板,但修改又比较麻烦。解决方法…

linux操作系统网络编程套接字(实现一个udp通讯demo)

文章目录 理解源IP地址和目的IP地址认识端口号理解 "端口号" 和 "进程ID理解源端口号和目的端口号 认识TCP协议认识UDP协议什么是面向字节流和面向数据报流以及有无连接是什么意思 网络字节序socket编程接口socket 常见APIsockaddr结构sockaddr_in 结构in_addr结…

Leetcode300. 最长递增子序列

Every day a Leetcode 题目来源&#xff1a;300. 最长递增子序列 解法1&#xff1a;递归 枚举 nums[i] 作为最长递增子序列的末尾元素&#xff0c;那么需要枚举 nums[j] 作为最长递增子序列的倒数第二个元素&#xff0c;其中 j<i 并且 nums[j]<nums[i]。 问题转化为…

python-自动化篇-运维-监控-简单实例-道出如何使⽤Python进⾏网络监控?

如何使⽤Python进⾏⽹络监控&#xff1f; 使⽤Python进⾏⽹络监控可以帮助实时监视⽹络设备、流量和服务的状态&#xff0c;以便及时识别和解决问题。 以下是⼀般步骤&#xff0c;说明如何使⽤Python进⾏⽹络监控&#xff1a; 选择监控⼯具和库&#xff1a;选择适合⽹络监控需…

IntelliJ IDEA 2023.2.5安装教程

文章结尾提供安装包获取方式 下载安装包 1. 选择相应的安装包&#xff0c;进行安装。如果已经安装过&#xff0c;可以先卸载&#xff0c;也可以保留。根据个人喜好。 2. 修改安装路径。Next……. 3. 创建桌面打开文件。Next…… 4. 等待安装结束。 5. 安装完成。 获取方式&…