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

2020-10-22 10:59发布

弹球打砖块小游戏:

制作过程:

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

参考图;

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

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


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


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<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 initialization

void Start () {

        asbro = GetComponent<AudioSource>();

}

// Update is called once per frame

void Update () {

}

 

    private void OnCollisionEnter(Collision collision)

    {

        asbro.Play();

        Destroy(this.gameObject,0.05f);   //碰撞后 0.05s销毁自身

    }

}



作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/77477433

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。