亚洲欧美日韩熟女|做爱高潮视频网址|国产一区二区三级片|国产Av中文字幕www.性色av|亚洲婷婷永久免费|国产高清中文字幕|欧美变态网站久re视频精品|人妻AV鲁丝第一页|天堂AV一区二区在线观看|综合 91在线精品

Unity框架:JKFrame2.0學習筆記(四)——對象池系統(tǒng)(2)

2023-04-12

前言


書接上回,上一篇文章介紹了對象池系統(tǒng)的構(gòu)成和內(nèi)部實現(xiàn)的邏輯,這一篇文章主要記錄下對象池系統(tǒng)在JKFrame2.0的框架中該如何使用。


案例


我們做一個發(fā)射子彈的例子,來用到對象池系統(tǒng)。


創(chuàng)建子彈

創(chuàng)建子彈的預制體,可以用球來代替



添加子彈腳本

給子彈預制體添加子彈腳本,子彈2秒鐘后,自動銷毀


using JKFrame;
using UnityEngine;

public class BulletController : MonoBehaviour
{
    public void Init()
    {
        transform.position=Vector3.zero; 
        Invoke(nameof(DestoryBullet),2f); 
    }
    void Update()
    {
        transform.Translate(Vector3.forward*Time.deltaTime*5);
    }

    private void DestoryBullet()
    {
        transform.position=Vector3.zero;
        //子彈放回對象池
        PoolSystem.PushGameObject(gameObject);
    }
}

添加控制發(fā)射腳本

寫一個控制發(fā)射子彈的腳本,掛載到場景的空物體上


using JKFrame;
using UnityEngine;

public class PoolTest : MonoBehaviour
{
    public GameObject bullet;
    void Start()
    {
        //初始化對象池
        PoolSystem.InitGameObjectPool(bullet,10,10);
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //從對象池中獲取子彈
            PoolSystem.GetGameObject("bullet", transform)?.Init();
        }
    }
}

最終效果


總結(jié)


只是舉了個簡單的例子,拋磚引玉,大家可以多看下源碼,對象池系統(tǒng)的用法還有很多,要靈活運用,以后的其他模塊也有很多要用到對象池系統(tǒng)的。





本文僅代表作者觀點,版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請在文中注明來源及作者名字。

免責聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請及時與我們聯(lián)系進行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com