想快速做出一款能操控飞机射击的教基础小游戏?本教程用最直接的方式带你完成基础版本(以Unity为例),适合零基础新手。程零

1. 准备工具

  • 下载安装Unity Hub,制作创建新项目(选择2D模板)。飞机
  • 素材准备:免费资源网站(如Kenney.nl)下载飞机、射击子弹、游戏敌机图片。教基础
  • 2. 设置飞机与场景

    1. 将飞机图片拖入场景,程零重命名为“Player”。制作

    2. 右键层级视图 → 创建2D对象 → 背景(设为纯色或导入背景图)。飞机

    3. 控制飞机移动

    1. 为“Player”添加刚体组件(Rigidbody 2D)→ 重力调为0。射击

    2. 新建C脚本“PlayerController”,游戏挂载到飞机上,教基础写入以下代码:

    ```csharp

    public float speed = 5f;

    void Update {

    float moveX = Input.GetAxis("Horizontal"); // 左右按键

    float moveY = Input.GetAxis("Vertical"); // 上下按键

    transform.Translate(new Vector2(moveX,程零 moveY) speed Time.deltaTime);

    ```

    4. 发射子弹

    1. 创建子弹预制体:拖入子弹图片 → 添加碰撞器 → 拖入项目视图保存为预制体。

    2. 新建脚本“Shoot”挂载到飞机:

    ```csharp

    public GameObject bulletPrefab;

    public float fireRate = 0.5f;

    private float nextFire = 0f;

    void Update {

    if (Input.GetKey(KeyCode.Space) && Time.time >nextFire) {

    nextFire = Time.time + fireRate;

    Instantiate(bulletPrefab,制作 transform.position, Quaternion.identity);

    ```

    5. 生成敌机

    1. 创建敌机预制体(方法同子弹)。

    2. 新建空对象“EnemySpawner”,挂载脚本:

    ```csharp

    public GameObject enemyPrefab;

    public float spawnInterval = 2f;

    void Start {

    InvokeRepeating("SpawnEnemy", 0f, spawnInterval);

    void SpawnEnemy {

    float randomX = Random.Range(-8f, 8f);

    Instantiate(enemyPrefab, new Vector2(randomX, 6f), Quaternion.identity);

    ```

    6. 碰撞与得分

    1. 为子弹、敌机添加标签(Tag)如“Bullet”和“Enemy”。

    2. 新建脚本“Enemy”挂载到敌机预制体:

    ```csharp

    public int scoreValue = 10;

    void OnTriggerEnter2D(Collider2D other) {

    if (other.CompareTag("Bullet")) {

    Destroy(gameObject); // 敌机被击中后消失

    Destroy(other.gameObject); // 子弹消失

    ScoreManager.AddScore(scoreValue);

    ```

    3. 创建UI文本显示分数,编写“ScoreManager”脚本(静态方法管理分数)。

    7. 测试与优化

  • 运行游戏,按WASD移动,空格射击,检查敌机是否自动生成并碰撞消失。
  • 调整数值:Inspector面板中修改速度、生成间隔等参数优化体验。
  • 扩展建议:添加音效、血条或关卡难度递增(如敌机加速)。

    立即动手尝试,评论区晒出你的作品!