首先创建一个坦克模型,在炮口处创建一个空物体作为炮弹的创建点和出现的点.把下面的代码挂到空物体上.
using UnityEngine;
using System.Collections;
/// <summary>
/// 发射子弹
/// </summary>
public class TankScript : MonoBehaviour {
//子弹
public GameObject BulletPrefab;
//子弹发射的位置
public Transform bulletPosition;
//定时器
float time = 0;
void Update () {
CreateBullet ();
}
//创建子弹
void CreateBullet(){
//定时器计时
time += Time.deltaTime;
if(time >= 1){
//定时器归零
time = 0;
//实例化子弹
//子弹的旋转和子弹位置的旋转一致
Instantiate(BulletPrefab
,bulletPosition.position
,bulletPosition.rotation);
}
}
}
//然后创建一个炮弹的预制体,挂上以下代码,即可享受坦克发射炮弹的效果了.
using UnityEngine;
using System.Collections;
/// <summary>
/// 让子弹沿着炮管的正前方 射出
/// </summary>
public class BulletScript : MonoBehaviour {
public float speed = 5;
void Start(){
}
void Update () {
//位移
transform.Translate (transform.forward * speed
* Time.deltaTime);
//旋转
transform.Rotate(transform.forward * 45 * Time.deltaTime);
}
}