Ten post dotyczy tworzenia wiosła Arkanoid lub Breakout, którego rozmiar można zmienić.
Tworzenie rakiety Arkanoid / Breakout
Utwórz pusty GameObject w oknie hierarchii za pomocą "Utwórz pusty", który nazywasz DynamicPaddle.
W oknie projektu utwórz skrypt C#, który nazwiesz wiosłem.
Dodaj go do dynamicznego wiosła. Otwórz okno w edytorze skryptów. Domyślnie jest to program Visual Studio.
Celem jest następujący skrypt:
wiosło klasy publicznej: MonoBehaviour stwierdza, że każdy ma do niego dostęp.
{<–Oświadczenie zaczyna się
float <- Wskazuje liczby
minSizes i maxSize <- określają minimalną i maksymalną wielkość klubu
resizeSpeed <- prędkość, z jaką kij zmienia swój rozmiar
positionY <- pozycja wiosła
SpriteRenderer <–Sprawia, że widzisz wiosło. The Renderer sprite dodajesz przez Unity w AddComponent. Duszek jest powiązanym duszkiem.
public -> ważne dla Unity - kamera -> typ danych -> nazwa zmiennej przez którą kamera jest dostępna
myCamera -> oznacza dowolną wybraną kamerę
void Start() -> Subroutine, który jest wywoływany, gdy tworzony jest obiekt, który tworzy skrypt - Rozpoczyna się Subroutine
void Update() -> podprogram jest wywoływany w każdej ramce
Cursor.visible = false <- kursor staje się niewidoczny
sprite = GetComponent (); <- Program pobiera SpriteRenderer z okna Inspektora w Unity lub z obiektu w celu wyświetlenia Sprite, więc używany jest składnik obiektu
sprite.size = nowy Vector2 (7.5f, sprite.size.y);
sprite.size <- rozmiar sprite
nowy Vector2 (7.5f, sprite.size.y); <- nowy wektor, który składa się z wartości x i y - wartość x jest wielkością początkową, a wielkość y jest zachowana
pozycjaY = -myCamera.ortographicSize + (sprite.size.y * 0.5f);
positionY = pozycja łopatki na osi Y
-myCamera.orthographicSize <- Odniesienie do kamery i rozmiaru kamery
Ponieważ początek naszej gry znajduje się w centrum kamery, przy obliczaniu pozycji Y musimy odjąć połowę rozmiaru kamery (teraz łopatka byłaby na dolnej krawędzi ekranu) i dodać do niej wysokość łopatki .
float sizeX = sprite.size.x; <- Rozmiar wiosła i rozmiar duszka są identyczne
sizeX + = Input.GetAxisRaw ("Mouse ScrollWheel") * resizeSpeed; <–Rozmiar X jest zdefiniowany przez x = x + 1 i ma na niego wpływ rozmiar kółka myszy, który jest mnożony przez prędkość, z jaką łopatka zmienia rozmiar
sizeX = Mathf.Clamp (rozmiarX, minRozmiar, maxRozmiar);
Rozmiar X jest ustalony z rozmiarem X pomiędzy najmniejszą a największą wartością. Wartość nigdy nie może być mniejsza ani większa niż wartość minimalna i maksymalna.
sprite.size = nowy Vector2 (rozmiarX, sprite.rozmiar.y);
Rozmiar duszka jest zdefiniowany przez nowy Vector2, który składa się z wartości x i y duszka.
Wektor 3 mousePosition = myCamera.ScreenToWorldPoint (Input.mousePosition);
Wektor 3 to pozycja myszy. Odpowiada to pozycji kamery i jej skierowaniu na świat gry. Kamera opiera się na pozycji myszy. Za pomocą ScreenToWorldPoint wektor jest przekształcany z pozycji na ekranie (pozycja na ekranie) do pozycji w świecie (pozycja w świecie gry).
transform.position = newVector3 (pozycja myszy.x, pozycjaY);
Zmiana pozycji wiosła odpowiada Vector3, który składa się z pozycji myszy x i Y.
Potrzebujesz również odpowiedniego duszka, do którego dołączasz skrypt. Wtedy na ekranie pojawi się wiosło.
Pierwotnie opublikowane 2019-11-23 21:45:00.