unity 个人学习的第一章,简化的 泛型对象池。

来源:互联网 发布:set java environment 编辑:程序博客网 时间:2024/06/15 22:11
  前言:作为一个前伸手党,搜索党的我特别感谢雨松大大,shader女神妈妈说女孩子要自立自强,人生如游戏不如做游戏的乐逍遥等等。如今作为刚入门的我,也尝试来写写博客,主要是为了自己查找方便,同时也方便后来学习的人一起讨论交流。
由于没尝试过写博客,刚开始排版以及内容会比较乱,等一年左右后再来归纳总结。

第一章 对象池
   在写入游戏过程中,由于新手学习往往容易实现游戏策划的需求而忽略了优化,以至于编辑到移动端会出现卡帧掉帧的情况。所以需要引入一个对象池的概率。

  所谓对象池即放对象的池子,在unity中所有组件可以看成一个对象,一个脚本是个对象,脚本加组件也可以看成一个对象,而对象池把这些都收集起来,需要调用的时候调用即可,不用频繁的动态生成与销毁。

对象池创建的思路有很多,包括网上我看到的,与实现方式。可是往往很多都不怎么好用,需要针对不同项目不同改进。而我实现的思路是把需要动态加载的对象用完之后不要销毁,放进对象池保存,等需要用的时候在调用他即可。

c#代码如下

 比如子弹用完之后:
ObjectPool<GameObject>.PushObject("Bullet"this.gameObject);
然后需要加载子弹的地方:  
GameObject bulletClone =
ObjectPool<GameObject>.Getobject("Bullet");
判断是否为空,如果为空就实例化一个。可以用“??”来判断。
         


这个简易的对象池没有写长时间在对象池销毁,简单的满足循环利用,面对我现在的项目正好利用。不仅仅是子弹,还有龙骨动画加载等都可以这么用。

好了,第一次写博客就到这里了。