Не работает код

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

Не работает код

Сообщение EMOG_EUGEN 20 май 2023, 15:35

В данном коде (в функции NextMission) перемещение работает не правильно (объект перемещается на 0, 0, 0):
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;

public class MissionCursor : MonoBehaviour
{
public GameObject player;

private Vector3 rotateVector;
private Vector3 missionPosition;

public Text missionText;

private float rotateValue = 0.47f;

private int missionIndex = 0;
private void Start() {
rotateVector = new Vector3(0, 0, rotateValue);
}

private void Update() {
transform.Rotate(rotateVector);

if (missionIndex == 1) {
missionText.text = "Миссия: Прийти на сцену";
missionPosition = new Vector3(-56, 2, 780);
}
}

private void OnCollisionEnter(Collision collision) {
if (collision.gameObject == player) {
if (missionIndex == 0) {
Invoke("NextMission", 2f);
missionText.color = Color.green;
}

if (missionIndex == 1) {
Invoke("NextMission", 2f);
missionText.text = "Миссия: Прийти на сцену";
missionText.color = Color.green;
}
}
}

private void NextMission () {
missionIndex++;
missionText.color = Color.black;
transform.position = missionPosition;
}
}
EMOG_EUGEN
UNец
 
Сообщения: 2
Зарегистрирован: 20 май 2023, 15:26

Re: Не работает код

Сообщение 1max1 20 май 2023, 17:47

Вынеси обработку missionIndex из апдейта и засунь сразу в свой метод, какой смысл ему там крутится каждый кадр. Думаю у тебя смена позиции срабатывает раньше чем ты меняешь missionPosition.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 24