мой персонаж не лезет и просто падает в единство 2d - PullRequest
0 голосов
/ 12 января 2019

Я очень новичок в Unity и C # Я пытался заставить своего персонажа подниматься по лестнице в течение нескольких часов и пробовал более 20 различных сценариев, но ничего не получалось. Я помещаю сценарий на коллайдер вокруг лестницы (лестница является частью тайлов), я даже добавил дух позади плитки, на которых расположены лестницы и ставят коллайдер вокруг себя, но персонаж просто падает (я поставил коллайдер в качестве триггера) снова я новичок, я нашел этот код, который понравился многим, но, похоже, он не работал мне вот код лестницы:

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

public class Ladder : MonoBehaviour
{

    GameObject playerOBJ;
    bool canClimb = false;
    float speed = 1;

    void OnCollisionEnter(Collision coll)
    {
        if (coll.gameObject.tag == "Player")
        {
            canClimb = true;
            playerOBJ = coll.gameObject;
        }
    }

    void OnCollisionExit(Collision coll2)
    {
        if (coll2.gameObject.tag == "Player")
        {
            canClimb = false;
            playerOBJ = null;
        }
    }
    void Update()
    {
        if (canClimb)
        {
            if (Input.GetKey(KeyCode.W))
            {
                playerOBJ.transform.Translate(new Vector3(0, 1, 0) * Time.deltaTime * speed);
            }
            if (Input.GetKey(KeyCode.S))
            {
                playerOBJ.transform.Translate(new Vector3(0, -1, 0) * Time.deltaTime * speed);
            }
        }
    }
}'

1 Ответ

0 голосов
/ 12 января 2019

Вы должны отключить гравитацию на твердом теле вашего персонажа во время восхождения, иначе гравитация всегда будет подавлять вашего персонажа.

Вы можете получить доступ к своему персонажу, как это:

playerRB = playerOBJ.GetComponent<Rigidbody2D>();

Вы можете изменить гравитацию до 0:

playerRB.gravityScale = 0; и обратно на 1, когда вам нужно.

Например, отключайте гравитацию каждый раз, когда ваш персонаж попадает в коллайдер лестницы, и включайте гравитацию, когда вы нажимаете «A» или «D», чтобы ваш персонаж упал с лестницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...