C#Unity脚本有没有加速实例化的方法
我有两个脚本可以互相对话,基本上我的生成脚本从一个简单的脚本中获取一个布尔值。在if语句的末尾,布尔值设置为true,以显示灯亮起。现在我有了一个碰撞器脚本,它实例化了2个预置。但是速度很慢。这个游戏应该很快,因为它已经被很多人演示过了。有没有办法加快这个速度呢C#Unity脚本有没有加速实例化的方法,c#,unity3d,C#,Unity3d,我有两个脚本可以互相对话,基本上我的生成脚本从一个简单的脚本中获取一个布尔值。在if语句的末尾,布尔值设置为true,以显示灯亮起。现在我有了一个碰撞器脚本,它实例化了2个预置。但是速度很慢。这个游戏应该很快,因为它已经被很多人演示过了。有没有办法加快这个速度呢 private bool Once = true; public Transform Spawnpoint1; public Transform Spawnpoint2; public GameObject Prefab1; publ
private bool Once = true;
public Transform Spawnpoint1;
public Transform Spawnpoint2;
public GameObject Prefab1;
public GameObject Prefab2;
void OnTriggerEnter2D(Collider2D collision)
{
if (Once == true)
{
Debug.Log("It's true");
if (LightOnOff.torchLit == true)
{
Debug.Log(" It's Lit");
Instantiate(Prefab1, Spawnpoint1.position, Spawnpoint1.rotation);
Instantiate(Prefab2, Spawnpoint2.position, Spawnpoint2.rotation);
Once = false;
}
}
}
如果你想知道这个简单的脚本是这样的
public static bool torchLit;
public void lightOn()
{
this.GetComponent<Light>().enabled = true;
torchLit = true;
}
公共静态bool火炬;
公共空间照明()
{
this.GetComponent().enabled=true;
torchLit=真;
}
您可以使用。快速实例化对象是常见的做法
它是如何工作的
acitve
设置为false
和position
设置为0,0,0active
设置为true
并将position
设置为所需的position
acitve
设置为false
并将position
设置为0,0,0我真的建议你看那个教程。也许做更深入的研究或者。。。只需使用
Asset Store
中的免费Asset
哪一行代码慢,您是如何确定它慢的?代码行并不慢,生成的对象在Debug.Log(“它亮了”)之后会永远消失代码>该命令显示在我的控制台中,因此我知道if语句起作用了,但这样做需要相当长的时间。众所周知,实例化和销毁gameobject需要大量资源。这是很容易访问的在线信息。看一看,我不知道我对Unity很陌生