unity3D学习【功能实现】之八:对象池学习一

    xiaoxiao2025-10-07  5

    当你想到看这个的时候或者想了解这个的时候,也应该知道为什么要用对象池了。所以我这里主要是讲对象池的怎么建立,他的怎么运行步骤一步一步解释下来,希望帮主新手啃下这个硬骨头。 分3步讲解,一,普通的实例化cube,然后自动销毁                                     二,进行一步一步修改,使用对象池                                     三,全部代码。 步骤一。我先把关联的脚本对应关系写一下。Main Camera-----------------MoveCamera.cs                                                                                                                                         Gamemanager----------------Gmmanager.cs                                                                                                                                     这个预制体Cube---------------cubeForce.cs                                                                                                                                             这个Gmpool.cs里面是静态的函数,所以不用和任何物体挂载。 别忘了在每个脚本开头带上 using System.Collections.Generic; 命名空间 好了,那么步骤一呢,实现一个很简单的功能,就是键盘控制摄像头的移动MoveCamera.cs,这个不是重点可有可无,还有是点击鼠标发射小球。然后小球按照给的力向前面飞出去,几秒后自己摧毁。具体代码如下。 public class MoveCamera : MonoBehaviour {//这个后面不会修改了     public float movespeed;          // Update is called once per frame     void Update () {         float h = Input.GetAxis ("Horizontal");         float v = Input.GetAxis("Vertical");         transform.Translate (new Vector3(h,v,0)*movespeed);        } } public class cubeForce : MonoBehaviour {//这个后面对象池的时候要加点东西了     public float mforce;     void Start () {         GetComponent<</span>Rigidbody>().AddForce (Vector3.forward*mforce);        } public class Gmmanager : MonoBehaviour {   public GameObject mCube;  //这个到时候就不需要了     void Start () {          }             void Update () {         if(Input.GetMouseButtonDown(0)){            Instantiate (mCube,transform.position,transform.rotation);//这个应该是关键要改的地方         }          } }  // 留着明天写对象池吧。 下面一步重要就在于这个类了Gmpool.cs
    转载请注明原文地址: https://ju.6miu.com/read-1302923.html
    最新回复(0)