Liczby dziesiętne wymagają f
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 3 z 85.
Liczby całkowite nie wystarczą w grze: balon unosi się na wysokości 3.5, a gracz biegnie z prędkością 4.2 jednostki na sekundę. Liczby z częścią dziesiętną mają własny typ — float:
float speed = 4.2f;Zwróć uwagę na f na końcu. W C# zwykłe 4.2 jest typu double, czyli innego typu liczby dziesiętnej, a pozycje i rozmiary w Unity są typu float. f informuje C#, że liczba jest typu float. Jeśli je pominiesz, Unity odmówi uruchomienia gry i wyświetli taki błąd w konsoli:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this typeWygląda groźnie, ale oznacza tylko „dodaj f”. Liczba całkowita, taka jak 2, nie wymaga f: sama mieści się w typie float.
Jeszcze jedna niespodzianka: dzielenie dwóch wartości typu int zachowuje tylko część całkowitą, więc 7 / 2 daje 3. Zapisz 7 / 2f, aby otrzymać 3.5.
Wyzwanie
ŁatwyNapraw skrypt balonu, a następnie spraw, by unosił się wyżej i był większy.
- Naciśnij „Graj”: w konsoli pojawi się błąd CS0664 przy wierszu
height. - Zmień ten wiersz na
float height = 3.5f;. - Zmień wiersz z rozmiarem na
float size = 1.5f;. Każda liczba z przecinkiem dziesiętnym wymagaf.
Naciśnij „Graj”: balon unosi się na wysokość 3.5, mając półtora raza większy rozmiar. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
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);
}
}
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Podstawy C# w Unity
Witaj, UnityZmienneLiczby dziesiętne wymagają fTekst w konsoliZmienne, które pamiętająIf i elsePorównywanie liczbPowtórka: Zbieracz monet4Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski z nazwamiPrzyciski myszyPowtórka: naładowany skok7Pętle i metody
Powtarzaj za pomocą forPętle wewnątrz pętliNapisz metodęMetody, które zwracają wynikTablicePowtórka: schody10Wyszukiwanie obiektów
Wyszukiwanie po nazwieTagiWyszukiwanie po typieReferencje lepsze niż wyszukiwanieNull w UnityPowtórka: najbliższa moneta13Projekt: Unikaj bloków
BiegaczBloki z nieba2Wpraw to w ruch
Umieść sześcianPoruszaj w każdej klatceObracaj co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian5Wektory
Dodawanie wektorówKierunkiPrzestrzeń lokalna i globalnaPrędkość po przekątnejOdległość między obiektamiVector3 to strukturaPodsumowanie: pilot drona8Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePowtórka: włącznik światłaPoćwicz samodzielnie: Edytor online Unity