Unity单向平台

编程入门 行业动态 更新时间:2024-10-25 01:28:56

Unity单向<a href=https://www.elefans.com/category/jswz/34/1769748.html style=平台"/>

Unity单向平台

 网格设置

在Grid里右击>2D Object>Tilemap创建新网格并取名OneWayPlatform

 

 创建新图层取名OneWayPlatform并将OneWayPlatform的图层选上

 为OneWayPlatform添加一下四个组件

Platform Effector 2D组件中的Collider Mask的多选项中选择可以穿过单向平台的图层

 Tile设置

设置单向平台Tile的碰撞盒子点击Sprite Editor

进入Sprite Editor

1.选择为Custom Physics Shape模式

2.点击单向平台的图片

3.开启Generate模式

 随后修改单向平台的碰撞范围

点击线条增加操作点(不知道怎么叫)

点击操作点然后按Del键可删除

根据实际情况设置吧

 

 完成后点击Apply应用

 每次修改完碰撞范围就要重选一下Tilemap Collider 2D才会应用新的碰撞范围

 

代码部分

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{public Transform groundCheck;//检测位置public float checkRadius;//检测范围大小public LayerMask oneWayPlatformLayerMask;//检测对象public bool isOneWayPlatform;//是否在单向平台上void Update(){//判断是否不在跳跃动画或者在下落动画中if(!anim.GetCurrentAnimatorStateInfo(0).IsName("player_jump") ||         anim.GetCurrentAnimatorStateInfo(0).IsName("player_fall"))isOneWayPlatform = OnOneWayPlatform();//获取当前角色是否在单向平台上}//是否在单向平台上bool OnOneWayPlatform(){Collider2D Coll = Physics2D.OverlapCircle(groundCheck.position, checkRadius, oneWayPlatformLayerMask);if (Coll != null)return true;elsereturn false;}
}

在Player(控制的人物)添加一个子对象在脚下用来检测单向平台

设置代码

 

 全部完成后,就可以跳上单向平台了

 

更多推荐

Unity单向平台

本文发布于:2024-02-12 19:47:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689173.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:平台   Unity

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!