在手机游戏中经常有选择关卡界面是一大张地图,上面各个关卡,可以拖动地图,可以点击关卡。
这里就涉及到一个问题,如果在关卡上既实现可被拖动的功能同时有点击功能
这里有两个方案:
一、在关卡控件下的脚本的update函数中进行鼠标判断。判断鼠标位移并进行移动地图,在判断的中间可以加入Collider碰撞体名称判断。这样就可以确定是拖动地图还是点击关卡
if (Input.GetMouseButtonDown(0))
{
m_OnRelease = true;
m_MousePos = Input.mousePosition;
m_MouseStarPos = m_MousePos;
m_MouseButtonDownTime = Time.realtimeSinceStartup;
}
if ((Input.GetMouseButtonUp(0)))
{
m_OnRelease = false;
}
if (m_OnRelease)
{
RaycastHit hit;
Ray ray = m_MapCamera.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
bool HitOK = false;
if (hit.collider != null &&