Unity 弹球打砖块游戏(简易)

弹球打砖块小游戏:

制作过程:

搭框架:设计三个方向上的边框,防止小球弹出,一个打物体的弹力球,一个主角操控的底端,一堆要销毁的物体,还加里几个音效在相应的物体身上,,

参考图;

Unity 弹球打砖块游戏(简易)_第1张图片

需要注意的是所有进行碰撞的物体都要添加一个物理材质(弹力)

Unity 弹球打砖块游戏(简易)_第2张图片

每个边框物体都要有以下的组件:

Unity 弹球打砖块游戏(简易)_第3张图片


然后个相应的物体添加代码即可实现简单效果,,,

public class lrmove : MonoBehaviour {

    //主角操作脚本

    //获取边界值
    float min = -5.5f, max = 5.5f;
    // Use this for initialization
    void Start()
    {
    }
	
	// Update is called once per frame
	void Update () {

        //获取水平轴输入的变量
        float x = Input.GetAxis("Horizontal");

        //移动物体
        this.transform.Translate(new Vector3(0, -x, 0) * Time.deltaTime * 10);

        //使用Mathf里的Clamp函数对物体的位置进行限制
        transform.position = new Vector3(Mathf.Clamp(transform.position.x,min,max),-7.0f,0);
	}
}

public class qiuqiu : MonoBehaviour {

    AudioSource asqiu;   //获取AudioSource类型
    // Use this for initialization
    void Start () {
        //给小球初速度
        this.GetComponent().AddForce(new Vector3(150, 500, 0));
        //获取小球身上的声音组件
        asqiu = GetComponent();
    }
    /// 
    /// 检测小球与其他物体碰撞
    /// 
    /// 碰撞信息
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag != "blok")
        {
            asqiu.Play();    //弹起时 播放声音
        }
    }


}

public class DestroyDemo : MonoBehaviour {

    //每个砖块的自动销毁脚本

    AudioSource asbro;
	// Use this for initialization
	void Start () {
        asbro = GetComponent();
	}
	
	// Update is called once per frame
	void Update () {
		
	}

    private void OnCollisionEnter(Collision collision)
    {
        asbro.Play();
        Destroy(this.gameObject,0.05f);   //碰撞后 0.05s销毁自身
    }
}

这里我的想法是:每个关卡都用被销毁物体做出不同的形状,继而没有使用克隆的方法进行生成被销毁物体,,本篇博客只实现了一些基本的功能,,,


你可能感兴趣的:(ジ﹋★☆『,自,卟,說,』,Unity,实例练习)