unity学习记录-ex03

主功能实现:右键切换不同子弹\简单collider增加武器\ObjectPool

ObjectPool

为了节省资源,重复使用实例化的prefab,ObjectPool类维护一个private prefab列表.每一种不同的子弹使用不同的ObjectPool.
使用gameObject.SetActive disable和enable重复使用的prefab.
待解决问题是如果在子弹prefab Projectile中在ttl结束后直SetActive(false),在ObjectPool中SetActive(true)不能重新激活.推测是整个子弹prefab在这个操作之后都被disable了.
查看其他人的代码,为Projectile继承了父类,在父类继承来的函数中SetActive(true).
Intantiate得到的返回值一般为GameObject,通过getComponent可以得到对应的prefab类.

切换子弹

切换子弹只观测一次右键点击,应该使用getbuttondown.注意和普通getbutton\file1的区别.

标准实现方式等作业答案发下来再加.

你可能感兴趣的:(unity学习记录-ex03)