首页 > 编程知识 正文

unity坐标转换,unity怎么另存为

时间:2023-05-04 13:15:34 阅读:162978 作者:4586

去耦码

publicclassobjectpool { privatestaticobjectpoolinstance; private Dictionarystring,queuegameobjectobjectpool=newdictionarystring,queuegameobject (; 私有页面对象池; publicstaticobjectpoolinstance { get { if (instance==null ) { instance=new ObjectPool; }返回实例; } } public void InitDic () { objectPool.Clear ); } publicgameobjectgetobject (gameobjectprefab ) { GameObject _object; if (! object pool.contains key (prefab.name )|object pool [ prefab.name ].count==0(_ object=game object.instant ) if(pool==null ) pool=newgameobject('objectpool ); gameobjectchild=game object.find (prefab.name; if (! child ) { child=new game object (prefab.name ); child.transform.setparent (pool.transform ); } _ object.transform.setparent (child.transform ); } _ object=object pool [ prefab.name ].dequeue (; _object.setactive(true; return _object; } publicvoidpushobject (gameobjectprefab ) string _ name=prefab.name.replace (() ) (clone )、string.Empty if (! objectpool.containskey(_name ) (objectpool.add ) _name,new QueueGameObject ) ); object pool [ _ name ].enqueue (prefab; prefab.setactive(false; }使用此代码时,请注意预制装配式prefab的名称不是Hierarchy中已经存在的名称。 因为如果你的prefab名字和那个一样,当心跳加速的麦片生成prefab时,这个prefab克隆就会变成这个同名的子物体。 不会出现在对象池中。 在对象池中生成的所有prefab都必须将代码中的初始化放入enable而不是start。 因为每次从目标池调用时,enable都会再次执行,而不执行start。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。