Как мога да преместя обект (цвят на запълване на обект от игра, използвайки например GUITexture) чрез щракване/докосване на мишката към мрежата и да проверя дали съдържа цвят на запълване за всяка плочка?
Ако използвате Camera.main.ScreenToWorldPoint, тогава не можете да проверите съдържа. Текущият ми код за проверка съдържа работи добре, но gameobject не се движи с мишката :(
Изображение за връзка: https://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 = Camera.main.ScreenToViewportPoint(Input.mousePosition);