unity代码实现9*9 2d45度角tild地图,
时间: 2023-12-13 22:58:55 浏览: 28
这里提供一份Unity C#代码实现9*9的2D倾斜地图的示例:
```csharp
using UnityEngine;
public class TiltedMap : MonoBehaviour
{
public int mapSize = 9;
public float tileSize = 1f;
public float tileHeight = 0.5f;
private Vector3[,] grid;
private void Start()
{
grid = new Vector3[mapSize, mapSize];
for (int x = 0; x < mapSize; x++)
{
for (int y = 0; y < mapSize; y++)
{
float xPos = (x * tileSize) + (y * tileSize / 2f);
float yPos = (y * tileHeight);
float zPos = (y * tileSize / 2f) - (x * tileSize / 2f);
grid[x, y] = new Vector3(xPos, yPos, zPos);
}
}
for (int x = 0; x < mapSize; x++)
{
for (int y = 0; y < mapSize; y++)
{
GameObject tile = GameObject.CreatePrimitive(PrimitiveType.Quad);
tile.transform.position = grid[x, y];
tile.transform.rotation = Quaternion.Euler(45f, 0f, 0f);
tile.transform.localScale = new Vector3(tileSize, tileSize, 1f);
}
}
}
}
```
这段代码首先定义了地图的大小和每个地块的大小和高度,然后创建一个二维向量数组 `grid` 来存储每个地块的位置。接着,使用两个嵌套循环来计算每个地块的位置,然后创建一个四边形游戏对象,将它的位置设置为 `grid` 数组中对应的位置,将它的旋转设置为 45 度角的倾斜角度,最后将它的缩放设置为每个地块的大小。
你可以将这段代码添加到一个空的游戏对象上,或将它添加到你的场景中的任何游戏对象上,然后运行游戏就可以看到一个倾斜的 9*9 地图了。