
本文共 4056 字,大约阅读时间需要 13 分钟。
������������������������������Tab���������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������������������������������
������������������������������������������������������������������������������������������������������������������������������UI������������������������������������������������
������������Tab���������������
������������Tab���������������������������������������������������:
fromUnityEngine import *fromUnityEngine.UI import *fromUnityEngine.Events import *fromUnityEngine.EventSystems import *class ChangeCursor : MonoBehaviour { public Direction direction = Direction.vertical public enum Direction { vertical = 0, horizontal = 1 } public bool isSelect = false public override void OnSelect(BaseEventData eventData): print("���������������������" + eventData.baseEventData.GetComponentName()) isSelect = true public override void OnDeselect(BaseEventData eventData): print("���������������������������" + eventData.baseEventData.GetComponentName()) isSelect = false public void Update: if Input.GetKeyDown(KeyCode.Tab) && isSelect: int mark = Input.GetKey(KeyCode.LeftShift) ? -1 : 1 if direction == Direction.horizontal: mark = -mark # ������������������������ var current = EventSystem.current.currentSelectedGameObject current = current.FindSelectablenew("Horizontal") if current != null: var inputField = current.GetComponent("InputField") if inputField != null: StartCoroutine(WaitInputField(current)) public static class Utils { ... } public static Selectable FindLoopSelectable(Selectable current, Vector3 dir): Selectable first = current.FindSelectable(dir) if first != null: current = first return FindLoopSelectable(first, dir) return current}class InputField : MonoBehaviour { public InputField previousField public void NextField () : # ������������������������������������������������������ if previousField: previousField.previousField = null StartCoroutine( previousField.GetNextField() )}classsel_entry: public static Selectable FindSelectable (Selectable dir): while (current as Selectable).FindSelectable(dir) as
������������������������������
���������������������������������������������������������������������������������������
���������������������������������������������:
������������������
���������������������������������������������������������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
