Как телепортировать игрока на другую сцену через триггер? - PullRequest
0 голосов
/ 09 октября 2019

Я использовал самый традиционный способ сделать это, но он не работает. Ответ не инициирован.

Я прикрепил коллайдер Hardbody2D (с массой 0,0001 без сопротивления или гравитации) к своему спрайту игрока, и коробочный коллайдер 2d с проверкой запуска.

Sidenote: Outdoor1 "- это название сцены, на которую я хочу телепортировать своего игрока.

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

public class TeleportToScene : MonoBehaviour
{
    [SerializeField] private string newScene;

    void OnTriggerStay2D(Collider2D other)
    {
        if (other.CompareTag ("Player"))
        {
                SceneManager.LoadScene("Outdoor1"); 

Я ожидаю, что она пройдет через коробочный коллайдер и изменит сцены, но ничего не происходит. Нетлибо сообщения об ошибках.

1 Ответ

1 голос
/ 10 октября 2019

, чтобы сделать OnTriggerStay2D, вам нужно иметь коллайдер 2D для запуска на объекте, который как скрипт TeleportToScene и Rigidbody2D

Таким образом, ваша сцена будет, 2 объекта:

1. Игрок с - Смещение - Collider2D (не триггер) - Тег «Игрок»

2. Телепортер с - TeleportToScene.cs - Коллайдер2D (триггер) - Rigidbody2D (кинематический)

Надеюсь, что помощь!

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