实际需要 实例化巧克力块的x 位置
实际需要 实例化巧克力块的x 位置
if (xColumn % 2 == 0 && yRow % 2 == 0)
{
return new Vector3(x - xColumn / 2 + 0.5f, y - yRow / 2 + 0.5f, 0);
}
if (xColumn % 2 != 0 && yRow % 2 == 0)
{
return new Vector3(x - xColumn / 2, y - yRow / 2 + 0.5f, 0);
}
if (xColumn % 2 == 0 && yRow % 2 != 0)
{
return new Vector3(x - xColumn / 2 + 0.5f, y - yRow / 2, 0);
}
else
{
return new Vector3(x - xColumn / 2, y - yRow / 2, 0);
}
实际需要克力的位置=GameManager位置的x坐标-大网格长度的一半+行列对应的x坐标
实际需要克力的位置=GameManager位置的y坐标-大网格长度的一半+行列对应的
for (int i = 0; i < XColumn; i++) { for (int j = yRow; j >0; j--) { GameObject grid = Instantiate(GridPrefab, new Vector2(i-7.5f, j-5.5f), Quaternion.identity); grid.transform.SetParent(transform); } }
这样 也可以的
/// <summary>
/// X 增量,Y 增量
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
private Vector2 CorrectPosition(int x, int y)
{//格子实际需要 实例化的坐标等于 GameManager的X坐标 减去 大网络的一半,再加上x坐标,
float Cx= transform.position.x - (XColumn - 1f) / 2f + (float)x;
float Cy = transform.position.y - (yRow +1f) / 2f + (float)y;
return new Vector2(Cx, Cy);
}
生成巧克力的位置可以用这个方法计算
new Vector3(x- (xColumn-1)/2f, y- (yRow - 1) / 2f, 0)
实例化巧克力X位置=GameManager位置的X坐标-大网格长度的一半+行列对应的x坐标
0+5-0=5