学习目标:

游戏中经常出现各种可以移动的平台,如空洞骑士和死亡细胞里面的电梯。那我们也可以制作一个可以一直左右移动的平台。

先用SunnyLand的图片来实现一个简单的左右移动的平台

这个是SunnyLand的下载地址


学习内容:

先拖入一张图片两个空对象在图片中,如果我想左右移动的话保持y的坐标一致即可

然后我们创建一个脚本叫MovingPlatform。

内容如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MovingPlatform : MonoBehaviour
{
    public float moveSpeed;
    private float waitTime;
    public float totalTime;

    public Transform[] movePos;
    private Transform playerTransform;
    //i是1则右,是0则变成左
    private int i;

    void Start()
    {
        playerTransform = GameObject.FindGameObjectWithTag("Player").transform.parent;
        i = 1;
        waitTime = totalTime;
    }

    
    void Update()
    {
        transform.position = Vector2.MoveTowards(transform.position, movePos[i].position, moveSpeed * Time.deltaTime);
        //如果两点的距离小于等于0.1
        if (Vector2.Distance(transform.position, movePos[i].position) <= 0.1f)
        {
            //且等待时间小于0
            if (waitTime < 0)
            {
                if (i == 1)
                {
                    i = 0;
                }
                else
                {
                    i = 1;
                }

                waitTime = totalTime;
            }
            else
            {
                waitTime -= Time.deltaTime;
            }
        }
    }
    private void OnTriggerEnter2D(Collider2D other)
    {
        if(other.gameObject.CompareTag("Player") && other.GetType().ToString() == "UnityEngine.CapsuleCollider2D")
        {
            //将movingPlateform作为player的父对象
            other.gameObject.transform.parent = gameObject.transform;
        }
    }
    private void OnTriggerExit2D(Collider2D other)
    {
        if (other.gameObject.CompareTag("Player") && other.GetType().ToString() == "UnityEngine.CapsuleCollider2D")
        {
            //将movingPlateform作为player的父对象
            other.gameObject.transform.parent = playerTransform;
        }
    }
}

补充一点为什么要作为父对象,因为站上去的时候人物需要随着movingplatform进行移动,如果不是父对象的话人物是不能跟着平台移动。
别忘了给movingplatform加上左右坐标的位置

还要添加一个碰撞器,  要和人物产生碰撞

如果想要人物在平台上跳跃。需要在PlayerController的脚本上给个判断

void CheckOnGround()
    {
        isGround = circoll2D.IsTouchingLayers(ground) || circoll2D.IsTouchingLayers(movingPlatform);
    }


学习产出:

能跳跃并且跟着动,可以下我hierarchy面板的父对象关系。

【Unity2D】制作可以左右移动的平台相关推荐

  1. 积目服务器维护,搭建经济高效的制作网络服务器群试验平台

    经过前两年非线性制作网络的使用,我们对网络的安全和网管人员的能力培训作了很多尝试,最后通盘考虑,我们还是决定搭建一个试验平台,把复杂的测试工作先在试验平台中试验,通过后再上生产网络实践.搭建一个试验平 ...

  2. UE4从零开始制作数字孪生道路监测平台

    UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...

  3. 55节开源巨献,教你制作一个智能无线电应答平台

           <如何制作一个智能无线电应答平台>                                             作者:BG7EJL 项目背景 目前市面上基于U/V ...

  4. 用QT制作聆心云数据可视化平台

    因为博客园越来越不好用,所以就此转战csdn. 之所以要制作这个可视化平台呢,是因为了完成[数据可视化]课程的大作业,一篇综述和聆心云平台的数据展示. 好吧,现在先来看作业要求: 各位同学好,就本课程 ...

  5. 制作适用于ZYNQ(ARM平台)的Ubuntu系统

    目录 前言 一.主要流程 二.制作FSBL.U-Boot和内核 三.获得Ubuntu基本rootfs 3.1 利用debootstrap工具 3.2 从Ubuntu官网下载 四.挂载相关文件系统并ch ...

  6. 基于HTML+CSS+JavaScript制作学生网页——外卖服务平台10页带js 带购物车

    ⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业 | HTML期末大学生网页设计作业 HTML:结构 CSS:样式 ...

  7. Unity3D游戏制作(三)——移动平台上的角色阴影制作

    本系列文章由 Amazonzx 编写,欢迎转载,转载请注明出处. http://blog.csdn.net/amazonzx/article/details/7973740 本文将重点介绍两种目前在移 ...

  8. unity2D制作一个2D游戏场景Tilemap

    今天使用了一下2020版本的unity.做一个2D的游戏场景.由于公司软件一直停留在5.X时代,很多新版本功能并没有用到.这次用了新版本,感觉发现了新大陆了. 目的:做一个2D的游戏场景.使用的是20 ...

  9. 室内导航电子地图制作,室内地图可视化平台

    懒图科技基于多年的专业技术底蕴,为商场提供专业的电子地图应用服务,产品理念不仅为顾客提供喜闻乐见.便捷的地图应用形式,同时让地图作为窗口,有效展现.提升商场形象.通过先进的技术和细致的产品设计,从应用 ...

最新文章

  1. poj 3321 Apple Tree
  2. 听听阿里老哥对算法工程师技术学习路线的建议
  3. POJO和javabean的异同
  4. QT的QActionGroup类的使用
  5. 产业数字化升级进入深化期,腾讯智慧出行释放“数字底座”核心能力
  6. 基于 Kubernetes 实践弹性的 CI/CD 系统 1
  7. 【图像处理】彩色图像自适应对比度增强(OpenCV实现)
  8. Qt简介以及如何配置Qt使用VS2010进行开发
  9. zeromq不需要消息服务器,ZeroMQ发布订阅TCP丢弃消息订阅服务器失败
  10. j2se--Socket沟通
  11. Java 复制文件并改名
  12. WPS 使用宏 下载 VBA
  13. 铁路cj继电器_铁路信号继电器简介讲解
  14. 应用程序正常初始化失败 VS2005
  15. vscode搭建c++开发环境
  16. 不礼让行人怎么抓拍的_斑马线前不礼让行人抓拍处罚,到底怎么才算
  17. INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法
  18. 学好c语言对php的帮助,学好c语言可以干什么?
  19. 【机器学习】Goldstein-Armijo line-search
  20. 海店湾:酒店成七夕新宠,浪漫之旅周边游说走就走!

热门文章

  1. POCO C++库学习和分析 -- 序
  2. python 实现问卷星自动填写多份
  3. 数据结构——2-3树
  4. 计算机在当今社会的重要性
  5. Pycharm安装、使用的一些操作
  6. Jekyll 教程——博客功能(blog)
  7. python到底怎么读?
  8. CodeForces Round #554 Div.2
  9. 产品经理考什么证书?考这个准没错
  10. OCP-1Z0-051 补充题库 第35题 LONG类型