Unity3D【火星大战一】

火星大战

 

一、游戏场景的搭建


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/

你可能感兴趣的:(Unity3D,unity,unity3d)