unity学习———2D人物的移动
unity学习———2D人物的移动
代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class zyplayercontrol : MonoBehaviour
{ //获取玩家本体public GameObject Player;//设置移动public float movespeed=2.0f; //真实速度public float MoveSpeed = 0f;public float vertical = 0f;public float horizontal = 0f;public float hor;public float ver;//玩家状态public bool IsMove = false;//玩家是否在移动//物体的刚体private Rigidbody2D rig;void Start(){//获取rigidbody组件rig = Player.GetComponent<Rigidbody2D>();//获取物体的ActualState}// Update is called once per frameprivate void FixedUpdate(){Move();//移动}//玩家的移动private void Move(){//按键接受水平horizontal = Input.GetAxisRaw("Horizontal");hor = horizontal * MoveSpeed;//按键接受竖直vertical = Input.GetAxisRaw("Vertical");ver = vertical * MoveSpeed;//当按键按下的时候改变速度使其运动if (Input.GetKey(KeyCode.D)|| Input.GetKey(KeyCode.A)){MoveSpeed = movespeed;rig.velocity = new Vector2(hor, rig.velocity.y);}//上下运动if (Input.GetKey(KeyCode.W)||Input.GetKey(KeyCode.S)){MoveSpeed = movespeed;rig.velocity = new Vector2(rig.velocity.x,ver );}//当没有按下的时候复原递减 //其实这里可以直接把MoveSpeed改为0,这里想起速度递减的作用但是没有起到if (MoveSpeed != 0)MoveSpeed -= 0.5f;if (horizontal == 0)rig.velocity = new Vector2(hor, rig.velocity.y);if (vertical == 0)rig.velocity = new Vector2(rig.velocity.x,ver);}
}
这段代码的结果是当WASD或上下左右的时候人物会动,当同时按下两个相邻的方向的时候他会向这两个方向的中间方向移动,当同时按下相对的两个方向的时候他就会停止不动,这算是个bug但是达到了我想要的结果。
因为我现在做的是俯视版的没有跳跃系统,也没有重力系统。如果想加跳跃的话就把上下移动删掉添,加一个方法当按下空格的时候给物体一个想上的力就行了,但是前提是要在物体的刚体上添加重力。
if (Input.GetKey(KeyCode.Backspace)){//JumpSpeed是跳跃时给的想上的力类型为floatrig.velocity = new Vector2(rig.velocity.x, JumpSpeed);}
初学unity,所写不当还请指出。
unity学习———2D人物的移动相关推荐
- Unity 中 2D 人物多段跳的简单实现
说说我这套跳跃的逻辑吧: 设置两个变量,一个是最大跳跃次数,一个是剩余跳跃次数. 首先设置最基本的允许跳跃条件--是否触地,即判断玩家是否在地面上,然后才能允许玩家跳跃. 当触地时重置剩余跳跃次数(把 ...
- Unity学习日记--2D 精灵移动跳跃
这是第一次写博客,这个空间主要用来记录学习Unity的过程 本次日记内容研究2D人物移动跳跃 使人物移动跳跃有两种方法,第一使用Unity默认按键属性进行控制: 做法如下: 启动软件后先创建一个地面层 ...
- Unity 创建2D平台游戏开发学习教程
了解如何使用C#在Unity中创建您的第一款2D平台游戏 你会学到什么 使用Unity创建2D奥运会 使用可脚本化的对象和单一模式 使用良好的编程实践 创造武器和射弹 使用可脚本化的对象和委托模式创建 ...
- Unity学习笔记1 简易2D横版RPG游戏制作(一)
这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...
- 基于Unity的2D小游戏 SpeedDown 开发笔记(学习bilibili@[M_Studio]的教学视频
基于Unity的2D小游戏 SpeedDown 开发笔记(学习bilibili@M_Studio的教学视频) 主要内容:在Sunnyland游戏的设计基础上,新增了物理组件Joint系列.DrawGi ...
- [Unity学习笔记]2D游戏中的触碰/OnMouseDown
[Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到
- Unity教程2:保姆级教程.几行代码实现输入控制2D人物的移动
目录 人物的创建以及刚体的设置 图层渲染层级设置 角色碰撞箱设置 使用代码控制人物移动 创建脚本文件 初始函数解释 控制移动代码 初始化变量 获得键盘输入 调用函数 手册链接在这:Unity User ...
- Unity学习笔记(8) Unity残影效果整理,3D、2D、通用方案
Unity做残影效果是个不难的工作. 但是一些细节会对使用方法产生限制,这里整理一下各种情况下推荐的残影效果实现方案 1.3D网格 (高性能) 2.2D人物 (非骨骼动画) (高性能) 3.其它场景 ...
- unity 2d人物二段跳,多段跳 简单易懂
unity 2d人物二段跳,多段跳 简单易懂 开门见山,代码见英雄 开门见山,代码见英雄 续前面一篇2d游戏人物跳跃移动unity 2d游戏跳跃移动 手把手教你 isGround = Physics2 ...
最新文章
- AStyle - SourceInsight
- 64岁Python之父退休失败,正式加入微软搞开源
- 设置树莓派开机自动运行代码
- 数据双向绑定_手把手教你用JavaScript如何实现数据双向绑定
- win10分屏快捷键无法使用_你知道哪些关于win10的快捷操作
- 【Python基础】Python 打基础一定要吃透这 5 个内置函数
- 玩吧高速增长的数据上云实践
- Mysql多表查询笔记
- win7右键点击文件夹进入命令窗口方法
- 云计算与 Cloud Native | 数人云CEO王璞@KVM分享实录
- CollabNet SubversionEdge-1.3.0安装配置及管理(转载)
- 什么叫0day和warez
- AMD 2020届IC校招笔试题
- 隐私保护联邦学习之差分隐私原理
- 泛微OA二次开发E8之UE富文本编辑器增加按钮操作
- 大数据中数据挖掘技术的挑战
- 电商平台OnBuy选品技巧分享一二
- CentOS7安装教程
- mysql索引优化有几种_mysql索引优化
- Unity3D 卡通科幻概念小汽车 Project Car Raider