그리드를 마우스로 클릭/터치하여 오브젝트를 움직일 수 있습니까? 예를 들어 GUITexture를 사용하여 게임 오브젝트 채우기 오브젝트를 움직일 수 있습니까?Unity3D : 마우스와 체크로 GameObject 이동하기
Camera.main.ScreenToWorldPoint를 사용하는 경우 contains를 확인할 수 없습니다. 현재 확인하려면 코드가 잘 작동을 포함하지만, 마우스 :(
링크 이미지와 함께 움직이지 게임 오브젝트 : http://i.imgur.com/cHoS0YV.png
내 코드는 다음과 같습니다!
void OnMouseDown()
{
Vector2 mousePos = new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y);
transform.position = mousePos;
Debug.Log("OnMouseDown: transform.position: " + transform.position);
}
void OnMouseDrag()
{
Vector2 mousePos = new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y);
transform.position = mousePos;
Debug.Log("transform.position: " + transform.position);
foreach (var x in GameBoard.Instance.listTileInGrid)
{
if (x.RectTile.Contains(mousePos))
{
Debug.Log("change color");
x.ColorId = 1;
}
}
}
사전에 감사
업데이 트를 :
변경 : transform.position = mousePos; to transform.guiTexture.transform.position = C amera.main.ScreenToViewportPoint (Input.mousePosition);
같은에 게임 안 출자하여 문서를 찾을 수있는 단결 태그가 마이크로 소프트 유니티 예약되어 있습니다. 오용하지 마십시오. –
답장을 보내 주셔서 감사합니다. 여기에서 문제를 해결했습니다 : transform.guiTexture.transform.position = Camera.main.ScreenToViewportPoint (Input.mousePosition); http://answers.unity3d.com/questions/416536/moving-gameobjects-with-mouse-and-check-contains.html – 691138
대답을 작성한 다음 답변으로 표시하십시오.이 질문은 남아 있지 않습니다. 보답 없는. – Joetjah