@iamderlencer

Не корректно работает перемещение между двумя телепортами. Как можно это исправить/реализовать?

Хотел реализовать механику перемещения между двумя лифтами в своей игре.
62fa81cb49225131451602.jpeg
Как показано на скриншоте персонаж перемещается от 1 лифта ко 2.

Есть одна проблема чтобы переместиться между двумя лифтами нужна несколько раз нажимать клавишу E. Я хочу сделать чтобы все работало с первого раза. Как можно это исправить либо сделать по другому чтобы все работало с 1 нажатия?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ElivatorUP : MonoBehaviour {

    public GameObject elivator2;
    public GameObject Player;
    public GameObject Image;
    public bool teleportt = false;
    
    private void OnTriggerEnter2D(Collider2D other) {
        if(other.tag == "Player"){
            teleportt = !teleportt;
        }
    }

    private void OnTriggerStay2D(Collider2D other) {
            if(other.tag == "Player"){
                Image.SetActive(true);
            }
        }

    private void OnTriggerExit2D(Collider2D other) {
        if(other.tag == "Player"){
            Image.SetActive(false);
            teleportt = !teleportt;
        }
    }   
    
    void Telep(){
        Player.transform.position = new Vector3(elivator2.transform.position.x, elivator2.transform.position.y);
    }

    private void FixedUpdate() {
        if(teleportt == true){
            if(Player.tag == "Player"){
                if(Input.GetKeyDown(KeyCode.E)){
                Telep();
        }
    }
    }
}
}
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Открой документацию и почитай, что Input думает про FixedUpdate
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы