Unity 2D横版移动跳跃
搭建场景
绿色长方形为地表,红色圆形为玩家
地表挂载碰撞组件
玩家挂载钢体组件和碰撞组件
将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横版移动跳跃相关推荐
- Unity 2D横版通关 小游戏——幻城探险 C#
Unity 2D横版通关 小游戏 C# 分辨率 1920*1980 点击这里下载项目工程 本项目,为个人练习demo,美术资源原创自合作美工. 本项目涉及到的功能: 1.UI:开始游戏按钮,游戏帮助 ...
- unity中实现经典的2d横版单向跳跃平台
经常玩2d横版游戏的朋友们相信一定对这种单向跳跃平台很熟悉:我希望我的角色可以通过跳跃跳上平台,然后在平台之上按下键盘的下键后从平台上落下. 那么想要实现这样的效果具体要怎么做呢?我们还是先将想要实现 ...
- [Unity]2D横版游戏像素化
根据参考资料1,可以把2D高清的图片 像素化,成像素游戏 工程下载地址参考资料2 参考资料: 1.[游戏开发]在 Unity 中打造纯像素画面的2D像素游戏 2.PixelCamera2D 3.
- Unity学习笔记3 简易2D横版RPG游戏制作(三)
这一篇本来应该是在上一篇后面直接补进去的.不过因为排版的问题.所以我就另开一篇来整理了,好了,废话不多说,马上整理: 十八.关卡的锁定与解锁 前面我们已经解决了在游戏开始时可以选择关卡的问题,接下来我 ...
- 用Unity开发一款2D横版游戏demo
# LanW Game Project 目录 (一) 介绍 (二) 安装教程 (三) 开发流程 1. 新建工程 2. 设置人物 3. 控制主角的移动 4. 添加切换动作的动画 5. 镜头 ...
- 基于unity的2D横版游戏开发日志 小结
前言 说是基于unity的2D横版游戏,实际上只是一个初学unity与C#新人的练手Demo,目前还处于半成状态.美术资源方面全部出自unity免费资源,经过自己的小修,大致拼出了一个游戏.代码方面, ...
- Unity 4 3 制作一个2D横版射击游戏 2
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在上一篇 ...
- Unity 4.3 制作一个2D横版射击游戏(2)
在上一篇<Unity 4.3 制作一个2D横版射击游戏>时,已经完成一个基本的射击游戏了.在这一篇将继续完善. 1.视差卷轴效果 为了达到这种视差卷轴的效果,可以让背景层以不同的速度进行移 ...
- 2D横版游戏Demo试做流程(Unity3D+Visual Studio C#)
2D横版游戏Demo试做流程(Unity3D+Visual Studio C#) 目录 UI界面设置 游戏规则制定 Player角色(玩家可控制角色相关)(创建playerC#文件) 怪物类(各种怪物 ...
最新文章
- python画图-Python 绘图,我只用 Matplotlib(二)
- 【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
- IT项目管理不能犯的错误
- webstorm 激活方法
- 飞哥:程序员完全没时间提升自己该怎么办?
- 21个深度学习调参的实用技巧
- php strstr 与 str_replace区别,[PHP]strstr(),substr(),str_replace(),parse_str()
- 搭建php docker环境日记
- 程序员必备技能-科学砍需求 1
- oracle-审计3
- 设计模式——状态模式
- python绘制基因结构图_使用TBtools绘制进化树+motif分析+基因结构~三图合一
- 电脑输入法不见了怎么解决
- cyusb3014 设备插入 westbridge未识别问题220514
- 微信语音保存到本地服务器,文件格式由amr转mp3
- oracle ora 604,ORA-01092:ORACLE实例终止,强制断开连接 ORA 00704 00604 00942
- 7人团队敏捷管理手册
- 第5篇-分析北京租房的房源信息
- jquery prop 是什么意思,它的使用方法是什么样的?
- YOLOv3论文全文完整理解翻译