Для дробных чисел нужна f
Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 3 из 85.
Для игры целых чисел недостаточно: воздушный шар парит на высоте 3.5, игрок бежит со скоростью 4.2 единицы в секунду. Числа с десятичной точкой имеют собственный тип — float:
float speed = 4.2f;Обрати внимание на f в конце. В C# обычное 4.2 имеет тип double — это ещё один десятичный тип, а координаты и размеры в Unity имеют тип float. Буква f сообщает C#, что число имеет тип float. Если её пропустить, Unity откажется запускать игру и выведет эту ошибку в Console:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this typeОшибка выглядит пугающе, но означает только: «добавь f». Для целого числа, например 2, буква f не нужна: оно и так помещается во float.
Ещё один сюрприз: при делении двух значений типа int сохраняется только целая часть, поэтому 7 / 2 — это 3. Напиши 7 / 2f, чтобы получить 3.5.
Задание
ЛегкоИсправь скрипт воздушного шара, затем сделай его выше и больше.
- Нажми «Играть»: в консоли отображается ошибка CS0664 в строке с
height. - Измени эту строку на
float height = 3.5f;. - Измени строку с размером на
float size = 1.5f;. После каждого числа с десятичной точкой нужнаf.
Нажми «Играть»: воздушный шар поднимается на высоту 3.5, увеличившись в полтора раза. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
public class Balloon : MonoBehaviour
{
void Start()
{
float height = 2.5;
float size = 1;
transform.position = new Vector3(0, height, 0);
transform.localScale = new Vector3(size, size, size);
}
}
Все уроки раздела Основы скриптинга в Unity
1Основы C# в Unity
Привет, UnityПеременныеДля дробных чисел нужна fТекст в консолиПеременные, которые запоминаютЕсли и иначеСравнение чиселПовторение: сборщик монет7Циклы и методы
Повторение с forЦиклы внутри цикловНапишите методМетоды, которые возвращают значениеМассивыПовторение: лестница10Поиск объектов
Поиск по имениТегиПоиск по типуСсылки лучше поискаNull в UnityПовторение: ближайшая монета13Проект: уворачиваемся от блоков
БегунБлоки с неба2Заставь двигаться
Размести кубДвигай каждый кадрПоворачивай каждую секундуУправляй клавишамиПовторение: веди куб5Векторы
Сложение векторовНаправленияЛокальное и мировое пространствоСкорость по диагоналиРасстояние между объектамиVector3 — это структураПовторение: пилот дрона8Игровые объекты и компоненты
Ссылки в InspectorПолучение компонентаОтсутствующие компонентыДобавление компонентаRequireComponentПоказ и скрытиеПовторение: выключатель светаПотренируйтесь самостоятельно: Песочница Unity