飞机大战unity脚本
时间: 2023-10-21 19:04:48 浏览: 119
以下是一个简单的飞机大战游戏的Unity脚本示例:
```
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float speed = 10.0f; // 飞机速度
public float tiltSpeed = 5.0f; // 飞机倾斜速度
public float xMin, xMax, zMin, zMax; // 飞机移动范围
public GameObject shotPrefab; // 子弹预制体
public Transform shotSpawn; // 子弹生成位置
public float fireRate = 0.5f; // 发射子弹的时间间隔
private float nextFire = 0.0f; // 下次可以发射子弹的时间
void Update()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
GetComponent<Rigidbody>().velocity = movement * speed;
// 控制飞机倾斜
GetComponent<Rigidbody>().rotation = Quaternion.Euler(0.0f, 0.0f, -moveHorizontal * tiltSpeed);
// 控制飞机移动范围
GetComponent<Rigidbody>().position = new Vector3(
Mathf.Clamp(GetComponent<Rigidbody>().position.x, xMin, xMax),
0.0f,
Mathf.Clamp(GetComponent<Rigidbody>().position.z, zMin, zMax)
);
// 发射子弹
if (Input.GetButton("Fire1") && Time.time > nextFire)
{
nextFire = Time.time + fireRate;
Instantiate(shotPrefab, shotSpawn.position, shotSpawn.rotation);
}
}
}
```
这个脚本可以让你控制一个飞机,移动和发射子弹。你需要将这个脚本添加到飞机游戏对象上,并设置好相关的参数。当你按下“Fire1”按键时,它会实例化一个子弹预制体并在指定的位置发射它。你可以根据需要调整速度、倾斜速度、移动范围和子弹发射速率等参数。
阅读全文