zoukankan      html  css  js  c++  java
  • unity3D 2D游戏碰撞道具增加气血效果&受伤掉血效果

    代码并不高效,仅以实现效果为目的.

    被攻击时调用(需要传入HP预制件父级对象)

     1  //受到伤害时,掉血
     2     public void OnHurt(Transform HP)
     3     {
     4         print("触碰到了怪物...");
     5         //遍历父级对象
     6         for (int i = HP.childCount - 1; i >= 0; i--)
     7         {
     8             //创建临时变量T,假设是最后一个元素
     9             int t = HP.childCount - 1;
    10             //比对一致时,表示找到了一样的子级
    11             if (i == t)
    12             {
    13                 //说明还有血
    14                 if (i > 0)
    15                 {
    16                     print(i);
    17                     print("还有血...");
    18                     //删除最后一个对象(小红心)
    19                     Destroy(HP.GetChild(t).gameObject);
    20                 }
    21                 else
    22                 {
    23                     print("没血了");
    24                     //没血了,重新加载当前场景
    25                     ReStart();
    26                 }
    27             }
    28         }
    29     }

    触碰加血道具对象时调用(需要传入HP预制件父级对象)

     1 //触碰加血道具时,加血
     2     public void AddHp(Transform hp)
     3     {
     4         if (hp.childCount == 10)//满血限制
     5         {
     6             print("满血了");
     7             return;
     8         }
     9 
    10         //临时变量,存储HP父级最后一个子级的坐标x
    11         for (int i = hp.childCount - 1; i > 0; i--)
    12         {
    13             //创建临时变量,用于存储最后一个元素;
    14             var t = hp.childCount - 1;
    15             //相等时,表示找到最后一个元素
    16             if (i == t)
    17             {
    18                 //获取最后一个元素的x,Y坐标
    19                 var posX = hp.GetChild(i).gameObject.transform.position.x;
    20                 var posY = hp.GetChild(i).gameObject.transform.position.y;
    21                 //Instantiate(要生成的对象预制件,坐标,旋转,父级)x轴偏移值,可以自行更改
    22                 Instantiate(hp_yzj, new Vector3(posX += 39f, posY, 1), Quaternion.identity, hp);
    23             }
    24         } 
    25     }

    效果

    时间若流水,恍惚间逝去
  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/alanshreck/p/14772549.html
Copyright © 2011-2022 走看看