愤怒的小鸟之黑鸟来袭1
前置环境准备
所需工具及官方下载地址
所有工具均为官方稳定版,可直接点击链接下载:
- Unity Hub:https://unity.cn/releases,安装后选择2021.3.21f1 LTS版本,安装时仅勾选「2D Core」「2D Sprite」模块即可
- 游戏免费素材包:https://free-game-assets.itch.io/angry-birds-2d-game-assets,点击Download按钮直接下载,无需付费
- 代码编辑器:系统自带记事本即可,有VS的用户可直接关联Unity使用
第一步:项目初始化配置
新建2D项目
打开Unity Hub,点击右上角「新项目」,左侧模板栏选择「2D Core」,项目名称填AngryBirds_BlackBird1,存储路径不得包含中文、空格、特殊字符,否则会出现素材加载报错,点击右下角「创建」等待项目生成。
素材导入与全局配置
将下载的素材包解压,全选所有文件拖入Unity项目的Assets文件夹,等待右侧进度条走完完成导入。选中Assets/Sprites文件夹下的所有精灵文件,在Inspector面板修改如下配置:
- Pixels Per Unit:填100
- Filter Mode:选择Point(no filter)
- 点击右下角「Apply」保存配置
第二步:核心玩法场景搭建
场景元素布置
右键左侧层级面板,选择「New Scene」命名为Level1,保存到Assets/Scenes文件夹下,按照如下顺序新建元素并调整参数:
- 新建空物体命名为GameManager,放在场景任意位置即可
- 新建Sprite命名为Ground,挂载地面素材,位置设为(X:0,Y:-3,Z:0),缩放X设为10铺满屏幕底部
- 新建Sprite命名为Slingshot,挂载弹弓素材,位置设为(X:-4,Y:-2.2,Z:0)
- 在弹弓下方Y=-1.5位置新建空物体命名为LaunchPoint,作为发射锚点
- 新建Sprite命名为WoodBox,挂载木箱素材,位置设为(X:3,Y:-2,Z:0),再复制一个放在(X:3,Y:-1,Z:0)叠成两层
- 新建Sprite命名为Pig,挂载小猪素材,位置设为(X:3,Y:0,Z:0)放在木箱顶部
- 新建Sprite命名为BlackBird,挂载黑鸟素材,初始位置放在LaunchPoint位置
物理组件基础配置
给对应元素添加物理组件,所有参数直接按照如下设置即可:
- 给Ground、WoodBox、Pig、BlackBird、LaunchPoint分别添加Rigidbody2D组件:Ground和LaunchPoint的Body Type选Static,Gravity Scale设为0;WoodBox、Pig的Body Type选Dynamic,Gravity Scale设为1;BlackBird的Body Type先设为Kinematic,Gravity Scale设为3
- 给所有上述元素添加BoxCollider2D组件,取消勾选Is Trigger,点击Edit Collider调整碰撞框大小与精灵边缘完全匹配
第三步:黑鸟核心逻辑开发
发射与爆炸逻辑脚本
右键Assets文件夹选择「Create→C Script」,命名为SlingshotController,双击打开脚本,全量替换为如下代码,可直接复制使用:
```csharp using UnityEngine; public class SlingshotController : MonoBehaviour { public Transform slingshotPoint; // 弹弓发射锚点 public float maxDragDistance = 2f; // 最大拖拽距离 public float launchForce = 15f; // 基础发射力度 private Rigidbody2D rb; private bool isLaunched = false; void Start() { rb = GetComponent脚本挂载与参数配置
- 给BlackBird添加SpringJoint2D组件,Connected Body选择LaunchPoint的Rigidbody2D,Frequency设为5,Damping设为0.8
- 将SlingshotController脚本拖到BlackBird物体上,slingshotPoint字段选择层级面板的LaunchPoint物体
- 选中所有WoodBox物体,Inspector面板顶部Tag下拉框点击「Add Tag」,新建Destructible标签并选中;给Pig物体新建并选中Pig标签
第四步:通关逻辑与效果测试
通关判断脚本
新建C脚本命名为GameManager,全量替换为如下代码:
```csharp using UnityEngine; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { public GameObject[] pigs; // 场景内所有小猪 public float winDelay = 2f; // 通关后延迟重启时间 void Update() { bool allPigsDead = true; foreach (GameObject pig in pigs) { if (pig != null) { allPigsDead = false; break; } } if (allPigsDead) Invoke(nameof(ReloadLevel), winDelay); } void ReloadLevel() { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } } ```将脚本拖到GameManager物体上,pigs字段将场景内所有Pig物体拖入数组即可。
测试验证
点击Unity顶部的播放按钮,即可进入测试:用鼠标拖拽黑鸟向后拉动,松开即可发射,发射后1.5秒黑鸟会自动爆炸,炸毁范围内的木箱和小猪,所有小猪被销毁后2秒自动重启关卡。
常见卡壳问题排查
- 拖拽黑鸟无反应:检查BlackBird的BoxCollider2D是否勾选启用,主相机Projection是否为Orthographic,项目存储路径是否有中文
- 爆炸无击飞效果:检查WoodBox和Pig的Tag是否配置正确,OverlapCircle的半径是否大于2,Rigidbody2D的Body Type是否为Dynamic
- 发射后黑鸟直接掉落:检查BlackBird的Gravity Scale是否设为3,launchForce参数是否大于10
版权保护: 本文由 741卡盟 原创,转载请保留链接: http://741ka.com/gamenews/22550.html
- 上一篇:中国战队拿过英雄联盟冠军吗
- 下一篇:猎天使魔女攻略全收集
