7月21日学习日志

还是想着给我的人物加上生命值。

第一个想法

在player character中加入lifeCount ,在父类character中的Death()发生时,调用。
但是,发现,Destory(object)会把原来的那个删除,所以数值始终是3.
所以我换了个想法

第二个想法

在死亡函数发生的时候,针对不同对象发生。

    {
        if (gameObject.tag == "Player")
        {
            if (deathCount < 4)
            {
                deathCount++;
                var fx = Instantiate(deathFx, transform.position, Quaternion.Euler(Vector3.zero));
                Destroy(fx, 2);
            }
            else
            {

                var fx = Instantiate(deathFx, transform.position, Quaternion.Euler(Vector3.zero));
                Destroy(fx, 2);
                Destroy(gameObject);
            }
           
        }
        else
        {
            var fx = Instantiate(deathFx, transform.position, Quaternion.Euler(Vector3.zero));
            Destroy(fx, 2);
            Destroy(gameObject);
        }        
    }

但不知道为什么,还是行不通。最后在Debug 之后,发现不停的udpdate之后,会影响计算死亡次数。并且是随机性的。
于是 我想 就直接利用他的随机 写一个动态生成的血量。
有了一下代码块

    {

        //inflicter.Jump();// inflicter 是加害者
        health -= damage;
        if (health <= 0)//如果血没了就死  如果没死 就把现有的血量数值放在life里面
        {
            Death();
            
            hud.health.text ="health:0" ;
           
            //if character .is Alive = false -> plan e 
        }
  {

      if (hit.gameObject.tag == "AI")
      {
          //Death();
          TakeDamage(hit.gameObject.GetComponent<Character>(), 5);//此处根据碰撞事件长短 很难控制扣血量
      }

  }

比较简单。可以直接看。
这次的教训是,以后要分清楚怪物和主角。
并且要提前与想好有什么不同的。这样分开来写代码比较合适。

最难的问题就是 如何在2.5d的场景下让相机的镜头里始终有人物

今天没改出来,明天加油吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值