Unity学习

这段时间主要加强unity的学习。
花了两天时间做了个小游戏,对unity加强了解。
游戏玩法:
通过方块反弹小球。
右键发射小球
左键方块跳跃

在这里插入图片描述
游戏由 Ball、Floor、Launcher三个游戏对象组成。
学到的经验:(1) 对预制体理解更加深入。
(2) 对各种组件的整理。

学习到功能性脚本:
刚体跳跃
第一种方式,只要求跳跃

public class Jump : MonoBehaviour
{
	private Rigidbody m_rigidbody;
    void Start()
    {
		m_rigidbody = gameObject.GetComponent<Rigidbody>();
    }
    void Update()
	{
		if (Input.GetMouseButtonDown(0))
		{
			m_rigidbody.velocity = new Vector3(0, 10, 0);
		}

	}
}

深化跳跃,不让方块在没有接触地面时跳跃。

public class player : MonoBehaviour
{
    public float jump_speed = 10;
    public bool is_landing = false;
    void Start()
    {
        this.is_landing = false;
    }

    void Update()
    {
        if(this.is_landing)
        {

            if(Input.GetMouseButtonDown(0))
            {
                this.is_landing = false;
            this.GetComponent<Rigidbody>().velocity = Vector3.up * jump_speed;//velocity表示刚体的方向向量;this.GetComponent<Rigidbody>()固定函数表示获得刚体组件

            }
         } 
    }
    private void OnCollisionEnter(Collision collision)//进入碰撞
    {
        if (collision.gameObject.tag == "Floor")
        {
            this.is_landing = true;
        }
    }
}

核心代码:this.GetComponent()

小球发射
核心代码:Instantiate(this.BallPrefab);
原理:实例化小球的预制体

 void Update()
    {
        if (Input.GetMouseButtonDown(1))
        {
            Instantiate(this.BallPrefab);
        }
       
    }