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

来源:互联网 发布:淘宝工作室怎么运营 编辑:程序博客网 时间:2024/06/04 19:07

弹球打砖块小游戏:

制作过程:

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

参考图;


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


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



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

public class lrmove : MonoBehaviour {    //主角操作脚本    //获取边界值    float min = -5.5f, max = 5.5f;    // Use this for initialization    void Start()    {    }// Update is called once per framevoid 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<Rigidbody>().AddForce(new Vector3(150, 500, 0));        //获取小球身上的声音组件        asqiu = GetComponent<AudioSource>();    }    /// <summary>    /// 检测小球与其他物体碰撞    /// </summary>    /// <param name="collision">碰撞信息</param>    private void OnCollisionEnter(Collision collision)    {        if (collision.gameObject.tag != "blok")        {            asqiu.Play();    //弹起时 播放声音        }    }}

public class DestroyDemo : MonoBehaviour {    //每个砖块的自动销毁脚本    AudioSource asbro;// Use this for initializationvoid Start () {        asbro = GetComponent<AudioSource>();}// Update is called once per framevoid Update () {}    private void OnCollisionEnter(Collision collision)    {        asbro.Play();        Destroy(this.gameObject,0.05f);   //碰撞后 0.05s销毁自身    }}

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