オブジェクト (たとえば、GUITexture を使用したゲームオブジェクトの塗りつぶしの色) をマウスのクリック/タッチでグリッドに移動し、各タイルの塗りつぶしの色が含まれていることを確認するにはどうすればよいですか?
Camera.main.ScreenToWorldPoint を使用すると、内容を確認できません。チェックする現在のコードには正常に動作しますが、ゲームオブジェクトはマウスで移動しません:(
リンク画像: 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;
に
transform.guiTexture.transform.position = Camera.main.ScreenToViewportPoint(Input.mousePosition);