为了让主角可以发射子弹,需要把做好的子弹和主角关联起来。
关联
首先,打开Player脚本,添加一个Transform属性,它将指向子弹的Prefab,如下
public Transform m_rocket;//添加子弹组件
这样在Player的属性中就有一个Rocket选项,选择子弹的Prefab,将其拖到Rocket选项上面,如图
发射子弹的代码如下
//发射子弹
//按空格或鼠标左键发射子弹
if (Input.GetKey(KeyCode.Space )||Input .GetMouseButton (0))
{
Instantiate(m_rocket, m_transform.position, m_transform.rotation);
}
发现子弹发射的太快了如图
想到改变发射速度
代码如下
先添加一个控制发射频率的属性
float m_rocketTimer=0;
然后在Update函数中加如下代码
m_rocketTimer -= Time.deltaTime;
if (m_rocketTimer <= 0)
{
m_rocketTimer = 0.1f; //每隔0.1秒发射一次子弹
//按空格或鼠标左键发射子弹
if (Input.GetKey(KeyCode.Space) || Input.GetMouseButton(0))
{
Instantiate(m_rocket, m_transform.position, m_transform.rotation);
}
}
效果如图