当前位置: 首页 > 编程日记 > 正文

Unity 2D物体移动

一,设置

二,脚本

1,PlayerController 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour {private Rigidbody2D m_rg;public float MoveSpeed;public float JumpSpeed;//在角色下添加一个空物体//设置一个跳跃监测点public Transform CheckPoint;//设置一个跳跃监测半径public float CheckRadius;//设置一个跳跃监测层---角色与地面的检测public LayerMask WhatIsGround;//角色默认是否着地--truepublic bool isGround;private Animator Anim;//存储复活点的位置信息public Vector2 RespawnPosition;public LevelManager theLevel;void Start () {m_rg = gameObject.GetComponent<Rigidbody2D>();Anim = gameObject.GetComponent<Animator>();//游戏刚开始时,玩家的重生点,就是当前的初始位置点RespawnPosition = transform.position;theLevel = FindObjectOfType<LevelManager>();}// Update is called once per framevoid Update () {//
        isGround = Physics2D.OverlapCircle(CheckPoint.position, CheckRadius, WhatIsGround);//m_rg.gameObject.transform.rotation= Quaternion.identity;//------------------Input.GetAxisRaw没有小数值,只有整数,不会产生缓动------------------//角色水平移动//按住D键,判断如果大于0,则向右开始移动if (Input.GetAxisRaw("Horizontal") > 0){m_rg.velocity = new Vector2(MoveSpeed, m_rg.velocity.y);//设置自身缩放的值transform.localScale = new Vector2(1f,1f);}//角色水平移动//按住A键,判断如果小于0,则向左开始移动else if (Input.GetAxisRaw("Horizontal") < 0){m_rg.velocity = new Vector2(-MoveSpeed, m_rg.velocity.y);//如果new Vector2(-1f, 1f)  x值为负数,则图片进行反转显示transform.localScale = new Vector2(-1f, 1f);}else//角色水平移动//松开按键,判断如果等于0,则停止移动
        {m_rg.velocity = new Vector2(0, m_rg.velocity.y);}//角色按下空格键实现跳跃//禁止二连跳//要先判断角色是否在地面上,在地面上可以跳,不在地面上则不能跳if (Input.GetButtonDown("Jump")&& isGround){m_rg.velocity = new Vector2(m_rg.velocity.x,JumpSpeed);}Anim.SetFloat("Speed", m_rg.velocity.x);Anim.SetBool("Grouned", isGround);}private void OnTriggerEnter2D(Collider2D collision){if (collision.tag=="KillPlane"){//gameObject.SetActive(false);//使当前玩家的位置点为,保存的复活点位置//transform.position = RespawnPosition;
theLevel.Respawn();}//角色与当前的复活点进行碰撞检测//把当前角色的位置信息,设置为重生的复活点if (collision.tag == "CheckPoint"){RespawnPosition = collision.transform.position;}}/// <summary>/// 实现角色跟随移动平台一起运动/// 把角色的父物体设置为移动平台/// </summary>/// <param name="collision"></param>private void OnCollisionEnter2D(Collision2D collision){Debug.Log("碰撞到的那个吊毛叫什么名字:"+ collision.gameObject.name);if (collision.gameObject.tag == "MovePlatForm"){transform.parent = collision.transform;Debug.Log("碰撞到的那个吊毛的父物体什么名字:" + transform.parent);}}private void OnCollisionExit2D(Collision2D collision){if (collision.gameObject.tag == "MovePlatForm"){transform.parent = null;}}
}

 2,MovePlatFromController 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;/// <summary>
/// 平台移动脚本
/// </summary>
public class MovePlatFromController : MonoBehaviour {//要移动的物体public GameObject PlatForm;//要移动物体开始的点public Transform StartPoint;//要移动物体结束的点public Transform EndPoint;//要移动物体的移动速度public float MoveSpeed;//要移动到的目标点public Vector2 target;void Start () {target = EndPoint.position;}// Update is called once per framevoid Update () {//把物体移动到指定的位置点上PlatForm.transform.position = Vector2.MoveTowards(PlatForm.transform.position, target, MoveSpeed*Time.deltaTime);//实现物体来回移动if (PlatForm.transform.position == EndPoint.position){target = StartPoint.position;}if (PlatForm.transform.position == StartPoint.position){target = EndPoint.position;}}
}

转载于:https://www.cnblogs.com/yueqingli/p/10125555.html

相关文章:

朱敏:40岁创业如何成就绝代明星?(五)

来源 中国企业家 东方元素是网讯内涵里不可忽视的一部分 如果有机会拜访网讯的美国总部&#xff0c;你会发现这是 一家带着醒目美国特色IT公司&#xff0c;很难说出它与其他 硅谷公司的不同。但在你视野所不能及的地方&#xff0c;朱敏 与苏布拉在驾驭它的方式中输入…

print、printf、println在Java中的使用

print、printf、println在Java中的使用 文章目录print、printf、println在Java中的使用一、println在JAVA中常常使用System.out.pirntf()&#xff1b;的输出格式。二、print在JAVA中常常使用System.out.pirnt();的输出格式。三、printf在JAVA中常常使用System.out.printf();的格…

(转) SpringBoot非官方教程 | 第二篇:Spring Boot配置文件详解

springboot采纳了建立生产就绪spring应用程序的观点。 Spring Boot优先于配置的惯例&#xff0c;旨在让您尽快启动和运行。在一般情况下&#xff0c;我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下&#xff0c;我们需要做修改一些配置&#xff0c;或者…

iexpress全力打造“免检”***

IExpress小档案出身:Microsoft功能:专用于制作各种 CAB 压缩与自解压缩包的工具。由于是Windows自带的程序&#xff0c;所以制作出来的安装包具有很好的兼容性。它可以帮助***传播者制造不被杀毒软件查杀的自解压包&#xff0c;而且一般情况下还可伪装成某个系统软件的补丁(如I…

java 稀疏数组和二维数组转换,并保存稀疏数组到文件后可以读取

稀疏数组和二维数组转换 稀疏数组&#xff1a;当一个数组中大部分元素为0&#xff0c;或者为同一个值的数组时&#xff0c;可以使用稀疏数组来保存该数组 稀疏数组的处理方法&#xff1a; 记录数组一共有多少行&#xff0c;有多少个不同的值把具有不同值得元素的行列及值记录在…

springboot redis配置

1、引入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2、redis连接配置 spring:redis:host: 10.220.1.41port: 6379timeout: 10000passwor…

C# 根据节点索引访问XML配置文件

查了一些&#xff0c;都是根据XML属性来访问指定节点&#xff0c;我这想根据节点索引来访问XML 首先上XML样式 1 <?xml version"1.0" encoding"utf-8" ?> 2 <FeatureClasses> 3 <FeatureClass name "t_room"></Feat…

ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

有时候希望在 GridView 模板中使用自动回发的 CheckBox &#xff08;autopostbacktrue) &#xff0c;但是 CheckBox 没有 CommandName 属性&#xff0c;因此也就无法在 GridView.RowCommand 事件中处理&#xff0c;并且如何获取当前 GridView 行信息呢&#xff1f;我们可以选择…

BI.寒号鸟请吃烧烤/意外入手“speed- dear friends vol.1”/入手“鲍家街43号”/我爱红红/我爱红红...

先说&#xff0c;昨天下午&#xff0c;在逛完西北政法的乐图后&#xff0c;辗转到了高新区&#xff0c;见到了在经典论坛认识的热情的热心的热烈的寒号鸟兄弟&#xff0c;而notus本人则感动的热泪盈眶&#xff0c;想不到在遥远的西安&#xff0c;都有人惦记着我 T_T附上我们的合…

数据结构----单链表增删改查

单链表的增删改查 一、链表&#xff08;Linked List&#xff09; 链表是有序列表&#xff0c;以节点的方式来存储的&#xff0c;链式存储&#xff1b;每个节点包含data域&#xff0c;next域&#xff1a;指向下一节点&#xff1b;链表的各个节点不一定是连续存储&#xff1b;链…

Using NUnit with Visual Studio 2005 Express Editions

允许通过Build Toolbar选择"Debug" or "Relese"设置"工具" -> "选项..." -> 选择"显示所有设置" -> "项目和解决方案" ->选择"显示高级生成配置" 在VS2k5 Express工程中使用NUnit-GUI测试&…

代理上网环境下配置TortoiseCVS

以NASA Wind World为例&#xff0c;SF上的提示如下&#xff1a; http://sourceforge.net/cvs/?group_id69528 Anonymous CVS Access This projects SourceForge.net CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set.…

ucos-iii串口用信号量及环形队列中断发送,用内建消息队列中断接收

串口发送部分代码&#xff1a; //通过信号量的方法发送数据 void usart1SendData(CPU_INT08U ch) {OS_ERR err;CPU_INT08U isTheFirstCh;OSSemPend(&Usart1Sem, 0, OS_OPT_PEND_BLOCKING, NULL, &err);//阻塞型等待串口发送资源OSSemPend(&Usart1TxBufSem, 0, OS_O…

几款自用的IDEA高效插件

idea几款自用的高效小插件1、CodeGlance2、Translation3、Rainbow Brackets4、Statistic5、Markdown Navigator6、MarkDown Navigator1、CodeGlance CodeGlance是一款非常好用的代码地图插件&#xff0c;可以在代码编辑区的右侧生成一个竖向可拖动的代码缩略区&#xff0c;可以…

CSS中position属性( absolute | relative | static | fixed )详解

我们先来看看CSS3 Api中对position属性的相关定义&#xff1a; static&#xff1a;无特殊定位&#xff0c;对象遵循正常文档流。top&#xff0c;right&#xff0c;bottom&#xff0c;left等属性不会被应用。 relative&#xff1a;对象遵循正常文档流&#xff0c;但将依据top&am…

ASP.NET 2.0 ajax中gridView的刷新问题!

我是一个经常使用ASP.NET2.0的开发人员,最近看了ajax课程,也想使用一下Ajax这个强大的技术,我就使用了,在一个UpdatePanel中放入了一个gridView,果然能达我的满意效果,设置了gridView中的分页,相应的代码我都已经写好了.唯一的问题是当我点击了第二页的时候,我再点击刷新,当前页…

心灵小栈: 镌刻在地下500米的母爱

这位母亲叫赵平饺&#xff0c;今年48岁。谁能想到&#xff0c;在不见天日的煤井深处&#xff0c;她已经弓着脊梁爬行了13 年。1993年&#xff0c;赵平姣的丈夫陈达初在井下作业时被矿车压断了右手的三根手指。此后他只能在井上干轻活&#xff0c;收入少了一大截。为了供女儿陈娟…

js学习总结----crm客户管理系统之项目开发流程和api接口文档

CRM ->客户管理系统 CMS ->内容发布管理系统 ERP ->企业战略信息管理系统 OA -> 企业办公管理系统 产品 / UI设计&#xff1a;需求分析&#xff0c;产品定位&#xff0c;市场调查...按照产品的规划设计出对应的效果图(PSD->photoshop) 前端开发工程师 API接口文…

数据结构--数组队列的实现

数据结构--数组模拟队列1. 说明2. 实现代码1. 数组队列类2.数组队列测试类3.代码运行结果3.完整代码1. 说明 队列是一个有序列表&#xff0c;可以用数组或者链表来实现。 遵循先入先出&#xff08;FIFO&#xff09;的原则&#xff0c;即先存入列的数据&#xff0c;会被先取出&…

DIV+CSS一行两列布局

实现效果&#xff1a; main 我是包在外面的div col1 我是第一列col2 我是第二列clear-float;我用来清除浮动&#xff08;清除float&#xff09;以下是说明&#xff1a;CSS代码&#xff1a;.main{width:800px;/* 总的宽度 */ background:red; } .main .col1{ float:left;/* 这个…

编程上标和下标使用方法

1.问题&#xff1a;写代码要求显示平方、立方、化学符号等等完全写不出来&#xff0c;Word写出来复制出来也不管用 2.办法&#xff1a;Unicode下标和上标 3.举例&#xff1a;string.Format("{0} km\xB2"&#xff0c;1000&#xff09;&#xff0c;单位是平方千米&…

上周新闻回顾:微软补丁个个紧急 奥运网络百花齐放

也许是美国不是黄金周的原因&#xff0c;五一刚过&#xff0c;直接来自国外的新产品发布等IT新闻就源源不断涌来&#xff0c;倒是国内的新闻发布不是非常多。不过&#xff0c;微软的5月安全补丁如期发布&#xff0c;还是值得大家关注的。此外&#xff0c;关于2008年奥运会网络建…

rest-framework之解析器

rest-framework之解析器 本文目录 一 解析器的作用二 全局使用解析器三 局部使用解析器四 源码分析回到目录一 解析器的作用 根据请求头 content-type 选择对应的解析器对请求体内容进行处理。 有application/json&#xff0c;x-www-form-urlencoded&#xff0c;form-data等格式…

httpd常用配置

author&#xff1a;JevonWei版权声明&#xff1a;原创作品 检查配置文件时&#xff0c;如下提示&#xff0c;则因为没有server的服务名称导致&#xff0c;故设置网站的服务server名称&#xff0c;若没有设置web服务名&#xff0c;主默认解析系统主机名(添加主机名解析) [rootda…

[导入]C#中实现Socket端口复用

一、什么是端口复用&#xff1a;   因为在winsock的实现中&#xff0c;对于服务器的绑定是可以多重绑定的&#xff0c;在确定多重绑定使用谁的时候&#xff0c;根据一条原则是谁的指定最明确则将包递交给谁&#xff0c;而且没有权限之分。这种多重绑定便称之为端口复用。 二、…

数据结构学习系列文章合集

数据结构学习系列文章目录前言1.稀疏数组和队列稀疏数组和二位数组的转换数组队列的实现环形队列的介绍与实现2.链表单链表的增、删、改、查总结前言 学习数据结构记录&#xff0c;作为自己的笔记&#xff0c;同时也可以方便大家一起交流和学习 1.稀疏数组和队列 稀疏数组和二…

支付宝Payto接口的c#.net实现

它现在这种支付方式比较多象网银在线等使用的方法都是url验证&#xff0c;就是通过url参数和一个这些url参数的md5编码来确认这个连接的正确性&#xff0c;支付宝在你购买成功后跳转自定义连接的时候会传2次过来&#xff0c;第一次是数据底层请求&#xff0c;第二次是web请求&a…

【Visual Studio 扩展工具】如何在ComponentOneFlexGrid树中显示RadioButton

概述 在ComponentOne Enterprise .NET控件集中&#xff0c;FlexGrid表格控件是用户使用频率最高的控件之一。它是一个功能强大的数据管理工具&#xff0c;轻盈且灵动&#xff0c;以分层的形式展示数据&#xff08;数据呈现更加直观&#xff09;。 FlexGrid 简介 FlexGrid 是业界…

如何 SQL Server 2005 实例之间传输登录和密码

INTRODUCTION 本文介绍如何不同服务器上的 Microsoft SQL Server 2005 实例之间传输登录和密码。 本文, 服务器 A 和服务器 B 是不同的服务器。 此外, 服务器 A 和 B 服务器都运行 SQL Server 2005。 将数据库从服务器 A 上的 SQLServer 实例移到 B, 服务器上的 SQLServer 实例…

IDEA配置GitHub报错GitHub Invalid authentication data.404 Not Found-Not Found

登录账户GitHub Invalid authentication data.404 Not Found-Not Found报错及解决办法1 登录自己的github账号--》头像---》settting2 Developer settings3 Personal access tokens4 回到IDEA中&#xff0c;粘贴上自己的token就可以了想要把自己的代码上传到GitHub中&#xff0…