玩家无敌方法与死亡方法的编写
在外面封装一个方法 die
第一步是产生爆炸特效 先要拿到特效的预制体(在外面拿到)
public GameObject explosionPrefab; 要不要加大写
里面也是实例化的方法 与子弹很像
Instantiate(explosionPrefab,transform
在爆炸特效上添加消失脚本
start 里 加销毁 Destroy(gameObject,0.167f);可以加时间
再在玩家物件里 把Explosion预制件拖入script组件的公共变量的空格里
第二步 死亡 Destroy(gameObject);
出生无敌保护
又在外面加一个的bool值变量
private bool isDefended=true; bool值默认为false
受到保护时不会被销毁
再在外面加一个计时器
private float defendTimeVal=3;
再在update里 加上判定方法
如果处于保护状态 受保护时间累减
再判定如果时间小于等于0
再将保护变量改为flase
然后需要屏蔽掉死亡方法中的两个小方法
直接在其前面接个判定其是否受保护的方法是的话直接return掉
再去拿到受保护特效的预制体 才发现预制体的名字好像是随意定的,到时候只需拖进去就行了
Public GameObject defendEffectPrefab;
再把护盾套在玩家身上
先把shield拖到player下面 再reset一下(盾的transform的右边)
怎么让他显示与关闭呢,先把预制件拖进去
再无敌判定下面加上一个专门的语法 来控制
defendEffectPrefab.SetActive(true);
这样就可以在外面控制了
关闭 在flase的关闭语句中 把他改为flase
再在bullet的标签switch里 tank的case下