Что здесь не так?

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

Что здесь не так?

Сообщение Ванька Иванов 20 фев 2018, 00:31

Написал (c#) скриптик, чтобы персонаж мог садиться (не дописал ещё). Но [unity 3D] юнити упорно не хочет читать этот скрипт, т. к. я где-то в условии налажал. ЧТО ЗДЕСЬ НЕ ТАК:

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class SitDown : MonoBehaviour {

        public CharacterController Character;       //Мой CaracterController
        public KeyCode KeySit;                            //Кнопка, на которую должен садиться ГГ
        public float SitHeight;                             //Высота сидящего
        public float SpeedSit;                              //Скорость сажения (надо ли???)

        private float StartHeight;                       //Начальная высота

        void Start () {   //Здесь потом напишу

        }

        void Update () {
                if(Input.GetKey(KeyCode = KeySit));                          //Пишет, здесь ошибка
                {
                        Mathf.Lerp(StartHeight, SitHeight, SpeedSit);  //Здесь правильно?
                }
        }
}
 
Ванька Иванов
UNец
 
Сообщения: 22
Зарегистрирован: 10 фев 2017, 18:41

Re: Что здесь не так?

Сообщение samana 20 фев 2018, 00:35

Вместо = нужно ==
ps. = это присваивание, а == проверка на равенство

Mathf.Lerp(StartHeight, SitHeight, SpeedSit); //Здесь правильно?

Нет, здесь неправильно.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Что здесь не так?

Сообщение Ванька Иванов 20 фев 2018, 00:42

[quote="samana"]Вместо = нужно ==
ps. = это присваивание, а == проверка на равенство

Что-то без разницы ему, как я написал.

Ошибки:

Assets/al/Scripts/SitDown.cs(20,33): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected
Assets/al/Scripts/SitDown.cs(20,26): error CS1502: The best overloaded method match for `UnityEngine.Input.GetKey(string)' has some invalid arguments
Assets/al/Scripts/SitDown.cs(20,26): error CS1503: Argument `#1' cannot convert `object' expression to type `string'
Ванька Иванов
UNец
 
Сообщения: 22
Зарегистрирован: 10 фев 2017, 18:41

Re: Что здесь не так?

Сообщение samana 20 фев 2018, 00:49

У вас там вообще куча ошибок, как логических, так и синтаксических если честно.

Синтаксис:
Используется csharp
if(Input.GetKey(KeySit)) // знак ; здесь ставить не нужно
{

}
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Что здесь не так?

Сообщение TheSimplest 20 фев 2018, 01:05

У вас есть ошибки, как заметил предыдущий человек, и причём глупые... Изучите(повторите) C#, благо в интернете уроков хватает. Так же в последней строчке вы просто так написали "Mathf.Lerp" потому что он лишь возвращает значение между двумя переменными. Там как минимум надо дописать вектор и изменение позиции по этому вектору.
TheSimplest
UNец
 
Сообщения: 13
Зарегистрирован: 18 дек 2017, 04:01


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

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

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