[Hướng Dẫn] Thêm thành phần cho UI trong Unity

Dang_KhoaDang_Khoa Posts: 3,861Administrators
[chapter]Giới thiệu[/chapter]
Unity hỗ trợ về UI rất mạnh, tuy nhiên nhiều trường hợp ta nên tạo thành phần UI riêng để dễ quản lý code, và có thể dùng lại về sau, mình sẽ hướng dẫn các bạn cách để làm việc đó.

[chapter]Hướng dẫn[/chapter]
Ví dụ bạn muốn Button có thêm thành phần Text, việc đầu tiên là tạo script mới tên là TextButton như sau:
using UnityEngine.UI;
public class TextButton: Button
{
public Text textLabel;
}

Sau đó tạo 1 thư mục tên là Editor, rồi tạo script mới bên trong nó, đặt tên là TextButtonEditor như sau:
using UnityEngine.UI;
using UnityEditor;
[CustomEditor (typeof(TextButton))]
public class TextButtonEditor: UnityEditor.UI.ButtonEditor
{
public override void OnInspectorGUI ()
{
var component = (TextButtonEditor)target;
component.textLabel = (Text)EditorGUILayout.ObjectField ("Text Label", component.textValue, typeof(Text), true);
base.OnInspectorGUI ();
}
}

Như vậy là bạn đã có thể dùng thành phần mới như một button bình thường, giờ button đó có thêm một thành phần con là Text, thay vì bình thường bạn phải dùng một cách độc lập 2 thành phần này, với cách này bạn còn có thể chèn thêm thành phần khác như Image để làm icon v.v...

[chapter]Nguồn[/chapter]
http://taochochoi.com
Sign In or Register to comment.