unity游戏开发飞机大战作业(附代码)

首先只要按图摆放好对应组件

在unity2d项目运行

代码:按图片从左往右

1.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Bullet1: MonoBehaviour {

    // Use this for initialization
    void Start () {
        Destroy(gameObject, 2);
    }
    
    // Update is called once per frame
    void Update () {
        transform.Translate(Vector3.up * 20 * Time.deltaTime);
    }
}

2.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Enesy_s1 : MonoBehaviour {

    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        transform.Translate(Vector3.down * 2 * Time.deltaTime);
        if (transform.position.y < -5)
        {
            float x = Random.Range(-7.1f, 8.8f);
            transform.position = new Vector3(x,
                9, -0.3f);
        }
    }
}

3.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class firee : MonoBehaviour {
    public GameObject m_Bullet;
    public Transform m_ttt;
    // Use this for initialization
    void Start () {
        
    }
    private void move()
    {
        
    }
    // Update is called once per frame
    void Update () {
        move();
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Instantiate(m_Bullet, m_ttt.position,
                Quaternion.identity);
        }
    }
}

4.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class huadong : MonoBehaviour {

    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        
    }
    private void FixedUpdate()
    {
        transform.Translate(Vector3.down * Time.deltaTime * 1);
        if (transform.position.y < -15)
        {
            transform.position = new Vector3(0, 15, 10);
        }
    }
}

5.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Movee : MonoBehaviour {
    // Use this for initialization
    void Start()
    {
        Debug.Log("you 1 run");
    }
        void move()
        {
            float h = Input.GetAxis("Horizontal");
            transform.Translate(Vector3.right * Time.deltaTime * 10 * h);
            transform.Translate(Vector3.left * Time.deltaTime * 10 * h);
        Debug.Log("you 2 run");
            if (transform.position.x > 9f)
            {
                transform.transform.position = new Vector3(-9f,
                    transform.position.y, 0);
            }

            if (transform.position.x < -9f)
            {
                transform.transform.position = new Vector3(9f,
                    transform.position.y, 0);
            }
        } 
    // Update is called once per frame
    void Update () {
        move(); Debug.Log("you 3 run");
    }
}

6.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class player : MonoBehaviour {

    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        
    }
}

7.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ppp : MonoBehaviour {
    Rigidbody2D rig;

    public GameObject shellExplosionPrefab;
    public AudioClip shellExplosionAudio;

    void Start () {
        rig = GetComponent<Rigidbody2D>();
    }

    void OnCollisionEnter(Collision collision)
    {
        print(collision.gameObject.name);
    }

    void OnTriggerEnter(Collider2D col)
    {
        Debug.Log(col.gameObject.name);
        print("success");
        AudioSource.PlayClipAtPoint(shellExplosionAudio, transform.position);
    }
}

8.

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class s1 : MonoBehaviour {

    Rigidbody2D rig;
    void Start () {
        rig = GetComponent<Rigidbody2D>();
        
    }
    
    // Update is called once per frame
    void Update () {

        if (Input.GetKeyDown(KeyCode.D))
        {
            rig.AddForce(Vector2.left * 0);
            rig.AddForce(Vector2.right * 100);
    
          
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            rig.AddForce(Vector2.right * 0);
            rig.AddForce(Vector2.left* 100);
      
      
        }
        if (Input.GetKeyDown(KeyCode.W))
        {
            rig.AddForce(Vector2.up * 150);
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            rig.AddForce(Vector2.down * 100);
        }
    }
}

9.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class s2 : MonoBehaviour {

    Rigidbody2D rig;
    int dir = 1;
    void Start () {
        rig = GetComponent<Rigidbody2D>();
    }
    void FixedUpdte()
    {
        rig.velocity = new Vector2(5, GetComponent<Rigidbody2D>().velocity.y);
        if (Input.GetKeyDown(KeyCode.Space))
        {
            flip();
        }
    }
    void flip()
    {
        Vector3 v = transform.localScale;
        v.x *= -1;
        transform.localScale = v;
        dir *= -1;
    }
    
    // Update is called once per frame
    void Update () {
        
    }
}

10.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class tes: MonoBehaviour
{
                       //用来接收一个prefab
    public GameObject prefab;
    public bool isCanCreat
    {
        get
        {
            return time <= 0f;
        }
    }//用来判断time变量是否已经为0或负数,即时间是否达到两秒
    public float time;//时间间隔
    private Transform ttt;
    void Start()
    {
        time = 0.5f;//时间间隔设置为x秒
        ttt = transform.Find("ttt");
    }
    void creatPrefab()
    {
       
        time = 0.5f;//使time变量归位
        GameObject go=Instantiate(prefab);//实例化一个prefab
        }
    void Update()
    { 
        if (time > 0)
        {
            time -= Time.deltaTime;//减去每一帧所消耗的时间
        }
        if (isCanCreat)
        {
            creatPrefab();
        }
    }
}

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值