
登录 - SiKi学院 - 生命不息,学习不止!
good:学习的网址
- Unity2017.2.0f3
- VS2019
- UnityHUB 2.5.6
1.代码GameManager:添加重新玩逻辑
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement;//【20添加鼠标注册事件:添加】 ////// 【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 /// Function:小猪身上的代码 /// public class GameManager : MonoBehaviour { ///List:所有的小鸟【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 public Listbirds; /// List:所有的猪【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 public Listpigs; /// 单例【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 public static GameManager _instance; ///Vector3:初始化位置【11解决重复划线和小鸟轮换速度突然变大的问题:添加】 private Vector3 originPos; ///GameObject:赢界面【14 - 添加失败,胜利的游戏UI界面:添加】 public GameObject win; ///GameObject:输界面【14 - 添加失败,胜利的游戏UI界面:添加】 public GameObject lose; ///GameObject:星星UI【18让星星一颗一颗的显示:添加】 public GameObject[] stars; private void Awake() { _instance = this;//单例 if (birds.Count>0) { originPos = birds[0].transform.position;//【11解决重复划线和小鸟轮换速度突然变大的问题:添加】 } } void Start() { Initialized();//【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 } //////【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 /// Function: 小猪碰撞检测 /// 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; } } } //////【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】 /// Function: 下一只小鸟 /// public void NextBird() { if (pigs.Count > 0) { if (birds.Count > 0) { //下一只飞吧 Initialized(); } else { //输了 lose.SetActive(true);//【14 - 添加失败,胜利的游戏UI界面:添加】 } } else { //赢了 win.SetActive(true);//【14 - 添加失败,胜利的游戏UI界面:添加】 } } //////【Author:xzy;Time:2022-01-01】【14 - 添加失败,胜利的游戏UI界面:添加】 /// Function: 显示星星 /// public void ShowStart() { StartCoroutine("Show"); //开启协程【18让星星一颗一颗的显示:添加】 } //////【Author:xzy;Time:2022-01-01】【18让星星一颗一颗的显示:添加】 /// Function: 星星一颗颗显示 /// IEnumerator Show() { //【18让星星一颗一颗的显示:添加】 for (int i = 0; i < birds.Count + 1; i++) { yield return new WaitForSeconds(0.2f); stars[i].SetActive(true); } } //////【Author:xzy;Time:2022-01-03】【20添加鼠标注册事件:添加】 /// Function: 重新玩 /// public void Replay() { SceneManager.LoadScene(2); } //////【Author:xzy;Time:2022-01-03】【20添加鼠标注册事件:添加】 /// Function: 回到主界面 /// public void Home() { SceneManager.LoadScene(1); } }
1.按钮添加点击事件
win界面按钮添加事件
lose界面按钮添加事件
1.场景序号设置
1.加分的数字做一个新的UI图层:避免分数被其他东西挡住
1.代码:PausePanel
为了让动画播放完毕后出现暂停效果