一 、攻击模式描述
1、由枪发射出子弹攻击敌人
2、枪作为子弹发射者
3、子弹作为攻击的执行者
二、枪的组成
枪作为子弹的发射者要有发射子弹的功能组件。
Gunshoot脚本
public class Gunshoot : MonoBehaviour
{
public GameObject bullet;
public int shoottime = 0;
public int shootlimit = 10;//射击延迟效果
public AudioSource ac;
void Update()
{
if (shoottime == 0)
{
if (Input.GetAxis("Fire1") == 1)//是否按下鼠标
{
GameObject zidan = GameObject.Instantiate(bullet, transform.position, transform.rotation);//位置,角度
shoottime = shootlimit;
ac.Play();
}
}
else
{
shoottime = shoottime - 1;
}
}
}
三、子弹
子弹作为攻击者要有攻击组件,同时子弹要接触敌人要有子弹移动组件。同时当子弹接触到其他物体时还应有子弹渣。
1、子弹攻击组件
buttleshoot
public class shoot : MonoBehaviour
{
public GameObject debris;//碎片
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "enemy")
{
collision.gameObject.GetComponent<HP>().HpCutdown(10);
}
GameObject shipian = GameObject.Instantiate(debris, transform.position, transform.rotation);
Destroy(gameObject);
}
}
2、子弹移动组件
buttlemove
public class bulletmove : MonoBehaviour
{
public float force;
public float time;
public Rigidbody rig;
void Start()
{
Destroy(gameObject, time);
rig.AddForce(this.transform.forward * force);//给一个向前的力
}
}
3、子弹渣
子弹渣需要自行消除需要需要自毁组件
public class detroy : MonoBehaviour
{
void Start()
{
Destroy(gameObject, 2);
}
}