Unity初级案例-愤怒的小鸟:五:14添加失败和胜利的游戏UI界面+15修改火花粒子系统+16渲染层级关系+17把粒子系统显示在UI之前
目录
一.目的
1.想知道:愤怒的小鸟:如何制作
2.做好学习笔记,方便下次查看
二.参考
1.SIKI学院
good:学习的网址
三.注意
1.版本
- Unity2017.2.0f3
- VS2019
- UnityHUB 2.5.6
操作:1:14添加失败和胜利的游戏UI界面
1.新建UI的Image作为失败、胜利的整体背景图
新建后,如图所视,全屏显示+改名字为lose
如果所视将其弄成半透明度
1.在lose下再新建Image,作为按钮的背景图
如图所视,将其颜色、位置等设置好
1.切割按钮图
1.设置按钮
如图所视设置2个按钮图片+1个猪头 +改名字为home和retry
1.设置lose界面的动画
1.设置win界面+动画
基本都是从lose界面和动画中复制过来的+将win里面的动画修改一下
1.代码:GameManager:制作输赢
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】
/// Function:小猪身上的代码
/// </summary>
public class GameManager : MonoBehaviour
{
/// <summary>List:所有的小鸟【10游戏逻辑的判定,实现多只小鸟的飞出:添加】</summary>
public List<Bird> birds;
/// <summary>List:所有的猪【10游戏逻辑的判定,实现多只小鸟的飞出:添加】</summary>
public List<Pig> pigs;
/// <summary>单例【10游戏逻辑的判定,实现多只小鸟的飞出:添加】</summary>
public static GameManager _instance;
/// <summary>Vector3:初始化位置【11解决重复划线和小鸟轮换速度突然变大的问题:添加】</summary>
private Vector3 originPos;
/// <summary>GameObject:赢界面【14 - 添加失败,胜利的游戏UI界面:添加】</summary>
public GameObject win;
/// <summary>GameObject:输界面【14 - 添加失败,胜利的游戏UI界面:添加】</summary>
public GameObject lose;
private void Awake()
{
_instance = this;//单例
if (birds.Count>0)
{
originPos = birds[0].transform.position;//【11解决重复划线和小鸟轮换速度突然变大的问题:添加】
}
}
void Start()
{
Initialized();//【10游戏逻辑的判定,实现多只小鸟的飞出:添加】
}
/// <summary>
///【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】
/// Function: 小猪碰撞检测
/// </summary>
private void Initialized()
{
for (int i = 0; i < birds.Count; i++)
{
//初始化时候,让第一个小鸟能够被弹,其余的都不能
if (i == 0)
{
birds[i].transform.position = originPos; //第一只小鸟位置在初始化位置【11解决重复划线和小鸟轮换速度突然变大的问题:添加】
birds[i].enabled = true;
birds[i].sp.enabled = true;
}
else
{
birds[i].enabled = false;
birds[i].sp.enabled = false;
}
}
}
/// <summary>
///【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】
/// Function: 下一只小鸟
/// </summary>
public void NextBird()
{
if (pigs.Count > 0)
{
if (birds.Count > 0)
{
//下一只飞吧
Initialized();
}
else
{
//输了
lose.SetActive(true);//【14 - 添加失败,胜利的游戏UI界面:添加】
}
}
else
{
//赢了
win.SetActive(true);//【14 - 添加失败,胜利的游戏UI界面:添加】
}
}
/// <summary>
///【Author:xzy;Time:2022-01-01】【14 - 添加失败,胜利的游戏UI界面:添加】
/// Function: 显示星星
/// </summary>
public void ShowStart()
{
}
}
将对象拖拽到合适位置
1.代码:Win:给赢的UI添加逻辑
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
///【Author:xzy;Time:2022-01-01】【14 - 添加失败,胜利的游戏UI界面:添加】
/// Function: 赢界面的代码
/// </summary>
public class Win : MonoBehaviour
{
/// <summary>
///【Author:xzy;Time:2022-01-01】【14 - 添加失败,胜利的游戏UI界面:添加】
/// Function: 动画播放完毕,显示星星
/// </summary>
public void Show()
{
GameManager._instance.ShowStart();
}
}
1.动画设置:win界面动画播放完毕,显示星星
1.运行结果:成功
操作:2:15修改火花粒子系统
1.裁剪星星+添加星星到赢的UI界面中
如图进行设置做好 左中右3个星星
1.导入火花粒子的资源
1.烟火粒子特效调整