如何解决当我在平台统一下蹲下时,角色会掉入地下
当我蹲伏在地面下时,我蹲下后会夹在地面上。我遵循了Brackeys 2d运动教程,这是我的运动c#脚本。字符控制器是此github链接https://github.com/Brackeys/2D-Character-Controller的副本。我唯一更改的是添加的一行代码来修复动画
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public CharacterController2D controller;
public Animator animator;
public float runSpeed = 40f;
float horizontalMove = 0f;
bool jump = false;
bool crouch = false;
// Update is called once per frame
void Update () {
horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;
animator.SetFloat("Speed",Mathf.Abs(horizontalMove));
if (Input.GetButtonDown("Jump"))
{
jump = true;
animator.SetBool("IsJumping",true);
}
if (Input.GetButtonDown("Crouch"))
{
crouch = true;
} else if (Input.GetButtonUp("Crouch"))
{
crouch = false;
}
}
public void OnLanding ()
{
animator.SetBool("IsJumping",false);
}
public void OnCrouching (bool IsCrouching){
animator.SetBool("IsCrouching",IsCrouching);
}
void FixedUpdate ()
{
// Move our character
controller.Move(horizontalMove * Time.fixedDeltaTime,crouch,jump);
jump = false;
}
}
这是我的问题的图片 https://i.imgur.com/TiAIpJC.png
解决方法
通常,在处理跳跃时,您会着地。请检查您是否触地,以便能够跳跃。您的动画布尔效果达到了类似的结果。 您可以进行最高限额的检查,以实现相同的目标。在玩家头部的顶部放置一个触发对撞机,使用标签检查它是否与墙一起触发。
import axios from "axios";
import { bus } from "../app";
import {getInventories} from './inventory';
export default {
mounted() {
let temp = getInventories();
debugger;
},}
可以将其与带有天花板检查对撞机的游戏对象相连。
getInventories
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。