Страница 1 из 1

Смена камеры на ПКМ

СообщениеДобавлено: 05 авг 2018, 12:42
Gidly
Добрый день, вопрос таков, имеется скрипт на смену камеры, но он работает только если использовать GetMouseButton, а мне нужно GetMouseButtonUp или GetMouseButtonDown, но при попытке это использовать у меня все дергается- то есть камера меняется и сразу же переключается обратно. Как это исправить? Я думал насчет boolean переменной, но скрипт написан по видеоуроку и я немного его подкорректировал, а то раньше при смене камеры они обе снимали, но сейчас не об этом, а с JavaScript я не дружу. Вот он:
Синтаксис:
Используется javascript
var camera1: Camera;
var camera2: Camera;

camera1.enabled = true;
camera2.enabled = false;

function Update() {
    if (Input.GetMouseButton(1)) {
        if (camera2.enabled == false)
            camera2.enabled = true;
            camera1.enabled = false;
    }
    else {
        camera2.enabled = false;
        camera1.enabled = true;
    }
}

Re: Смена камеры на ПКМ

СообщениеДобавлено: 05 авг 2018, 13:48
waruiyume
Синтаксис:
Используется csharp
if (Input.GetMouseButtonDown(1)) {
        camera2.enabled == !camera2.enabled;
        camera1.enabled = !camera2.enabled;
}

Re: Смена камеры на ПКМ

СообщениеДобавлено: 05 авг 2018, 13:53
1max1
У тебя там очепятка "==".

Re: Смена камеры на ПКМ

СообщениеДобавлено: 05 авг 2018, 21:54
Gidly
waruiyume писал(а):
Синтаксис:
Используется csharp
if (Input.GetMouseButtonDown(1)) {
        camera2.enabled == !camera2.enabled;
        camera1.enabled = !camera2.enabled;
}

Спасибо, получилось! Вот так написал:
Синтаксис:
Используется javascript
var camera1: Camera;
var camera2: Camera;

camera1.enabled = true;
camera2.enabled = false;

function Update() {
    if (Input.GetMouseButtonDown(1)) {
        if (camera2.enabled == false) {
            camera2.enabled = !camera2.enabled;
            camera1.enabled = !camera2.enabled;
        }
        else {
            camera2.enabled = false;
            camera1.enabled = true;
        }
    }
}

Re: Смена камеры на ПКМ

СообщениеДобавлено: 06 авг 2018, 06:43
Rando_OM
Проверки не нужны, просто вставляете это заместо всего вашего кода
Синтаксис:
Используется csharp
if (Input.GetMouseButtonDown(1)) {
        camera2.enabled == !camera2.enabled;
        camera1.enabled = !camera2.enabled;
}

Re: Смена камеры на ПКМ

СообщениеДобавлено: 09 авг 2018, 04:55
Shock
А вообще ваша ошибка в том, что вы не используете скобки. Никогда так не делайте. Ваш код равносилен такому:

Синтаксис:
Используется csharp
function Update() {
    if (Input.GetMouseButton(1)) {
        if (camera2.enabled == false) {
            camera2.enabled = true;
        }
        camera1.enabled = false;
    } else {
        camera2.enabled = false;
        camera1.enabled = true;
    }
}


Попортился и внутренний if и блок else