需要注意的是所有进行碰撞的物体都要添加一个物理材质(弹力)
每个边框物体都要有以下的组件:
然后个相应的物体添加代码即可实现简单效果,,,
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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。