日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/11/29 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于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;

?

總結

以上是生活随笔為你收集整理的关于Unity中UI中的Image节点以及它的Image组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。