关于Unity中UI中的Image节点以及它的Image组件

 

一、图片的Inspector面板属性

Texture Type:一般是选择sprite(2D and UI)

Sprite Mode:一般是选择Single

Packing Tag:打包的标志值,最后打包的时候会把Tag相同的所有小图打包成一个大图。不像cocos打包图集需要用到第三方软件,这里Unity会帮我们把相同Tag的图片打包成大图,非常方便。

Pixels Per Unit 100:表示100像素为1个Unity单位(1米),也可以在Scene视图中看出,640X960分辨率的图片在视图中占的网格横方向有6格多一点,竖方向9格多一点。

Pivot:表示锚点的位置,就是图片自身原点的位置(center==(0.5,0.5))  

Sprite Editor按钮,在Pivot右下角,很容易被忽视,点开会有一个面板跳出来,这里是设置图片的九宫格缩放区域,就是指定哪些部位要缩放,自己用线拉出一个井字区域。

Filter Mode:缩放模式,用默认的就好

      (1)Point(no filter):没有缩放

      (2)Bilinear:B样条线性插值,放大几倍,就是把同样的像素复制几次。

      (3)Trilinear:

注意:图片修改后一定要记得点击Apply按钮,应用设置,不然不会有改变。

 

二、Image节点的Image组件

1.把图片设置好后拖进Image节点的Source Image属性中,点击Set Native Size按照图片的原始大小填充Canvas。

2.Color属性可以对图片进行颜色混合,白色就是什么色也不加,原色。

3.Image Type:simple缩放的类型是拉伸

        Tiled缩放的类型是平铺,像铺地板瓷砖一样的。

        Slice缩放的类型是九宫格缩放,就像微信聊天的气泡一样,只有部分拉伸。原理就是把图片分成九宫格那样的区域,四个边角不变,只改变中间的区域,中间的横和中间的竖。

           这样缩放之后,再把四个边角贴上去,整体形状就不会改变。

        Filed指定区域显示,垂直,水平,圆周。比如一个圆,可以指定它只显示一个半圆,或者四分之一圆显示。经常用于游戏中的圆形进度条显示。

          Filed Method:(1)Radial 90 (2)Radial 180 (3)Radial 360按照角度来裁剪,一般是按照360度裁剪的。 (4)Vertical垂直裁剪 (5)Horizontal水平裁剪

          Filed Origin:开始的点,Button就是中间底部的那个点开始,不断变换圆心角来裁剪圆。            

          Filed Amount:表示裁剪的比例多少[0,1],0到1进度条是递增的,1到0进度条是递减的。

          Clock Wise:逆时针还是顺时针,勾选的时候是顺时针

 

三、九宫格缩放步骤

a.把要九宫格缩放的图片点击Sprite Editor按钮选择缩放区域,点击Apply

b.把设置好的图片拉到Image节点的Image组件的Sprite属性里

c.选择Image Type为Slice

d.改变Image节点的Width和Height大小,进行缩放,发现图片中间部分缩放,没有指定的边角区域不缩放

 

四、Filed缩放步骤

a.把设置好的图片拉到Image节点的Image组件的Sprite属性里

b.选择Image Type为Filed,这时候会多出几个属性进行选择

c.配置好新属性,并拖动Filed Amount来看效果

d.写一个脚本挂在Image节点(具体节点名字是clock_bar)上来实现圆形进度条的效果,这个效果可以用于技能冷却时间显示。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class clock_bar : MonoBehaviour {Image img;float total_time;float now_time;bool is_running = false;// Use this for initialization// 要把组件的属性绑定到编辑器,我们需要在组件类里面加上public,默认是关闭的,打钩是启动的意思public bool play_onload = false;void Start () {this.img = this.GetComponent<Image>();if (this.play_onload) {this.show_time_action(15.0f);}}// 15秒时间就到了public void show_time_action(float total_time) {this.img.fillAmount = 1.0f; // 当前的时间是满的this.total_time = total_time;this.now_time = 0;this.is_running = true; // 开启倒计时的动画
    }// Update is called once per framevoid Update () {if (!this.is_running) { // 没有开启这个倒计时的动画return;}this.now_time += Time.deltaTime; // 走过的时间float per = this.now_time / this.total_time; // 过去时间的百分比if (per > 1.0f) {per = 1.0f;}// 我们计算的是剩余时间的百分比per = 1.0f - per;this.img.fillAmount = per;if (this.now_time >= this.total_time) {this.is_running = false;}}
}

 

五、小技巧:

当我们想使用Image组件类定义组件实例的时候,却发现编辑器提示没有这个方法

找到Image组件在Inspector面板中的位置,点击右上角有一个问号标志,打开就会显示API,可以知道Image原来是属于UI包的,没有导入包,所以提示类不存在

using UnityEngine.UI;

 

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

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

相关文章

Knockoutjs官网翻译系列(一)

最近马上要开始一个新项目的研发&#xff0c;作为第一次mvvm应用的尝试,我决定使用knockoutjs框架。作为学习的开始就从官网的Document翻译开始吧&#xff0c;这样会增加印象并加入自己的思考&#xff0c;说是翻译也并不是纯粹的翻译&#xff0c;会加入自己对知识点的思考以及自…

无人机导航定位系统Java_无人机高精度室内定位导航的技术方案

原标题&#xff1a;无人机高精度室内定位导航的技术方案因为一些特殊的用途&#xff0c;比如室内表演&#xff0c;编队室内飞行等&#xff0c;无人机不可避免会在室内飞行&#xff0c;无人机对室内定位精度的要求很高&#xff0c;室内空间本身就不会太大&#xff0c;若定位精度…

javascript控制台_如何充分利用JavaScript控制台

javascript控制台by Darryl Pargeter达里尔帕格特(Darryl Pargeter) 如何充分利用JavaScript控制台 (How to get the most out of the JavaScript console) One of the most basic debugging tools in JavaScript is console.log(). The console comes with several other use…

Django之静态文件配置

静态文件 了解静态文件配置之前&#xff0c;我们需要知道静态文件是什么&#xff1f; 静态文件其实指的是像css,js&#xff0c;img等一些被模板需要的文件。 如何在Django中配置我们的静态文件 1.建立static文件夹&#xff0c;将静态文件放在该目录下 2.在settings文件下配置如…

神奇的图像处理算法

http://blog.chinaunix.net/uid-23065002-id-4392043.html http://blog.csdn.net/k_shmily/article/details/51138154 几周前&#xff0c;我介绍了相似图片搜索。 这是利用数学算法&#xff0c;进行高难度图像处理的一个例子。事实上&#xff0c;图像处理的数学算法&#xff0c…

JavaWeb项目前端规范(采用命名空间使js深度解耦合)

没有规矩不成方圆&#xff0c;一个优秀的代码架构不仅易于开发和维护&#xff0c;而且是一门管理与执行的艺术。 这几年来经历了很多项目&#xff0c;对代码之间的强耦合及书写不规范&#xff0c;维护性差等问题深恶痛绝。在这里&#xff0c;通过仔细分析后&#xff0c;结合自己…

java重要基础知识点_java基础知识点整理

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼java基础知识点整理1.&和&&的区别&#xff1f;&&#xff1a;逻辑与(and),运算符两边的表达式均为true时&#xff0c;整个结果才为true。&&&#xff1a;短路与&#xff0c;如果第一个表达式为false时&#…

网易云音乐的算法有什么特点_当算法设计音乐厅时会发生什么?

网易云音乐的算法有什么特点Here are three links worth your time:这是三个值得您花费时间的链接&#xff1a; What happens when algorithms design a concert hall? (3 minute read) 当算法设计音乐厅时会发生什么&#xff1f; ( 阅读3分钟 ) How to land a top-notch tec…

开机发现超级管理员账户不见了

今天出现了一个怪现象&#xff0c;连接打印机的电脑上没有超级管理员账户&#xff0c;只有一个刚建立的新账户&#xff0c;这是怎们回事来&#xff1f;嗳&#xff0c;原来啊&#xff0c;安装Windows XP时&#xff0c;如果又设置了一个管理员账户&#xff0c;那么系统内置没有密…

vs自带iis局域网调试

http://www.cnblogs.com/liluping860122/p/4685564.html转载于:https://www.cnblogs.com/wcLT/p/5594252.html

java.util.set cannot be assigned from null_Java中有关Null的9件事

对于Java程序员来说&#xff0c;null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢&#xff1f;null出现有一段时间了&#xff0c;并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦&…

node.js事件驱动_了解Node.js事件驱动架构

node.js事件驱动by Samer Buna通过Samer Buna 了解Node.js事件驱动架构 (Understanding Node.js Event-Driven Architecture) Update: This article is now part of my book “Node.js Beyond The Basics”.更新&#xff1a;这篇文章现在是我的书《超越基础的Node.js》的一部分…

如何基于 Notadd 构建 API (Laravel 写 API)

如何基于 Notadd 构建 API Notadd 底层实现了 passport 机制&#xff0c;有统一的授权管理&#xff0c;主要支持两种方式进行 API 授权&#xff0c;一个是 client&#xff0c;领一个是 passport&#xff0c;这个在其他文档中有做详细的说明。 这里主要说的是&#xff0c;如何基…

mysql 基于集_一种基于记录集查找特定行的方法_MySQL

问&#xff1a;我的一个表中包含了名为IdValue的单列主键。对于给定的IdValue值&#xff0c;我希望找到紧邻目标值之前和之后的表行(假定结果按IdValue排序)。怎样才能不使用游标而通过一个基于集合的方法得到需要的结果&#xff1f;答&#xff1a;Transact-SQL是一个基于集合的…

react 交互_如何在React中建立动画微交互

react 交互Microinteractions guide a user through your application. They reinforce your user experience and provide delight.微交互引导用户完成您的应用程序。 它们可以增强您的用户体验并带来愉悦感。 You may have seen some of the slick examples of microinterac…

HTTPS与MITM

HTTPS:基于SSL/TSL的HTTP协议 MITM:Man-In-The-Middle中间人攻击 Https下中间人攻击的思路&#xff1a; 1 去https化 2 向CA申请相似域名的证书 防范&#xff1a; 睁大双眼转载于:https://www.cnblogs.com/the-owl/p/5596254.html

PCB genesis自制孔点 Font字体实现方法

一.先看genesis原有Font字体 在PCB工程CAM加孔点字体要求时,通常我们直接用Geneis软件给我们提供了2种孔点字体canned_57与canned_67,但此字体可能不能满足各个工厂个性化需求&#xff0c;比如&#xff1a;孔密度&#xff0c;孔间距&#xff0c;孔形状分布&#xff0c;如果有一…

Google 最新的 Fuchsia OS【科技讯息摘要】

转自&#xff1a;http://www.cnblogs.com/pied/p/5771782.html 就是看到篇报道&#xff0c;有点好奇&#xff0c;就去FQ挖了点东西回来。 我似乎已开始就抓到了重点&#xff0c;没错&#xff0c;就是 LK 。 LK 是 Travis Geiselbrecht 写的一个针对 ARM 的嵌入式操作系统&#…

java 03_Java基础03—流程控制

流程控制参考资料&#xff1a;《Java从入门到精通》/明日科技编著. 4版. 北京&#xff1a;清华大学出版社&#xff0c;2016一、复合语句Java的复合语句由“{”开始&#xff0c;“}”结束&#xff0c;又称为块语句。复合语句都是由上至下被执行&#xff1b;复合语句中可以嵌套复…

这三种策略可以帮助女性在科技领域蓬勃发展

by Shubhi Asthana通过Shubhi Asthana 这三种策略可以帮助女性在科技领域蓬勃发展 (These 3 strategies can help women thrive in tech) As someone early on in her career, I’ve attended a few tech talks, conferences, and meetups. One thing I noticed is not many w…