Unity+NGUI를 사용하여 표시 영역 제한
개시하다
컨디션
코드 using UnityEngine;
public class Cliptest : MonoBehaviour
{
public UIPanel panel;
public int width = 300;
public int height = 300;
void Start ()
{
ClipTexture ();
}
public void ClipTexture ()
{
// テクスチャの作成
var t = new Texture2D (width, height, TextureFormat.ARGB32, false);
// テクスチャの設定
t.filterMode = FilterMode.Point;
t.wrapMode = TextureWrapMode.Clamp;
// 隠す部分の色
var mask = new Color (0, 0, 0, 0);
// 表示する部分の色
var transparent = new Color (1, 1, 1, 1);
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
if (y == 0 || x == 0 || y == height - 1 || x == width - 1)
{
// テクスチャの端が透過だと端の座標を含んでいる要素が全て表示されてしまう
// 端を非透過にすることでテクスチャの範囲できれいに隠すことができる
t.SetPixel (x, y, mask);
}
else if ((x < width / 2 && y < height / 2) || (x >= width / 2 && y >= height / 2))
{
t.SetPixel (x, y, mask);
}
else
{
t.SetPixel (x, y, transparent);
}
}
}
// テクスチャへの変更の適用
t.Apply ();
// テクスチャでクリッピング
panel.clipTexture = t;
panel.clipping = UIDrawCall.Clipping.TextureMask;
}
}
실행 결과
클립 전
클립 후
Cliping 이후의 Inspector
Reference
이 문제에 관하여(Unity+NGUI를 사용하여 표시 영역 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nirasan/items/0d4c8d1951911cef874d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using UnityEngine;
public class Cliptest : MonoBehaviour
{
public UIPanel panel;
public int width = 300;
public int height = 300;
void Start ()
{
ClipTexture ();
}
public void ClipTexture ()
{
// テクスチャの作成
var t = new Texture2D (width, height, TextureFormat.ARGB32, false);
// テクスチャの設定
t.filterMode = FilterMode.Point;
t.wrapMode = TextureWrapMode.Clamp;
// 隠す部分の色
var mask = new Color (0, 0, 0, 0);
// 表示する部分の色
var transparent = new Color (1, 1, 1, 1);
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
if (y == 0 || x == 0 || y == height - 1 || x == width - 1)
{
// テクスチャの端が透過だと端の座標を含んでいる要素が全て表示されてしまう
// 端を非透過にすることでテクスチャの範囲できれいに隠すことができる
t.SetPixel (x, y, mask);
}
else if ((x < width / 2 && y < height / 2) || (x >= width / 2 && y >= height / 2))
{
t.SetPixel (x, y, mask);
}
else
{
t.SetPixel (x, y, transparent);
}
}
}
// テクスチャへの変更の適用
t.Apply ();
// テクスチャでクリッピング
panel.clipTexture = t;
panel.clipping = UIDrawCall.Clipping.TextureMask;
}
}
클립 전
클립 후
Cliping 이후의 Inspector
Reference
이 문제에 관하여(Unity+NGUI를 사용하여 표시 영역 제한), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nirasan/items/0d4c8d1951911cef874d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)