想问一下Unity的UI中怎样用脚本获取InputField的值

想问一下Unity的UI中怎样用脚本获取InputField的值,第1张

using UnityEngineUI;

string textValue = gameObjectGetCompenenet<InputField>()text;

建一个脚本 复制上面的代码 把脚本放在InputField对象上 textValue 里就是输入文本框的字符串

Canvas组件代表UI被放置和渲染的虚拟空间。全部的UI元素必须是带有Canvas组件的Gameobject的子物体。当我们创建一个UI元素从菜单的时候,如果场景中没有canvas,将自动创建一个canvas

元素的渲染顺序:

元素的渲染顺序和元素在Hierarchy中显示的一样,第一个子节点先渲染,后面的后渲染。如果两个UI元素重叠,后面渲染的会覆盖前面渲染的。

RenderMode(渲染模式):

UI渲染到场景的方式

Screen Space-Overlay,Screen Space-Camera 和 World Space

一个Canvas包括全部UIElements将是高效的,但是场景中有多个Canvases也是可能的。在Canvas中嵌套Canvas也是可能的,为了优化的目的嵌套Canvas将使用和父Canvas相同的渲染模式。

Screen Space-Overlay:

在这种模式下,Canvas大小适配之后直接渲染,不通过关联到场景或者摄像机。如果屏幕的大小变化UI将自动匹配大小。UI将覆盖其他图像比如摄像机视图。

Note:

The Screen Space-Overlay canvas需要放置在hierarchy的最上层。这是一种build-in limitation。保证Space-Overlay canvas可以正常显示

Screen Space-Camera:

在这种模式下,Canvas呈现方式好像它是在摄像机前一定距离的平面对象上绘制的一样。UI在屏幕上的大小不随着距离的变化而变化,如果屏幕大小或者分辨率变化UI将自动适应。任何3D objects在场景中相比UI plane到摄像机的距离更近,将渲染到UI的前面。

World Space:

这个模式下作为场景中的一个元素。不同于Screen Space-Camera,plane不需要朝向camera,canvas的大小将由视角和到摄像机的距离来决定,其他场景中的物体可以穿过canvas

此组件用于控制canvas种全部的UI元素的大小。这个设置将影响canvas下的全部物体。

Properties:

UI Scale Mode:

决定UI元素的大小在canvas中是由什么决定的:

Constant Pixel Size(固定大小,不随屏幕大小变化)

Scale With Screen Size (随着屏幕大小的变化而进行变化)

Constant Physical Size(保持物理大小,不随屏幕大小和分辨率变化)

在Constant Pixel Size模式下进行设置:

Scale Factor:设置canvas下全部的UI元素的大小

Reference Pixels Per Unit:像素与单位的对应关系

在Scale With Screen Size下进行设置:

Reference Resolution : UI 布局的分辨率,这个分辨率将随着屏幕分辨率进行变化

Screen Match Mode:如果当前分辨率的纵横比不适合参考分辨率,则用于缩放画布区域的模式

Match Width or Height Scale the canvas area with the width as reference, the height as reference, or something in between

Expand Expand the canvas area either horizontally or vertically, so the size of the canvas will never be smaller than the reference

Shrink Crop the canvas area either horizontally or vertically, so the size of the canvas will never be larger than the reference

Match:决定缩放的时候宽还是高作为引用

在Constant Physical Size下进行设置:

Physical Unit:设置物理单元的位置和尺寸。

Fallback Screen DPI:

Default Sprite DPI:

Reference Pixels Per Unit:

此组件用来控制一组的UI元素,不需要单独的处理他们,此组件也影响其子物体

Properties:

Alpha:此值从0到1,控制canvas及其下面全部子物体的alpha

interact able:决定组件是否可以被继承

Block Ray casts:此组件对Raycasts来说是否可以被视为collider

Ignore Parent Groups:是否受到父物体的CanvasGroup组件的影响,或者忽略他们

通常使用情况:

Canvas Renderer

此组件呈现包含图形化UI元素的对象

Property:

Text:组件显示的文本

Character:

Font:字体大小

Font Style:字体样式

Font Size:字体大小

Line Spacing:行间距

Rich Text:markup elements在text中是否支持

Paragraph:

Alignment:对齐方式

Align By Geometry:使用字形几何范围执行水平对齐,而不是字形度量

Horizontal Overflow:字体超出范围的解决方式

Vertical Overflow:字体太高超出范围的解决方式

Best Fit:Unity是否直接忽视大小属性,直接根据文本的大小匹配控件

Color:text的颜色

Material:渲染字体的材质

Hints:

Image控件显示的为Sprite类型,Raw Image可以接受任何类型的纹理

Properties :

Source Image:要现实的贴图

Color:要应用到上的颜色

Material:渲染的材质

Ray cast Target:可以被射线检测

Preserve Aspect:保留原始维度

Set Native Size:设置的维度到原始的像素大小

Raw Image可以显示任何类型的贴图

Property:

Texture:组件要显示的贴图

Color:

Material:

UV Rectangle:的偏移和大小

Details:通过修改UV Rectangle属性,可以缩放

此组件用来控制子控件的显示效果。mask将限制子元素的大小。如果子元素的大小比父元素大,将显示比父元素小的部分。

通常使用流程:

创建一个Panel对象,将需要显示的对象全部放到Panel对象下,给Panel添加一个Mask组件,全部的子物体只能显示在Panel范围内的部分

实现基于GPU的模板缓冲

对于大的区域显示很小的一部分使用RectMask2D。

RectMask2D的限制:

RectMask2D的优势:

1Shadow

给或者文字添加一个阴影效果

Properties:

Effect Color:阴影颜色

Effect Distance:阴影距离

Use Graphic Alpha:混合图像和效果的颜色

2OutLine

给文字或者添加描边效果。

Properties:

Effect Color:

Effect Distance:

Use Graphic Alpha:

3Position as UV1

添加一个简单的位置作为UV1效果给文本和图像

如何创建Sprite

创建一个Sprite可以遵循如下步骤

将一张拖动到Project视图中的某个文件夹的方式来添加Sprite资源。

修改Sprite资源的各项属性,如果是SpriteSheet的话还要对它在Sprite Editor中进行分割。

将Sprite资源拖动到Scene视图中,或者按住ctrl键同时选中SpriteSheet中的几张拖动到Scene视图中,这种方式会同时创建出一个动画。

创建Sprite的过程中请注意:

Sprite是作为Sprite Renderer组件的一个属性来添加到一个GameObject中的。

在Sprite Renderer中的Sorting Layer属性允许你设置Sprite被渲染的优先级。

SpriteRenderer使用在Sprite属性中的Texture, 但是使用Material中的Shader(着色器) ,默认选择的 Sprites/Default 这种Shader是忽略光照的,而Sprites/Diffuse 这种Shader则是不会忽略光照的。如果你将Material设置为None时,你会发现无法显示Sprite,因为你没有对这个Sprite进行着色。

以上就是关于想问一下Unity的UI中怎样用脚本获取InputField的值全部的内容,包括:想问一下Unity的UI中怎样用脚本获取InputField的值、Unity-UI(UGUI详解)02.1 Canvas组件、Visual组件、unity3d怎么获得uimask的sprite等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9799469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存