搭建场景

绿色长方形为地表,红色圆形为玩家

地表挂载碰撞组件

玩家挂载钢体组件和碰撞组件

将Collision Detection设置为Continuous,Constraints勾选Freeze Rotation Z;

在Player上创建名为MoveandJump的C#脚本

代码实现

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MoveandJump : MonoBehaviour
{private Rigidbody2D rb;private Collider2D coli;public float speed, jumpForce;//移动速度,跳跃高度public Transform groundCheck;//地面检测,判断Player是否落地public LayerMask ground;//与那一次层级进行检测public bool isGround;//是否在地面的状态,true则在地面,false这在空中bool jumpPreesed;//将Update中的玩家输入和在FixedUpdate的跳跃方法连接起来int jumpCount;//跳跃次数void Start(){rb = GetComponent<Rigidbody2D>();coli = GetComponent<Collider2D>();}void Update(){if (Input.GetButtonDown("Jump") && jumpCount > 0){jumpPreesed = true;}}void FixedUpdate(){    //以groundCheck的位置为圆心,半径为0.1的圆进行检测,判断ground Layer是否在圆内isGround = Physics2D.OverlapCircle(groundCheck.position, 0.1f, ground);GroundMovement();Jump();}//移动void GroundMovement(){float horizontalMove = Input.GetAxisRaw("Horizontal");rb.velocity = new Vector2(horizontalMove * speed, rb.velocity.y);}//跳跃void Jump(){//落回地面恢复跳跃次数if (isGround){jumpCount = 2;}//第一次跳跃if (jumpPreesed && isGround){rb.velocity = new Vector2(rb.velocity.x, jumpForce);jumpCount--;//跳跃次数-1jumpPreesed = false;//跳跃代码已执行完毕}//连跳else if (jumpPreesed && jumpCount >0 && !isGround){rb.velocity = new Vector2(rb.velocity.x, jumpForce);jumpCount--;jumpPreesed = false;}}
}

Unity 2D横版移动跳跃相关推荐

  1. Unity 2D横版通关 小游戏——幻城探险 C#

    Unity 2D横版通关 小游戏 C#  分辨率 1920*1980 点击这里下载项目工程 本项目,为个人练习demo,美术资源原创自合作美工. 本项目涉及到的功能: 1.UI:开始游戏按钮,游戏帮助 ...

  2. unity中实现经典的2d横版单向跳跃平台

    经常玩2d横版游戏的朋友们相信一定对这种单向跳跃平台很熟悉:我希望我的角色可以通过跳跃跳上平台,然后在平台之上按下键盘的下键后从平台上落下. 那么想要实现这样的效果具体要怎么做呢?我们还是先将想要实现 ...

  3. [Unity]2D横版游戏像素化

    根据参考资料1,可以把2D高清的图片 像素化,成像素游戏 工程下载地址参考资料2 参考资料: 1.[游戏开发]在 Unity 中打造纯像素画面的2D像素游戏 2.PixelCamera2D 3.

  4. Unity学习笔记3 简易2D横版RPG游戏制作(三)

    这一篇本来应该是在上一篇后面直接补进去的.不过因为排版的问题.所以我就另开一篇来整理了,好了,废话不多说,马上整理: 十八.关卡的锁定与解锁 前面我们已经解决了在游戏开始时可以选择关卡的问题,接下来我 ...

  5. 用Unity开发一款2D横版游戏demo

    # LanW Game Project 目录 (一) 介绍 (二) 安装教程 (三) 开发流程 1.  新建工程 2.  设置人物 3.  控制主角的移动 4.   添加切换动作的动画 5.   镜头 ...

  6. 基于unity的2D横版游戏开发日志 小结

    前言 说是基于unity的2D横版游戏,实际上只是一个初学unity与C#新人的练手Demo,目前还处于半成状态.美术资源方面全部出自unity免费资源,经过自己的小修,大致拼出了一个游戏.代码方面, ...

  7. Unity 4 3 制作一个2D横版射击游戏 2

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在上一篇 ...

  8. Unity 4.3 制作一个2D横版射击游戏(2)

    在上一篇<Unity 4.3 制作一个2D横版射击游戏>时,已经完成一个基本的射击游戏了.在这一篇将继续完善. 1.视差卷轴效果 为了达到这种视差卷轴的效果,可以让背景层以不同的速度进行移 ...

  9. 2D横版游戏Demo试做流程(Unity3D+Visual Studio C#)

    2D横版游戏Demo试做流程(Unity3D+Visual Studio C#) 目录 UI界面设置 游戏规则制定 Player角色(玩家可控制角色相关)(创建playerC#文件) 怪物类(各种怪物 ...

最新文章

  1. python画图-Python 绘图,我只用 Matplotlib(二)
  2. 【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
  3. IT项目管理不能犯的错误
  4. webstorm 激活方法
  5. 飞哥:程序员完全没时间提升自己该怎么办?
  6. 21个深度学习调参的实用技巧
  7. php strstr 与 str_replace区别,[PHP]strstr(),substr(),str_replace(),parse_str()
  8. 搭建php docker环境日记
  9. 程序员必备技能-科学砍需求 1
  10. oracle-审计3
  11. 设计模式——状态模式
  12. python绘制基因结构图_使用TBtools绘制进化树+motif分析+基因结构~三图合一
  13. 电脑输入法不见了怎么解决
  14. cyusb3014 设备插入 westbridge未识别问题220514
  15. 微信语音保存到本地服务器,文件格式由amr转mp3
  16. oracle ora 604,ORA-01092:ORACLE实例终止,强制断开连接 ORA 00704 00604 00942
  17. 7人团队敏捷管理手册
  18. 第5篇-分析北京租房的房源信息
  19. jquery prop 是什么意思,它的使用方法是什么样的?
  20. YOLOv3论文全文完整理解翻译

热门文章

  1. SCOI2012 Blinker的仰慕者 BZOJ 2757
  2. java jsp面积怎么算,JSP 课后作业:编写 Tag 文件计算矩形、圆形面积
  3. 第七周求圆柱体表面积
  4. 调用dll中的服务 提取不到数据_双枪团伙新动向,借云服务管理数十万僵尸网络...
  5. 安卓获取屏幕最大(绝对)分辨率
  6. OC语言 实现十进制字符串转二进制
  7. 团队开发之:代码规范说明
  8. java生成图片二维码
  9. Oracle - UTL_FILE包之详解
  10. rj45 千兆接口定义_网线的RJ45接口的针脚定义