当前位置: 首页 > news >正文

【2023unity游戏制作-mango的冒险】-3.基础动作和动画API实现


在这里插入图片描述


👨‍💻个人主页:@元宇宙-秩沅

hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

本文由 秩沅 原创

收录于专栏:unity游戏制作


⭐mango的基础动作动画的添加⭐


文章目录

    • ⭐mango的基础动作动画的添加⭐
    • 👨‍💻前言
    • 👨‍💻场景搭建
    • 🎶音频添加
    • 🎶mango的移动和动画
      • 😁实现效果:
      • 😁实现步骤:
    • 🎶mango的跳跃和动画
      • 😁实现效果:
      • **💕重点细节**:
      • 😁实现步骤:
    • 🎶整体代码2
    • ⭐相关文章⭐


👨‍💻前言


🎶版本: 为 Ltp 2021年版本的unity
🎶类型: 简单2D类冒险游戏
🎶目的: 熟悉掌握基本unityAPI
🎶视频教程:【2023小白狂飙unity2D冒险类游戏制作【mango的冒险】】


👨‍💻场景搭建


在这里插入图片描述

  • 需要注意的重点
  1. 渲染层级的关系

🎶音频添加


音频资源直接去unity的商店里下载免费的资源即可

  • 添加下图圈出的组件名
    在这里插入图片描述

🎶mango的移动和动画


😁实现效果:

在这里插入图片描述

😁实现步骤:

  • 1.确定–移动的实现是通过刚体力的牵引
    mango添加RigidBody2D组件
  • 2.添加地形碰撞器
    在这里插入图片描述
    在这里插入图片描述
  • 3. 通过刚体组件实现物体的移动,我们只需要将刚体速度的大小和方向进行赋值即可

细节:勾选Freeze Rotation Z
作用:不会倾倒
在这里插入图片描述

  //通过刚体组件实现物体的移动,我们只需要将刚体速度的大小和方向进行赋值即可//mangoMovex 和 mangoMoveY 都是vector2 类型的变量mangoMovex = Vector2.right * x * SpeedVauel;       //x轴的速度mangoMovey = new Vector2(0, Rmango.velocity.y);    //y轴的速度//速度向量的合成,有大小并且有方向的Rmango.velocity = mangoMovex + mangoMovey;
// 效果: 可以进行移动,但是方向不变,定向的,
  • 4.添加移动的动画
 MGanimator.SetFloat("Run", Mathf.Abs(Rmango .velocity .x));
  • 5.实现转向和移动动画相契合
转向的三种方法注释
Rotation180度旋转
Scale正负的切换
Flip勾选
  if (x > 0){transform.rotation = new Quaternion(0, 0, 0, 0);}else if (x < 0){transform.rotation = new Quaternion(0, 180, 0, 0);}

🎶mango的跳跃和动画


😁实现效果:

在这里插入图片描述


💕重点细节

  • 动画之间切换不流畅(空中播放奔跑的动画)
  • 跳不起来,跳太高,重复跳
  • 逻辑不顺畅导致的错误
  • 动画播放的快慢的控制

😁实现步骤:

  • 1.给动画机添加跳跃动画Jump
  • 2.当按下空格的时候,实现跳跃的动作
  • 3.在跳跃时不播放奔跑动画也不播放静止动画
  • 4.向上拉的力能否将物体拉动,并且下降是否连贯
    (做牵引力运动要考虑力和质量还有重力的关系)

动画的逻辑:
奔跑动画在跳跃状态时才切换到跳跃动画
禁止状态在跳跃状态时也切换到跳跃动画


🎶整体代码2


using System.Collections;
using System.Collections.Generic;
using UnityEditor.Rendering;
using UnityEngine;//-----------------------
//--作用:mango的移动
//-----------------------
public class mangoMove : MonoBehaviour
{// Start is called before the first frame updateprivate float x;private float y;private Rigidbody2D Rmango;private Vector2 mangoMovex,mangoMovey;private float SpeedVauel = 5;public  float JumpSpeed = 1000;private  Animator MGanimator;private bool isGrounp;void Start(){Rmango = GetComponent<Rigidbody2D>();MGanimator = GetComponent<Animator>();}private void Update(){x = Input.GetAxis("Horizontal"); // 按AD键获取类型为Float的数值作为系数范围为【-1,1】//当按下A的时候 x是负数 ,按下D的时候x是正数if (x > 0){transform.rotation = new Quaternion(0, 0, 0, 0);}else if (x < 0){transform.rotation = new Quaternion(0, 180, 0, 0);}//当按下空格键和 符合 在地面的条件时if ( Input.GetButtonDown ("Jump") && isGrounp ) {    Rmango.AddForce(Vector2.up * JumpSpeed );MGanimator.SetBool("Jump", true);}else if( isGrounp == true ){MGanimator.SetBool("Jump", false );}}void FixedUpdate(){Move();}private void Move(){//通过刚体组件实现物体的移动,我们只需要将刚体速度的大小和方向进行赋值即可//mangoMovex 和 mangoMoveY 都是vector2 类型的变量mangoMovex = Vector2.right * x * SpeedVauel;       //x轴的速度mangoMovey = new Vector2(0, Rmango.velocity.y);    //y轴的速度//速度向量的合成,有大小并且有方向的Rmango.velocity = mangoMovex + mangoMovey;if (isGrounp == true  ) //是否在地面上{MGanimator.SetFloat("Run", Mathf.Abs(Rmango .velocity .x));}else{MGanimator.SetFloat("Run", 0);}}//碰撞器方法private void OnCollisionEnter2D(Collision2D collision){isGrounp =collision . gameObject.CompareTag("grounp");Debug.Log("  " + isGrounp);}private void OnCollisionExit2D(Collision2D collision) //也可以说是跳跃状态的时候{isGrounp = false;Debug.Log("  " + isGrounp);}
}

🎶🎶我们继续后面的制作。


⭐相关文章⭐

⭐【2023unity游戏制作-mango的冒险】-2.开始画面API制作

⭐【unity游戏制作-mango的冒险】-1.场景搭建

⭐“狂飙”游戏制作—游戏分类图鉴(网易游学)

⭐本站最全-unity常用API大全(万字详解),不信你不收藏



你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!

相关文章:

【2023unity游戏制作-mango的冒险】-3.基础动作和动画API实现

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity游戏制作 ⭐mango的基础动作动画的添加⭐ 文章目录⭐mango的基础动作动画的添加⭐&#x1f…...

跨域的几种解决方案?

1-jsonp 【前端后端实现】jsonp: 利用 <script> 标签没有跨域限制的漏洞&#xff0c;网页可以得到从其他来源动态产生的 JSON 数据。JSONP请求一定需要对方的服务器做支持才可以。JSONP优点是简单兼容性好&#xff0c;可用于解决主流浏览器的跨域数据访问的问题。缺点是仅…...

2022年山东省职业院校技能大赛网络搭建与应用赛项正式赛题

2022年山东省职业院校技能大赛 网络搭建与应用赛项 第二部分 网络搭建与安全部署&服务器配置及应用 竞赛说明&#xff1a; 一、竞赛内容分布 竞赛共分二个模块&#xff0c;其中&#xff1a; 第一模块&#xff1a;网络搭建及安全部署项目 第二模块&#xff1a;服务…...

【JUC并发编程】ArrayBlockingQueue和LinkedBlockingQueue源码2分钟看完

文章目录1、BlockingQueue1&#xff09;接口方法2&#xff09;阻塞队列分类2、ArrayBlockingQueue1&#xff09;构造函数2&#xff09;put()入队3&#xff09;take()出队3、LinkedBlockingQueue1&#xff09;构造函数2&#xff09;put()入队3&#xff09;take()出队1、Blocking…...

GitHub个人资料自述与管理主题设置

目录 关于您的个人资料自述文件 先决条件 添加个人资料自述文件 删除个人资料自述文件 管理主题设置 补充&#xff1a;建立一个空白文件夹 关于您的个人资料自述文件 可以通过创建个人资料 README&#xff0c;在 GitHub.com 上与社区分享有关你自己的信息。 GitHub 在个…...

Express篇-连接mysql

创建数据库配置文件config/sqlconfig.jsconst sqlconfig {host: localhost, // 连接地址user: root, //用户名password: ****, //密码port: 3306 , //端口号database: mysql01_dbbooks //数据库名 } module.exports sqlconfig封装数据库管理工具 utils/mysqlUtils.…...

win10 安装rabbitMQ详细步骤

win10 安装rabbitMQ详细步骤 win10 安装rabbitMQ详细步骤win10 安装rabbitMQ详细步骤一、下载安装程序二、安装配置erlang三、安装rabbitMQ四、验证初始可以通过用户名&#xff1a;guest 密码guest来登录。报错&#xff1a;安装RabbitMQ出现Plugin configuration unchanged.问题…...

【成为架构师课程系列】一线架构师:6个经典困惑及其解法

目录 一线架构师:6个经典困惑及其解法 多阶段还是多视图&#xff1f; 内置最佳实践 架构方法论:3个阶段&#xff0c;一个贯穿 Pre-architecture阶段&#xff1a;ADMEMS矩阵方法 Conceptual Architecture阶段&#xff1a;重大需求塑造做概念架构 Refined Architecture…...

光耦合器的定义与概述

光耦合器或光电耦合器是一种电子元件&#xff0c;基本上充当具有不同电压电平的两个独立电路之间的接口。光耦合器是可在输入和输出源之间提供电气隔离的常用元件。它是一个 6 引脚器件&#xff0c;可以有任意数量的光电探测器。 在这里&#xff0c;光源发出的光束作为输入和输…...

谷粒商城--品牌管理详情

目录 1.简单上传测试 2.Aliyun Spring Boot OSS 3.模块mall-third-service 4.前端 5.数据校验 6.JSR303数据校验 7.分组校验功能 8.自定义校验功能 9.完善代码 1.简单上传测试 OSS是对象存储服务&#xff0c;有什么用呢&#xff1f;把图片存储到云服务器上能让所有人…...

stack、queue和priority_queue

目录 一、栈&#xff08;stack&#xff09; 1.stack的使用 2.容器适配器 3.stack的模拟实现 二、队列&#xff08;queue&#xff09; 1.queue的使用 2.queue的模拟实现 三、双端队列&#xff08;deque&#xff09; 1.vector&#xff0c;list的优缺点 2.认识deque 四…...

面试题(二十二)消息队列与搜索引擎

2. 消息队列 2.1 MQ有什么用&#xff1f; 参考答案 消息队列有很多使用场景&#xff0c;比较常见的有3个&#xff1a;解耦、异步、削峰。 解耦&#xff1a;传统的软件开发模式&#xff0c;各个模块之间相互调用&#xff0c;数据共享&#xff0c;每个模块都要时刻关注其他模…...

Spring Security in Action 第三章 SpringSecurity管理用户

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;以实战为线索&#xff0c;逐步深入SpringSecurity相关知识相关知识&#xff0c;打造完整的SpringSecurity学习步骤&#xff0c;提升工程化编码能力和思维能力&#xff0c;写出高质量代码。希望大家都能够从中有所收获&#…...

Java面试——maven篇

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

基于微信小程序的游戏账号交易小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…...

Matlab绘制隐函数总结-二维和三维

1.二维隐函数 二维隐函数满足f(x,y)0f(x,y)0f(x,y)0&#xff0c;这里无法得到yf(x)yf(x)yf(x)的形式。不能通过普通函数绘制。 我们要关注的是使用fplot函数和fimplicit函数。 第1种情况&#xff1a;基本隐函数 基本的隐函数形式形如&#xff1a; x2y22x2(x2y2)12x^{2}y^{…...

如何直观地理解傅立叶变换?频域和时域的理解

如何直观地理解傅立叶变换 傅里叶变换连续形式的傅立叶变换如何直观地理解傅立叶变换?一、傅里叶级数1.1傅里叶级数的三角形式1.2 傅里叶级数的复指数形式二、傅里叶变换2.1一维连续傅里叶变换三、频谱和功率谱3.1频谱的获得3.2频谱图的特征3.3频谱图的组成频域(frequency do…...

STC15读取内部ID示例程序

STC15读取内部ID示例程序&#x1f389;本案例基于STC15F2K60S2为验证对象。 &#x1f4d1;STC15 ID序列介绍 STC15系列STC最新一代STC15系列单片机出厂时都具有全球唯一身份证号码(ID号)。最新STC15系列单片机的程序存储器的最后7个字节单元的值是全球唯一ID号&#xff0c;用…...

Xml格式化与高亮显示

具体请参考&#xff1a;Xml格式化与高亮显示...

【GlobalMapper精品教程】045:空间分析工具(2)——相交

GlobalMapper提供的空间分析(操作)的方法有:交集、并集、单并集、差异、对称差集、相交、重叠、接触、包含、等于、内部、分离等,本文主要讲述相交工具的使用。 文章目录 一、实验数据二、符号化设置三、相交运算四、结果展示五、心灵感悟一、实验数据 加载配套实验数据(…...

4年外包终上岸,我只能说这类公司能不去就不去..

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是4年。现在终于跳槽到了互联网公司了&#xff0c;我想说的是&#xff0c;但凡有点机会&#xff0c;千万…...

sklearn降维算法1 - 降维思想与PCA实现

目录1、概述1.1 维度概念2、PCA与SVD2.1 降维实现2.2 重要参数n_components2.2.1 案例&#xff1a;高维数据的可视化2.2.2 最大似然估计自选超参数2.2.3 按信息量占比选超参数1、概述 1.1 维度概念 shape返回的结果&#xff0c;几维几个方括号嵌套 特征矩阵特指二维的 一般来…...

「期末复习」线性代数

第一章 行列式 行列式是一个数&#xff0c;是一个结果三阶行列式的计算&#xff1a;主对角线的乘积全排列与对换逆序数为奇就为奇排列&#xff0c;逆序数为偶就为偶排列对换&#xff1a;定理一&#xff1a;一个排列的任意两个元素对换&#xff0c;排列改变奇偶性&#xff08;和…...

伏并网低电压穿越技术

国内光伏并网低电压穿越要求 略&#xff1a; 低电压穿越方法 当前&#xff0c;光伏电站实现低电压穿越可通过两种方式&#xff0c;即增加硬件设备或者改变控制策略。本节对基于储能设备、基于无功补偿设备、基于无功电流电压支撑控制策略三种实现LVRT的典型方法进行介绍。 …...

opencv的环境搭建

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

C++智能指针

c11的三个智能指针 unique_ptr独占指针&#xff0c;用的最多 shared_ptr记数指针&#xff0c;其次 weak_ptr&#xff0c;shared_ptr的补充&#xff0c;很少用 引用他们要加上头文件#include unique_ptr独占指针&#xff1a; 1.只能有一个智能指针管理内存 2.当指针超出作用域…...

MongoDB--》MongoDB数据库以及可视化工具的安装与使用—保姆级教程

目录 数据库简介 MongoDB数据库的安装 MongoDB数据库的启动 MongoDB数据库环境变量的配置 MongoDB图形化管理工具 数据库简介 在使用MongoDB数据库之前&#xff0c;我们应该要知道我们使用它的原因&#xff1a; 在数据库当中&#xff0c;有常见的三高需求&#xff1a; Hi…...

JAVA 基础题

1. 面向对象有哪些特征&#xff1f;答&#xff1a;继承、封装、多态2. JDK与JRE的区别是什么&#xff1f;答&#xff1a;JDK是java开发时所需环境&#xff0c;它包含了Java开发时需要用到的API&#xff0c;JRE是Java的运行时环境&#xff0c;JDK包含了JRE&#xff0c;他们是包含…...

Flutter desktop端多屏幕展示问题处理

目前越来越多的人用Flutter来做桌面程序的开发&#xff0c;很多应用场景在Flutter开发端还不是很成熟&#xff0c;有些场景目前还没有很好的插件来支持&#xff0c;所以落地Flutter桌面版还是要慎重。 下面来说一下近期我遇到的一个问题&#xff0c;之前遇到一个需要双屏展示的…...

每天10个前端小知识 【Day 9】

&#x1f469; 个人主页&#xff1a;不爱吃糖的程序媛 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、CSDN内容合伙人&#xff0c;专注于前端各领域技术&#xff0c;成长的路上共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨系列专栏&#xff1a;前端…...

盐城网站开发厂商/公司网页网站建设

Datawhale干货 作者&#xff1a;[美]霍布森莱恩&#xff0c;科尔霍华德在学习神经网络之前&#xff0c;我们需要对神经网络底层先做一个基本的了解。我们将在本节介绍感知机、反向传播算法以及多种梯度下降法以给大家一个全面的认识。一、感知机数字感知机的本质是从数据集中…...

做公司网站的费用/农产品网络营销推广方案

向量叉乘&#xff1a; 二维向量的叉乘 &#xff08; x1 , y1 &#xff09; * ( x2 , y2 ) x1y2 - y1x2 如果值大于0 , 则表明 ( x2 , y2 ) 在 &#xff08; x1 , y1 &#xff09;左边&#xff0c;反之在右边 &#xff0c;等于0则意味着两个向量共线。 根据上面的规则&…...

西安网站托管排名/aso具体优化

一、准备&#xff1a; 1.1、GOPATH目录下的bin文件夹添加系统path变量中。 添加后可直接在任意位置控制台中直接调用bin目录下的可执行程序。 1.2、准备好自己的程序ico图标文件&#xff0c;放在main.go同级目录。 下文中提到的&#xff1a;控制台运行命令&#xff0c;都是在…...

受欢迎的大连网站建设/实时军事热点

我们辛辛苦苦做一个网站不容易&#xff0c;一不留神还会被搜索引擎清0给k了&#xff0c;难道搜索引擎给清0了&#xff0c;我们就放弃吗&#xff0c;那样的话也太伤心了。下面我就来谈谈被搜索引擎k的几种类型及处理方式。一\ 大量的网站同一时间被k如果你的网站被k了&#xff0…...

番禺做网站设计/福建seo排名培训

利用mybatis generator反向生成数据库对应的model实体时&#xff0c;报如下错误&#xff1a;原因是&#xff1a; 配置文件 generatorConfig.xml 里面的context的子元素必须按照它给出的顺序。 我这里面报错是因为match 报错...

营销网站建设推广/建立一个国外的网站

title: I01 物理隔离条件下Windows与Linux服务器的文件传输脚本author: Adolph Leecategories: 进阶tags:paramiko打怪升级mathjax: false背景在工作环境中&#xff0c;为了网络与数据传输的安全性、保密性。服务器往往与办公室网络环境存在物理隔离条件&#xff0c;一般是通过…...