国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【Unity3d】UGUI小貼士:使用不規則按鈕

2019-11-09 18:05:40
字體:
來源:轉載
供稿:網友

轉載自沐巳點の萬事屋點擊查看原文

在平時的游戲和平面程序開發中,難免會遇到需要使用不規則按鈕的需求,而Unity3d中使用UGUI的Button控件只能實現規則的長方形按鈕。不過其實unity的Image提供了一個eventAlphaThreshold的屬性(在5.4以上版本中改為alphaHitTestMinimumThreshold),這個屬性提供了一個閾值來限制射線檢測生效的alpha值。也就是說,比如我們將閾值設為0.5(該值類型為float,有效范圍0到1),那么點擊Image上像素的alpha值小于0.5的區域時,程序是不會檢測到點擊事件的。 利用這一個屬性,我們就可以實現不規則按鈕了。但是需要注意的是,使用alphaHitTestMinimumThreshold屬性需要開啟sPRite的Read/Write Enbale屬性,這樣程序就會在內存中多存一份sprite,內存占用也就翻了一番,所以不太適合移動端大量按鈕的使用。 首先我們導入圖片資源,然后轉換成Sprite類型,這里5.5以下的版本需要再把類型改成Advanced。然后勾選Read/Write Enbale: Read/Write Enbale 然后新建一個腳本,命名為IrregularButton,打開在Awake或者Start方法中輸入如下代碼:

Image image = GetComponent<Image>(); image.alphaHitTestMinimumThreshold = 0.1f;12

代碼第一行獲取button控件的image,第二行將image的alpha閾值設置為0.1。然后我們寫一個方法,每次按下按鈕時就進行一次計數并顯示,來測試是否按鈕為不規則按鈕。程序運行效果如下: 運行結果 完整的代碼: IrregularButton.cs:

using UnityEngine;using UnityEngine.UI;public class IrregularButton : MonoBehaviour { public Text text; private int count; void Awake () { // 設置閾值 Image image = GetComponent<Image>(); image.alphaHitTestMinimumThreshold = 0.1f; count = 0; } public void OnButtonClicked() { count++; text.text = "第" + count + "次按下按鈕"; }}123456789101112131415161718192021

項目源碼(開發環境unity3d 5.5.0f3): 百度網盤 提取碼:ee97


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿荣旗| 林周县| 大邑县| 建瓯市| 南平市| 郎溪县| 东至县| 铜川市| 濉溪县| 民乐县| 肥乡县| 阿鲁科尔沁旗| 峨眉山市| 南漳县| 通江县| 东丰县| 泰兴市| 湘西| 临朐县| 略阳县| 英山县| 玛沁县| 四川省| 玉林市| 富宁县| 余干县| 高尔夫| 平湖市| 靖远县| 高淳县| 平乡县| 永登县| 泾源县| 富川| 荥阳市| 建湖县| 六枝特区| 永川市| 耿马| 调兵山市| 平顶山市|