zoukankan      html  css  js  c++  java
  • 小白错误<二>———未达到预设子弹生命时间,子弹自动消失

    如需转载,请保留本文链接。

    出现问题:子弹正常出现,偶尔几枚子弹会有,没有存活到5秒钟,也没有碰到物体,就自动消失的问题.

    解决关键函数:

    错误代码如下:

    public class BulletBase : MonoBehaviour
    {
        public float Speed;
        float lifeTime;
        private void Awake()
        {
            lifeTime = 0;
        }
        private void Start() {        }
        private void Update()
        {
            Run();
            disable();
        }
        //子弹运动方式
        public virtual void Run() { }
        //子弹生存5秒后死亡
        private void disable()
        {
            lifeTime += Time.deltaTime;
            if (lifeTime >= 3)
            {
                gameObject.SetActive(false);
                Pool.DeadBulletList.Add(gameObject);//将子弹加入死亡池,预备集中处理
                lifeTime = 0;
            }
        }
    }
    

    正确代码如下:

    public class BulletBase : MonoBehaviour
    {
        public float Speed;
        float lifeTime;
        private void Awake()
        {
            lifeTime = 0;
        }
        private void OnEnable()
        {
            lifeTime = 0;
        }
        private void Start() {        }
        private void Update()
        {
            Run();
            disable();
        }
        //子弹运动方式
        public virtual void Run() { }
        //子弹生存5秒后死亡
        private void disable()
        {
            lifeTime += Time.deltaTime;
            if (lifeTime >= 3)
            {
                gameObject.SetActive(false);
                Pool.DeadBulletList.Add(gameObject);//将子弹加入死亡池,预备集中处理
                lifeTime = 0;
            }
        }
    }
    

    问题所在:

    当gameobject setactive(true)时,会调用OnEnable()方法,不会调用Awake()方法.

    Awake()初始化lifeTime=0后,不再进行调用,再次使用gameobject时会调用OnEnable()方法,所以lifeTime=0也需要在OnEnable()中调用一次.

  • 相关阅读:
    OnContextMenu事件
    wireshark教程
    常见的算法题:逆行单一列表
    GPIO
    USB OTG简要
    软测验点---平衡二叉树
    SSL工作原理
    CFileDialog 使用简单介绍
    eclipse在maven项目交付svn忽略简介
    四个漂亮CSS样式表
  • 原文地址:https://www.cnblogs.com/yikecaidechengzhangshi/p/7636116.html
Copyright © 2011-2022 走看看