炮筒中:
public GameObject a;//将场景中子弹拖入project成预制体,然后拖入脚本里
public GameObject b;//子弹生成位置
public void Update()
{
if (Input.GetMouseButtonDown(0))//是否按下左键
{
Instantiate(a);//实例化(复制)a
a.transform.position = b.transform.position;//a的位置
a.transform.rotation = b.transform.rotation;//a的初始轴向
}
}
成预制体的子弹:
Public void update()
{
this.transform.Translate(GameObject.FindWithTag("zidan").transform.localPosition*10*Time.deltaTime,Space.Self);
//子弹移动:沿标签为zidan的空物体的本地坐标,以10速度*delta时间移动
}
用法:
1.新建cube作为炮筒,新建空物体作为子弹产生的位置
2.空物体拖给炮筒做子级(然后给炮筒添加移动脚本,这里脚本不再演示,因为主要说的是子弹发射问题)
3.将第一段代码拖给unity炮筒
4.先场景中创建个球------将球拖进project(这一步是将球转成预制体)---将第二段代码拖给project中的球即可
5.炮筒中,将预制体球拖入,将空物体拖入(作为球产生的物体)即可
//百度了一下说子弹发射有两种方式:射线/实例化子弹,这里我用的实例化子弹(因为射线还没搞懂QAQ...,搞懂再发布吧!)
|