IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity初级案例-愤怒的小鸟:六:17把粒子系统显示在UI之前+18让星星一颗一颗的显示+19添加暂停动画 -> 正文阅读

[游戏开发]Unity初级案例-愤怒的小鸟:六:17把粒子系统显示在UI之前+18让星星一颗一颗的显示+19添加暂停动画

目录

一.目的

1.想知道:愤怒的小鸟:如何制作

2.做好学习笔记,方便下次查看

二.参考

1.SIKI学院

三.注意

1.版本

操作:1:17把粒子系统显示在UI之前

1.知识介绍

1.设置?把粒子系统显示在UI之前

操作:2:18让星星一颗一颗的显示

1.移除相机?

1.代码:星星出现

1.运行结果:成功

操作:3:19添加暂停动画

1.解决报错问题

1.代码:Bird

1.解决bug:完成

1.将鸟和猪作为预制件

1.制作暂停按钮

1.制作暂停UI界面

1.制作:暂停UI出现的动画

1.制作:回到游戏的动画

?1.按钮图标添加按钮组件


一.目的

1.想知道:愤怒的小鸟:如何制作

2.做好学习笔记,方便下次查看

二.参考

1.SIKI学院

登录 - SiKi学院 - 生命不息,学习不止!

good:学习的网址

三.注意

1.版本

  1. Unity2017.2.0f3
  2. VS2019
  3. UnityHUB 2.5.6

操作:1:17把粒子系统显示在UI之前

1.知识介绍

?

1.设置?把粒子系统显示在UI之前

?

操作:2:18让星星一颗一颗的显示

1.移除相机?

?

1.代码:星星出现

?

1.运行结果:成功

?

操作:3:19添加暂停动画

1.解决报错问题

1.代码:Bird

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 【Author:xzy;Time:2021-12-28】
/// Function:小鸟身上的代码
/// </summary>
public class Bird : MonoBehaviour
{
    /// <summary>bool:是否点击</summary>
    private bool bIsClick = false;

    /// <summary>float:计算鸟和弹弓的距离的最大值</summary>
    public float fMaxdis = 3;

    /// <summary>SpringJoint2D:鸟身上弹簧的组件</summary>
    [HideInInspector]
    public SpringJoint2D sp;

    /// <summary>Rigidbody2D:鸟身上的物理组件</summary>
    [HideInInspector]
    private Rigidbody2D rg;

    /// <summary>Transform:弹弓右边的位置,目的:方便计算鸟和弹弓的距离</summary>
    public Transform rightPos;

    /// <summary>Transform:弹弓左边的位置,目的:方便划线【课程08弹弓画线操作:添加】</summary>
    public Transform leftPos;

    /// <summary>LineRenderer:弹弓右边的划线组件【课程08弹弓画线操作:添加】</summary>
    public LineRenderer right;

    /// <summary>LineRenderer:弹弓左边的划线组件【课程08弹弓画线操作:添加】</summary>
    public LineRenderer left;

    /// <summary>GameObject:特效【10游戏逻辑的判定,实现多只小鸟的飞出:添加】</summary>
    public GameObject boom;

    /// <summary>TestMyTrail:拖尾【12 - 添加小鸟飞出的拖尾效果:添加】</summary>
    private TestMyTrail myTrail;

    /// <summary>bool:是否可以移动【19添加暂停动画:添加】</summary>
    private bool bIsCanMove = true;

    private void Awake()
    {
        sp = this.GetComponent<SpringJoint2D>();//获取小鸟的弹簧组件
        rg = this.GetComponent<Rigidbody2D>();//获取小鸟身上的物理组件
        myTrail = GetComponent<TestMyTrail>();//获取组件【12 - 添加小鸟飞出的拖尾效果:添加】
    }

    /// <summary>
    ///【Author:xzy;Time:2021-12-28】
    /// Function: 鼠标按下
    /// </summary>
    private void OnMouseDown()
    {
        if (bIsCanMove)//【19添加暂停动画:添加】
        {
            bIsClick = true;
            rg.isKinematic = true;//按下小鸟,让其物理组件的动力学开启,从dynamic到kinematic
        }
    }

    /// <summary>
    ///【Author:xzy;Time:2021-12-28】
    /// Function: 鼠标抬起
    /// </summary>
    private void OnMouseUp()
    {
        if (bIsCanMove)//【19添加暂停动画:添加】
        {
            bIsClick = false;
            rg.isKinematic = false;//松开小鸟,让其物理组件的动力学关闭
            Invoke("Fly", 0.1f);//定时器:唤醒 小鸟飞出的逻辑

            right.enabled = false;//禁用画线组件【11解决重复划线和小鸟轮换速度突然变大的问题:添加】
            left.enabled = false;

            bIsCanMove = false;//【19添加暂停动画:添加】
        }
    }

    private void Update()
    {
        if (bIsClick)
        {
            //鼠标按下,进行位置的跟随,屏幕坐标转换为世界坐标
            transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            transform.position += new Vector3(0, 0, -Camera.main.transform.position.z);

            //进行位置限制
            if (Vector3.Distance(transform.position, rightPos.position) > fMaxdis)
            {
                Vector3 pos = (transform.position - rightPos.position).normalized;  //单位化向量:获取方向,鸟的向量减去右边弹弓的位置的向量
                pos *= fMaxdis; //最大长度的向量
                transform.position = pos + rightPos.position;
            }

            Line();
        }
    }

    /// <summary>
    ///【Author:xzy;Time:2021-12-29】
    /// Function: 处理松开小鸟飞出的逻辑
    /// </summary>
    void Fly()
    {
        myTrail.StartTrail();//开始拖尾【12 - 添加小鸟飞出的拖尾效果:添加】
        sp.enabled = false;//松开小鸟,取消掉弹簧组件,小鸟就会飞出
        Invoke("Next", 5);//定时器:一段时候后调用Next方法
    }

    /// <summary>
    ///【Author:xzy;Time:2021-12-29】【课程08弹弓画线操作:添加】
    /// Function: 画线
    /// </summary>
    void Line()
    {       
        right.enabled = true; //开启画线组件【11解决重复划线和小鸟轮换速度突然变大的问题:添加】
        left.enabled = true;

        right.SetPosition(0, rightPos.position);//画线:右边的起始位置:右边弹弓位置
        right.SetPosition(1, this.transform.position);//画线:右边的终点位置:小鸟位置

        left.SetPosition(0, leftPos.position);
        left.SetPosition(1, this.transform.position);
    }

    /// <summary>
    ///【Author:xzy;Time:2021-12-29】【10游戏逻辑的判定,实现多只小鸟的飞出:添加】
    /// Function: 下一只小鸟被弹
    /// </summary>
    private void Next()
    {
        GameManager._instance.birds.Remove(this);//移除列表中此时小鸟元素
        Destroy(this.gameObject);//摧毁这个小鸟
        Instantiate(boom, this.transform.position, Quaternion.identity);//产生特效
        GameManager._instance.NextBird();//下一只小鸟出现
    }

    /// <summary>
    ///【Author:xzy;Time:2021-12-29】【12 - 添加小鸟飞出的拖尾效果:添加】
    /// Function: 碰撞检测
    /// </summary>
    private void OnCollisionEnter2D(Collision2D collision)
    {
        myTrail.ClearTrail();//清除拖尾【12 - 添加小鸟飞出的拖尾效果:添加】
    }
}

1.解决bug:完成

1.将鸟和猪作为预制件

鸟改名字为redBird

1.制作暂停按钮

改名字+添加按钮组件

?

1.制作暂停UI界面

然后修改名字,新建一个Image作为gb,弄成半透明

1.制作:暂停UI出现的动画

  1. 注意:在动画制作时候直接可以选择哪个对象进行处理

?

1.制作:回到游戏的动画

?

?1.按钮图标添加按钮组件

?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:26:28  更:2022-01-03 16:26:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/25 2:34:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码