unity小球在一个台桌中运动,并与多个立方体发生碰撞的代码
时间: 2024-05-05 09:16:58 浏览: 112
以下是一个示例代码,可以让Unity中的小球在一个台桌中运动,并与多个立方体发生碰撞:
```
using UnityEngine;
public class BallController : MonoBehaviour
{
public float speed = 10f; // 小球的速度
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>(); // 获取小球的刚体组件
}
void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal"); // 获取水平方向的输入
float moveVertical = Input.GetAxis("Vertical"); // 获取垂直方向的输入
Vector3 movement = new Vector3(moveHorizontal, 0f, moveVertical); // 将输入转换为小球的运动向量
rb.AddForce(movement * speed); // 给小球施加力,让它运动起来
}
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Cube")) // 如果小球撞到了立方体
{
Destroy(collision.gameObject); // 销毁立方体
}
}
}
```
在这个代码中,我们首先获取了小球的刚体组件,然后在每一帧更新中,根据玩家的输入给小球施加力,让它运动起来。同时,我们还实现了一个碰撞检测函数,当小球撞到了标签为“Cube”的游戏对象时,我们销毁这个立方体。通过这种方式,我们可以实现小球与多个立方体的碰撞效果。
阅读全文