unity三维弹射小球游戏代码
时间: 2023-08-24 17:40:00 浏览: 186
以下是一个简单的Unity三维弹射小球游戏的代码示例:
```csharp
using UnityEngine;
using System.Collections;
public class BallController : MonoBehaviour {
public float speed; // 球体移动速度
public float jumpForce; // 球体弹跳力
private Rigidbody rb;
private bool isGrounded; // 是否在地面上
void Start () {
rb = GetComponent<Rigidbody>();
isGrounded = true; // 初始时球体在地面上
}
void FixedUpdate () {
// 获取用户输入
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
// 根据用户输入移动球体
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.AddForce(movement * speed);
// 球体跳跃
if (Input.GetKeyDown(KeyCode.Space) && isGrounded) {
rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
isGrounded = false;
}
}
void OnCollisionEnter(Collision other) {
// 判断球体是否在地面上
if (other.gameObject.CompareTag("Ground")) {
isGrounded = true;
}
}
}
```
这段代码实现了用户控制球体移动,并且可以在空中进行一次弹跳。需要注意的是,该代码只包含了球体的移动和弹跳逻辑,还需要根据游戏需求添加其他逻辑和功能。此外,该代码还使用了碰撞检测来判断球体是否在地面上,需要在场景中添加一个Ground对象,并为其设置标签为"Ground"。
阅读全文