Unity3d如何实现滚动文本框?

Unity3d如何实现滚动文本框?,第1张

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。Unity3d实现滚动文本框的步骤如下:

1、打开unity3d场景,选择“GameObject”--“UI”--“Image”创建一个图片。设置这个图片大小,作为滚动列表的背景面板。

2、创建一个panel,作为数据列表显示区域。在panel上添加Scroll Rect以及mask。

3、在panel里面再创建一个面板panel2,并设置列表内容区域的宽度高度。在panel2上面添加“Vertical Layout Group”。

4、创建“GameObject(空物体)”里面放“button按钮”并调节大小位置,多复制几个。

5、最后选择“panel”在其中的“Content”放入“panel2”,这样运行后就可以得到滚动列表的功能界面。

导航

博客园

首页

联系

管理

< 2022年12月 >

日 一 二 三 四 五 六

27 28 29 30 1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

1 2 3 4 5 6 7

统计

随笔 - 278

文章 - 3

评论 - 14

阅读 - 37万

公告

昵称: slqt

园龄: 12年2个月

粉丝: 21

关注: 10

+加关注

搜索

常用链接

我的随笔

我的评论

我的参与

最新评论

我的标签

最新随笔

1.命令行开启wsl并安装调试python项目

2.Pylint在Windows上的安装

3.pylint配置

4.清除指定名称的进程

5.从bug维度分析质量的方法

6.查找指定目录下最新文件,以及以固定格式开头的文件

7.jenkins获取任务信息

8.jenkins分布式部署方案

9.获取sonar7版本的代码扫描数据

10.发送带附件的邮件

我的标签

saltstack(1)

云主机(1)

积分与排名

积分 - 274276

排名 - 3199

随笔分类 (20)

Django(4)

kali(2)

python灰客(2)

saltstack(1)

selenium(2)

测试(3)

黑客(4)

云主机(2)

随笔档案 (278)

2021年3月(1)

2021年2月(2)

2021年1月(2)

2020年12月(1)

2020年10月(1)

2020年9月(8)

2020年8月(1)

2020年7月(4)

2019年12月(3)

2019年11月(1)

2019年10月(2)

2019年9月(3)

2019年8月(8)

2019年7月(6)

2019年6月(5)

更多

常用链接

搜索

多邪教主的wiki

某朋友的git博客

阅读排行榜

1. ESXI常用命令(27068)

2. 解决python发送multipart/form-data请求上传文件的问题(16128)

3. python模块介绍- binascii:二进制和ASCII互转以及其他进制转换(13061)

4. DES加密模式详解(11574)

5. windows命令行获取时间(11077)

评论排行榜

1. windows使用python原生组件包获取系统日志信息(6)

2. vmware克隆虚拟机并设置网络(vcenter6或5.5)(3)

3. centos7版本设置OS启动默认进入图形界面还是文本界面(2)

4. 如何解决OpenStack创建虚拟机或删除虚拟机时一直处于deleting或者creating状态的问题(转载)(2)

5. Unity打包PC端各种屏幕适配,无边框,最小化,显示可拖拽部分(1)

推荐排行榜

1. vmware克隆虚拟机并设置网络(vcenter6或5.5)(2)

2. DES加密模式详解(2)

3. git使用命令行自动登录(1)

4. Nginx心跳检测(1)

5. windows命令行获取时间(1)

最新评论

1. Re:vmware克隆虚拟机并设置网络(vcenter6或5.5)

大佬给个示例 指点一下谢谢

--一毛丶丶

2. Re:vmware克隆虚拟机并设置网络(vcenter6或5.5)

@一毛丶丶 支持,但是模板和读取格式略有不同...

--slqt

3. Re:vmware克隆虚拟机并设置网络(vcenter6或5.5)

vCenter 7的配置虚拟机IP地址不支持指定IP了么

--一毛丶丶

4. Re:Unity打包PC端各种屏幕适配,无边框,最小化,显示可拖拽部分

pc嵌入unity 无边框启动unity的exe 会更改pc软件的窗口 请问有什么解决思路吗,感谢

--芝麻粒儿

5. Re:windows使用python原生组件包获取系统日志信息

@ time()这个是我自己写的模块,run_cmd其实就是subprocess的封装,你可以自己实现,data_format 其实就是python的format函数的封装,可以自己实现...

--slqt

Unity3D动态生成多边形

来自https://blog.csdn.net/qq_14903317/article/details/69668521

自由绘制多边形 https://blog.csdn.net/lei_7103/article/details/54022496

首先在Unity中创建一个物体,并为它添加我们渲染网格需要的组件.

这里写图片描述

MeshFilter组件用于获取网格信息,我们生成的网格就需要添加到MeshFilter.MeshRenderer用于渲染网格,在这里使用默认的材质来演示.

要生成一个多边形,我们应该要有多边形的顶点数组.现在开始定义我们的变量

//顶点数组

public Vector3[] Vertexes

//网格过滤器

private MeshFilter _meshFilter

//网格

private Mesh _mesh

接下来我们根据顶点动态生成一个网格.网格都是由三角形组成的,所以我们应该根据顶点数量求出三角形数量,

然后需要确定每个三角形的顶点在我们的顶点数组中的索引.下面上代码

public void Refresh()

{

//得到三角形的数量

int trianglesCount = Vertexes.Length - 2

//三角形顶点ID数组

int[] triangles = new int[trianglesCount * 3]

//绘制三角形

_mesh.vertices = Vertexes

//三角形顶点索引,确保按照顺时针方向设置三角形顶点

for (int i = 0i <trianglesCounti++)

{

for (int j = 0j <3++j)

{

triangles[i * 3 + j] = j == 0 ? 0 : i + j

}

}

_mesh.triangles = triangles

_meshFilter.mesh = _mesh

}

虽然只有短短几行代码,**但是值得注意的是我们生成三角形的顶点顺序必须为顺时针方向**.所以在传入顶点的时候我们应该按照顺时针方向传入顶点.

Vertexes = new Vector3[] { Vector3.zero, new Vector3(-1, 1, 0), new Vector3(1, 2, 0), new Vector3(2, -1, 0) }

现在生成的四边形如下:

这里写图片描述

生成的绿色三角形使我们的第一个三角形,顶点顺序为0, 1, 2(顺时针方向), 黄色三角形顶点顺序为0,2,3(顺时针方向),每个三角形的顶点顺序都是为顺时针方向,这样我们看到的面才是正方向的.如果我们的顶点为逆时针顺序,那么我们看到的面为反方向的.如下:

这里写图片描述

我们就需要把视角调整到背面才能看到四边形,在正面是看不见的.注意观察坐标轴.

好文要顶 关注我 收藏该文

slqt

粉丝 - 21 关注 - 10

+加关注

0 0

« 上一篇: Unity3D之Mesh(四)绘制多边形

» 下一篇: python装饰器的4种类型:函数装饰函数、函数装饰类、类装饰函数、类装饰类

posted on 2019-01-31 16:22 slqt 阅读(704) 评论(0) 编辑 收藏 举报

刷新评论刷新页面返回顶部

登录后才能查看或发表评论,立即 登录 或者 逛逛 博客园首页

编辑推荐:

· 现代 CSS 高阶技巧,完美的波浪进度条效果!

· 架构与思维:再聊缓存击穿,面试是一场博弈

· 基于 MassTransit Courier 实现 Saga 编排式分布式事务

· 现代 CSS 高阶技巧,像 Canvas 一样自由绘图构建样式!

· 解读 JVM 级别本地缓存 Caffeine 青出于蓝的要诀

阅读排行:

· 架构与思维:再聊缓存击穿,面试是一场博弈

· Python:界面开发,wx入门篇

· 通过 CancellationToken 提高 Web 性能

· 如何5分钟上手使用PaddleSeg人像抠图

· 现代 CSS 高阶技巧,完美的波浪进度条效果!

Powered by:

博客园

Copyright © 2022 slqt

Powered by .NET 7.0 on Kubernetes

打开Unity5.0编辑器后,不管你的布局是默认的,还是其它的布局,基本上都可以看到“Hierarchy”视图、“Scene”视图、“Game”视图、“Inspector”视图、“Project”视图与“Console”视图,如下图所示是Unity5.0默认布局,上面红色框框住的是各视图的名字。

Hierarchy 视图

首先,我们来介绍下Hierarchy视图,此视图中主要存放各个游戏对象,例如:光源、摄像机、地形、各种2D、3D的其它对象等。

我们用鼠标点击Hierarchy视图下的“Create”按钮,出现一个显示各种对象的下拉框,如果,想创建哪一个对象,选中鼠标点击即可创建该对象。

Scene视图

点击Scene视图上侧第一个“Textured”,其实它是绘图模式中的选项,点击过后会d出一个下拉框,下拉框中,显示的是绘图模式的的各个选项。

Textured 纹理:显示模型所有可见纹理表面

Wireframe 线框:只显示模型的网格线框

Tex-Wire 纹理-线框:显示网格纹理并有线框覆盖。

Render Paths 渲染路径:显示每个对象使用颜色代码的渲染路径:绿色表示延时光照,黄色表示正向渲染,红色表示顶点光照。

Lightmap Resolution 光照贴图分辨率:在场景上覆盖棋盘格来显示光照贴图的分辨率。

Alpha Channel 灰度通道的渲染颜色

Overdraw 作为透明物体的“剪影”渲染物体。透明颜色累加,这样很容易找出一个物体绘制到另外一个上面。

Mipmaps 使用颜色代码显示理想的纹理尺寸:红色表示纹理大于所需尺寸(在当前的距离和分辨率下),而蓝色表示纹理可以更大。当然,理想的纹理尺寸依赖于游戏运行的分辨率,以及相机可以离特定表面多近。

Scene视图上侧的“灯光”表示的是场景照明,默认是使用的,如果取消,场景会显示暗淡,“喇叭”表示是否开启音频,“图片”表示是否显示布局网格,也就是控制天空盒子与GUI元素是否在场景中渲染。

Scene视图最右侧的“Gizmos”按钮的下拉框主要显示显示游戏中使用的组件。有的组件是有图标的,有的没有,可以通过是否勾选单选框,有选择地选用特定组件的Gizmo的绘制。

Game视图

Game视图的第一个“Free Aspect”按钮,对应的下拉框主要是设置游戏视图的窗口宽高比例。

“Maximize on Play”顾名思义,主要是在运行游戏时最大窗口。

“Stats”按钮如果选中,就显示游戏当前的状态,显示渲染状态的统计窗口。

Inspector视图

Inspector视图用于具体描述各个对象的位置,资源及其它设置信息的地方。

在此视图中,我们可以看到对象的位置(Position)、旋转角度(Rotation)、Scale(缩放比例),该对象的具体信息,比如说地形,的绘制组件等,该对象是否绑定了脚本及绑定的脚本信息,也可以添加组件(Add Component)。

Project视图

Project视图只要放置游戏中用到的所有资源文件。

在Project视图的左侧面板显示作为“Hierarchy”视图的项目文件夹结构,当通过点击选择一个文件夹,它的内容会被显示在面板右侧。

将鼠标放置Project视图范围内,鼠标右击,在d出来的下拉列表中,可以看到“Import Package”等,可以导入系统的资源包,当然也可以导入其它一些资源包。

Console视图

Console视图主要显示脚本运行时是否出现错误并显示错误,也可以在此时图的上侧的按钮选项中,点击相应按钮,进行点击 *** 作,如Clear(清除错误)。


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

原文地址: http://outofmemory.cn/bake/11758560.html

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

发表评论

登录后才能评论

评论列表(0条)

保存