一:前言
获取到选中的文字:哈哈
二:实现
UGUI的InputField提供了selectionAnchorPosition和selectionFocusPosition,开始选择时的光标下标和当前光标下标
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using System;
public class GameInputField : InputField
{
private string m_SelectedText;//当前选中的文本
public string SelectedText
{
get
{
return m_SelectedText;
}
}
private int m_StartSelectedIndex;//起始选中的下标
public int StartSelectedIndex
{
get
{
return m_StartSelectedIndex;
}
}
private int m_EndSelectedIndex;//结束选中的下标
public int EndSelectedIndex
{
get
{
return m_EndSelectedIndex;
}
}
private void Update()
{
if (Input.GetMouseButtonDown(0) && EventSystem.current.currentSelectedGameObject == gameObject)
{
m_StartSelectedIndex = selectionAnchorPosition;
}
if (Input.GetMouseButtonUp(0) && EventSystem.current.currentSelectedGameObject == gameObject)
{
m_EndSelectedIndex = selectionFocusPosition;
if (m_EndSelectedIndex < m_StartSelectedIndex)
{
int temp = m_StartSelectedIndex;
m_StartSelectedIndex = m_EndSelectedIndex;
m_EndSelectedIndex = temp;
}
m_SelectedText = text.Substring(m_StartSelectedIndex, m_EndSelectedIndex - m_StartSelectedIndex);
}
}
}