Unity2D_单向平台

类似空洞骑士 马里奥等各种2D游戏,其中都存在单向平台。

单向平台:角色可以从下穿过平台停在平台上,也可以从平台上按下或往下跳穿过平台

这里用Unity实现角色能跳上平台,也能按’下’穿过平台

  1. 平台需要使用Rigidbody2D Collider2D Platform Effector 2D组件
  2. Collider2D中的Used By Effector属性需要为true
  3. Platform Effector 2D中的Use One Way需要为true

脚本编辑:

private PlatformEffector2D platformEffector2D;
//判断平台是否需要翻转
private bool ifRotate;
//平台翻转时长
private float waitTime = 0.5f;

// Start is called before the first frame update
void Start()
{
    platformEffector2D = GetComponent<PlatformEffector2D>();
    ifRotate = false;
}

// Update is called once per frame
void Update()
{
    //检测到 下 按键后,实现翻转
    if(Input.GetKeyDown(KeyCode.DownArrow)) {
        platformEffector2D.rotationalOffset = 180;
        ifRotate = true;
    }
    if(ifRotate)
    {
        if(waitTime > 0)
        {
            waitTime -= Time.deltaTime;
        }
        else
        {
            //时间到后平台翻转回
            waitTime = 0.5f;
            ifRotate = false;
            platformEffector2D.rotationalOffset = 0;
        }
    }
}

单项平台的实现是通过Platform Effector 2D检测碰撞角度实现,初始状态下rotationalOffset为0,则只检测平台上方的碰撞,因此角色能从平台下方穿过停在平台上方。翻转则是检测按键后使rotationalOffset为180,过一段时间后翻转回

相关推荐

  1. Unity2D_单向平台

    2024-02-02 20:52:01       33 阅读
  2. Unity2D_角色移动&跳跃

    2024-02-02 20:52:01       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-02 20:52:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-02 20:52:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-02 20:52:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-02 20:52:01       18 阅读

热门阅读

  1. Redis的big key问题介绍以及监控手段

    2024-02-02 20:52:01       24 阅读
  2. 每日学习-2月1日

    2024-02-02 20:52:01       25 阅读
  3. 1. 两数之和

    2024-02-02 20:52:01       22 阅读
  4. 今日分享个三级联动

    2024-02-02 20:52:01       31 阅读
  5. HTTP请求传递参数方式【2024-02-01】

    2024-02-02 20:52:01       29 阅读
  6. git pull的时候报错

    2024-02-02 20:52:01       29 阅读