Unity C#:渲染一组精灵?
因此,我创建了一个名为“Tile”的对象,其中包含一些属性,如“isSolid”等。然后,我绘制了基本的精灵“Air”和“Sand”,并在其上绘制了Tile脚本。现在我想做以下几件事;我有一个包含2d数组“Tile[,]map=new Tile[30100];”的脚本,在Start()例程中,我用沙盘填充了每个元素。现在我有了一个问题:如何在屏幕上显示2000个精灵?稍后我将根据玩家的位置绘制一个20x10的区域,但是,如何才能最有效地绘制一组精灵?有没有一种方法可以进行批处理,这样我就可以在新的sprite上实例化包含我想要绘制的每个sprite的每个Update()调用,或者我该如何做Unity C#:渲染一组精灵?,c#,unity3d,rendering,tile,C#,Unity3d,Rendering,Tile,因此,我创建了一个名为“Tile”的对象,其中包含一些属性,如“isSolid”等。然后,我绘制了基本的精灵“Air”和“Sand”,并在其上绘制了Tile脚本。现在我想做以下几件事;我有一个包含2d数组“Tile[,]map=new Tile[30100];”的脚本,在Start()例程中,我用沙盘填充了每个元素。现在我有了一个问题:如何在屏幕上显示2000个精灵?稍后我将根据玩家的位置绘制一个20x10的区域,但是,如何才能最有效地绘制一组精灵?有没有一种方法可以进行批处理,这样我就可以在新
public class WorldGenerator : MonoBehaviour
{
public int Width = 100;
public int Height = 20;
public Tile t1_Air;
public Tile t2_Sand;
public string csvMap;
readonly int offset = 1;
Tile[,] map = new Tile[20, 100];
// Start is called before the first frame update
void Start()
{
for(int x = 0; x < Width; x++)
{
for(int y = 0; y < Height; y++)
{
if (y < 10)
map[x, y] = t2_Sand;
else map[x, y] = t1_Air;
}
}
}
// Update is called once per frame
void Update()
{
//draw the tiles held in the map here
}
}
公共类WorldGenerator:单一行为
{
公共整数宽度=100;
公共内部高度=20;
公共瓷砖t1_空气;
公共瓷砖t2_沙;
公共字符串csvMap;
只读整数偏移=1;
瓷砖[,]贴图=新瓷砖[20100];
//在第一帧更新之前调用Start
void Start()
{
对于(int x=0;x
稍后,我将读取一个csv文件,在Start()函数中创建一个级别,听起来像是一个a的作业。我将尝试该功能,谢谢