3月9日
继续进行子弹的触发检测
对于触发检测后的销毁
Destroy(collision.gameObject);//销毁检测到的物体
Destroy(gameObject);//销毁自身
tip:再次复习+强调 需要控制2d物体的渲染,比如说更改贴图,更改动画,就需要在脚本中获得SpriteRenderer组件
触发检测完善:
switch (collision.tag)
{
case "Tank":
if (isEnemyBullet)
{
collision.SendMessage("Die");
}
break;
case "Heart":
collision.SendMessage("Die");
Destroy(gameObject);
break;
case "Enemy":
break;
case "Wall":
Destroy(collision.gameObject);
Destroy(gameObject);
break;
case "Barrier":
Destroy(gameObject);
break;
}
同时复制一份子弹预制体改为EnemyBullet,将isEnemyBullet勾选为true,这样敌人的子弹攻击tank就会有伤害了
接下来给tank添加出生特效,这里用到一个延时调用函数
Invoke("BornTank", 0.8f);
然后在动画播放完以后,在位置上实例化出tank
Instantiate(playerPrefab, transform.position, Quaternion.identity);