火星大战
一、游戏场景的搭建
1、导入资源包,合理放置飞机的位置。如图:
二、设置本机的移动及子弹的发射,并建立脚本,将将脚本附给对象,如图:
三、设置敌机的移动及子弹的发射,并建立脚本,将将脚本附给对象,如图:
2、编写自己飞机Player和子弹PlayerRocket的脚本:
Player脚本代码如下:
void Update () {//控制飞机的移动
float x = Input.GetAxis("Horizontal");//水平
float z = Input.GetAxis("Vertical"); //垂直
this.transform.Translate(-x*speed*Time.deltaTime,0,-z*speed*Time.deltaTime);//前后左右位移
if (Input.GetMouseButtonDown(0) || Input.GetKey(KeyCode.Space))
//当鼠标点击左键或按空格键时发射子弹
{
//克隆子弹,将子弹获取飞机的位置
GameObject rocket = Instantiate(myRocket, transform.position, Quaternion.identity) as GameObject;
}
}
PlayerRocket脚本代码如下:
void Update (){
// this.gameObject.rigidbody.AddForce(0,0,-1000);子弹移动的两种方法
transform.Translate(Vector3.back);
Destroy(this.gameObject,1.5f);
}
3、编写敌机脚本及子弹脚本:
敌机脚本代码:
public class Enemy : MonoBehaviour {
public GameObject enemyRocket;//机子弹
float speed = 1f;
float time = 1f;
float liftTime = 3f;//生命值
void Update () {//每隔一秒发射一颗子弹
time -= Time.deltaTime;//计时
if(time<=0){
time = 1;
Instantiate(enemyRocket,transform.position,Quaternion.identity);
}
transform.Translate(Vector3.back * Time.deltaTime * speed);//敌机向前移
}
敌机子弹脚本:
void Update () {
// transform.gameObject.rigidbody.AddForce(0,0,100);
transform.Translate(Vector3.forward);
Destroy(this.gameObject,2f);
}
更多精彩请点击 http://www.gopedu.com/